The target-postgres loader sends data into Postgres after it was pulled from a source using an extractor
Available Variants
- datamill-co
- meltanolabs
- transferwise (default)
Getting Started
Prerequisites
If you haven't already, follow the initial steps of the Getting Started guide:
Installation and configuration
-
Add the target-postgres loader to your
project using
:meltano add
-
Configure the target-postgres
settings using
:meltano config
meltano add loader target-postgres --variant meltanolabs
meltano config target-postgres set --interactive
Next steps
Follow the remaining steps of the Getting Started guide:
If you run into any issues, learn how to get help.
Capabilities
The current capabilities for
target-postgres
may have been automatically set when originally added to the Hub. Please review the
capabilities when using this loader. If you find they are out of date, please
consider updating them by making a pull request to the YAML file that defines the
capabilities for this loader.
This plugin has the following capabilities:
- about
- schema-flattening
- stream-maps
You can
override these capabilities or specify additional ones
in your meltano.yml
by adding the capabilities
key.
Settings
The
target-postgres
settings that are known to Meltano are documented below. To quickly
find the setting you're looking for, click on any setting name from the list:
add_record_metadata
database
default_target_schema
dialect+driver
flattening_enabled
flattening_max_depth
hard_delete
host
password
port
sqlalchemy_url
stream_map_config
stream_maps
user
You can also list these settings using
with the meltano config
list
subcommand:
meltano config target-postgres list
You can
override these settings or specify additional ones
in your meltano.yml
by adding the settings
key.
Please consider adding any settings you have defined locally to this definition on MeltanoHub by making a pull request to the YAML file that defines the settings for this plugin.
Add Record Metadata (add_record_metadata)
-
Environment variable:
TARGET_POSTGRES_ADD_RECORD_METADATA
-
Default Value:
true
Note that this must be enabled for activate_version to work!This adds _sdc_extracted_at, _sdc_batched_at, and more to every table. See https://sdk.meltano.com/en/latest/implementation/record_metadata.html for more information.
Configure this setting directly using the following Meltano command:
meltano config target-postgres set add_record_metadata [value]
Database (database)
-
Environment variable:
TARGET_POSTGRES_DATABASE
Database name. Note if sqlalchemy_url is set this will be ignored.
Configure this setting directly using the following Meltano command:
meltano config target-postgres set database [value]
Default Target Schema (default_target_schema)
-
Environment variable:
TARGET_POSTGRES_DEFAULT_TARGET_SCHEMA
-
Default Value:
$MELTANO_EXTRACT__LOAD_SCHEMA
Postgres schema to send data to, example: tap-clickup
Configure this setting directly using the following Meltano command:
meltano config target-postgres set default_target_schema [value]
Dialect+Driver (dialect+driver)
-
Environment variable:
TARGET_POSTGRES_DIALECT+DRIVER
-
Default Value:
postgresql+psycopg2
Dialect+driver see https://docs.sqlalchemy.org/en/20/core/engines.html. Generally just leave this alone. Note if sqlalchemy_url is set this will be ignored.
Configure this setting directly using the following Meltano command:
meltano config target-postgres set dialect+driver [value]
Flattening Enabled (flattening_enabled)
-
Environment variable:
TARGET_POSTGRES_FLATTENING_ENABLED
'True' to enable schema flattening and automatically expand nested properties.
Configure this setting directly using the following Meltano command:
meltano config target-postgres set flattening_enabled [value]
Flattening Max Depth (flattening_max_depth)
-
Environment variable:
TARGET_POSTGRES_FLATTENING_MAX_DEPTH
The max depth to flatten schemas.
Configure this setting directly using the following Meltano command:
meltano config target-postgres set flattening_max_depth [value]
Hard Delete (hard_delete)
-
Environment variable:
TARGET_POSTGRES_HARD_DELETE
When activate version is sent from a tap this specefies if we should delete the records that don't match, or mark them with a date in the _sdc_deleted_at
column.
Configure this setting directly using the following Meltano command:
meltano config target-postgres set hard_delete [value]
Host (host)
-
Environment variable:
TARGET_POSTGRES_HOST
Hostname for postgres instance. Note if sqlalchemy_url is set this will be ignored.
Configure this setting directly using the following Meltano command:
meltano config target-postgres set host [value]
Password (password)
-
Environment variable:
TARGET_POSTGRES_PASSWORD
Password used to authenticate. Note if sqlalchemy_url is set this will be ignored.
Configure this setting directly using the following Meltano command:
meltano config target-postgres set password [value]
Port (port)
-
Environment variable:
TARGET_POSTGRES_PORT
-
Default Value:
5432
The port on which postgres is awaiting connection. Note if sqlalchemy_url is set this will be ignored.
Configure this setting directly using the following Meltano command:
meltano config target-postgres set port [value]
Sqlalchemy URL (sqlalchemy_url)
-
Environment variable:
TARGET_POSTGRES_SQLALCHEMY_URL
SQLAlchemy connection string. This will override using host, user, password, port, dialect. Note that you must esacpe password special characters properly see https://docs.sqlalchemy.org/en/20/core/engines.html#escaping-special-characters-such-as-signs-in-passwords
Configure this setting directly using the following Meltano command:
meltano config target-postgres set sqlalchemy_url [value]
Stream Map Config (stream_map_config)
-
Environment variable:
TARGET_POSTGRES_STREAM_MAP_CONFIG
User-defined config values to be used within map expressions.
Configure this setting directly using the following Meltano command:
meltano config target-postgres set stream_map_config [value]
Stream Maps (stream_maps)
-
Environment variable:
TARGET_POSTGRES_STREAM_MAPS
Config object for stream maps capability. For more information check out Stream Maps.
Configure this setting directly using the following Meltano command:
meltano config target-postgres set stream_maps [value]
User (user)
-
Environment variable:
TARGET_POSTGRES_USER
User name used to authenticate. Note if sqlalchemy_url is set this will be ignored.
Configure this setting directly using the following Meltano command:
meltano config target-postgres set user [value]
Something missing?
This page is generated from a YAML file that you can contribute changes to.
Edit it on GitHub!Looking for help?
#plugins-general
channel.