The tap-postgres Singer tap pulls data from PostgreSQL that can then be sent to a destination using a Singer target.

Alternative variants

Multiple variants of tap-postgres are available. This document describes the default transferwise variant, which is recommended for new users.

Alternative variants are:

Standalone usage

Install the package using pip:

pip install pipelinewise-tap-postgres

For additional instructions, refer to the README in the repository.

Usage with Meltano

Install Meltano, create your Meltano project, and add the tap to your project as an extractor:

meltano add extractor tap-postgres

For additional instructions, refer to the Meltano-specific documentation for tap-postgres.




  • Default: localhost

PostgreSQL host


  • Default: 5432

PostgreSQL port


PostgreSQL user


PostgreSQL password


PostgreSQL database name


  • Default: false

Using SSL via postgres sslmode='require' option. If the server does not accept SSL connections or the client certificate is not recognized the connection will fail. The tap requires a stringified version of the boolean values, i.e. “true” or “false” with quotes.


Scan only the specified comma-separated schemas to improve the performance of data extraction



  • Default: 43200

Stop running the tap after certain number of seconds


  • Default: 10800

Stop running the tap when no data received from wal after certain number of seconds


  • Default: true

Stop running the tap if the newly received lsn is after the max lsn that was detected when the tap started

Looking for help?

If you're having trouble getting tap-postgres to work by itself or with Meltano, look for an existing issue in its repository, file a new issue, or join the Meltano Slack community and ask for help in the #plugins-general channel.

Found an issue on this page?

This page is generated from a YAML file that you can contribute changes to! It is also validated against a JSON Schema used for taps and targets.

Edit this page on GitLab!