Heroku Postgres API Configuration
Request
POST https://api.fivetran.com/v1/connections
{ "group_id": "group_id", "service": "heroku_postgres", "trust_certificates": true, "trust_fingerprints": true, "run_setup_tests": true, "paused": false, "pause_after_trial": false, "sync_frequency": 1440, "data_delay_sensitivity": "NORMAL", "data_delay_threshold": 0, "daily_sync_time": "14:00", "schedule_type": "auto", "connect_card_config": { "redirect_uri": "https://your.site/path", "hide_setup_guide": true }, "proxy_agent_id": "proxy_agent_id", "private_link_id": "private_link_id", "networking_method": "Directly", "hybrid_deployment_agent_id": "hybrid_deployment_agent_id", "destination_configuration": { "virtual_warehouse": "virtual_warehouse" }, "destination_schema_names": "SOURCE_NAMING", "config": { "publication_name": "string", "connection_type": "Directly | PrivateLink | SshTunnel | ProxyAgent", "update_method": "XMIN | TELEPORT", "always_encrypted": true, "tunnel_user": "fivetran", "client_public_certificate": "string", "tunnel_port": 22, "auth_method": "PASSWORD", "database": "postgres", "password": "test_password", "client_private_key": "string", "port": 5432, "host": "postgresinstance.mycompany.com", "tunnel_host": "XXX.XXX.XXX.XXX", "entra_tenant_id": "string", "entra_app_id": "string", "replication_slot": "test_replication_slot", "user": "test_user", "schema_prefix": "prefix" } }
Config parameters
| Name | Description |
|---|---|
publication_name | Publication name. Specify only for "updated_method": "WAL_PGOUTPUT". |
connection_type | Possible values:Directly, PrivateLink, SshTunnel. SshTunnel is used as a value if this parameter is omitted in the request and any of the following parameter's values is specified: tunnel_host, tunnel_port, tunnel_user. Otherwise, Directly is used as a value if the parameter is omitted. |
update_method | The method to detect new or changed rows. Specify only for "service": "postgres" or "service": "postgres_rds". Supported values: WAL_PGOUTPUT - logical replication of the WAL using the pgoutput plugin. This method replicates new, changed, and deleted rows by tailing the write-ahead log (WAL) using a logical slot. This is more efficient than the query-based method, but requires more setup and monitoring.QUERY_BASED - this method replicates new, changed and deleted rows via the xmin and ctid system columns |
always_encrypted | Require TLS through Tunnel |
tunnel_user | SSH user, specify only to connect via an SSH tunnel. |
client_public_certificate | Client Certificate in .pem format. |
tunnel_port | SSH port, specify only to connect via an SSH tunnel. |
auth_method | Database authentication method |
database | The database name. |
password | The user's password. |
client_private_key | Client Private Key in .pem format. |
port | The port number. |
host | DB instance host or IP address. |
tunnel_host | SSH host, specify only to connect via an SSH tunnel (do not use a load balancer). |
entra_tenant_id | Azure Tenant ID (for Entra ID authentication). |
entra_app_id | Registered Application ID (for Entra ID authentication). |
replication_slot | Replication slot name. Specify only for "updated_method": "WAL_PGOUTPUT". |
user | The user name. |
schema_prefix (required) | Destination schema prefix. Prefix for each replicated schema. For example with prefix 'x', source schemas 'foo' and 'bar' get replicated as 'x_foo' and 'x_bar'. The prefix is permanent and cannot be changed after connection creation |
Authorization
This type of connector can only be authorized through the Connect Card or through the Fivetran dashboard.