> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://apidocs.polytomic.com/2024-02-08/guides/configuring-your-connections/connections/amazon_rds_postgresql/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://apidocs.polytomic.com/_mcp/server. # Amazon RDS PostgreSQL Supports: * ✅ Models * ✅ Model sync destination * ✅ Bulk sync source * ✅ Bulk sync destination ## Connection ### Configuration
NameTypeDescriptionRequired
change_detection boolean Use logical replication for bulk syncs ↓ false
database string Database true
hostname string Hostname used to connect to the Amazon RDS database true
iam_role_arn string IAM role ARN

Role that grants rds-db:connect access to this database user
true
port integer Port true
rds_endpoint_hostname string RDS endpoint hostname

RDS hostname used to sign IAM tokens and for TLS server name. Defaults to Hostname when omitted.
false
rds_endpoint_port integer RDS endpoint port

RDS port used to sign IAM tokens. Defaults to Port when omitted.
false
region string AWS region true
ssh boolean Connect over SSH tunnel ↓ false
tags object Tags

Additional tags to apply during role assumption
false
username string Username true

`change_detection`

When `change_detection` is `true`
NameTypeDescriptionRequired
publication string Publication true

`ssh`

When `ssh` is `true`
NameTypeDescriptionRequired
ssh_host string SSH host true
ssh_port integer SSH port true
ssh_private_key string Private key true
ssh_user string SSH user true
#### Example ```json { "name": "Amazon RDS PostgreSQL connection", "type": "amazon_rds_postgresql", "configuration": { "change_detection": false, "database": "sampledb", "hostname": "database.123456789012.us-east-1.rds.amazonaws.com", "iam_role_arn": "arn:aws:iam::123456789012:role/polytomic-rds", "port": 5432, "rds_endpoint_hostname": "database.123456789012.us-east-1.rds.amazonaws.com", "rds_endpoint_port": 5432, "region": "us-east-1", "ssh": false, "tags": {}, "username": "polytomic" } } ``` ### Read-only properties
NameTypeDescriptionRequired
external_id string External ID for the IAM role false
## Model Sync ### Source #### Configuration
NameTypeDescriptionRequired
query string false
table string Table false
view string View false
#### Example ```json { ... "configuration": { "query": "SELECT * from users", "table": "users", "view": "active_users" } } ``` ### Target Amazon RDS PostgreSQL connections may be used as the destination in a model sync. #### All targets ##### Configuration
NameTypeDescriptionRequired
created_column string 'Created at' timestamp column false
preserve_table_on_resync boolean Preserve destination table when resyncing false
updated_column string 'Updated at' timestamp column false
write_null_values boolean Copy null values

When enabled updates will set fields to NULL when the source value is null
false
write_record_timestamps boolean Write row timestamp metadata false
##### Example ```json { ... "target": { "configuration": { "created_column": "", "preserve_table_on_resync": false, "updated_column": "", "write_null_values": false, "write_record_timestamps": false } } } ``` ### Target creation Amazon RDS PostgreSQL connections may be used to create a new target for a model sync. The following parameters are required to create a new target:
NAME DESCRIPTION ENUM
name Table name false
## Bulk Sync ### Source #### Configuration
NameTypeDescriptionRequired
automatically_add_new_fields boolean Automatically add new fields on selected tables false
automatically_add_new_objects boolean Automatically add new tables false
mirror_publication_selections boolean Mirror table and column selection with database publication false
mirror_tables_without_unique_id boolean Mirror table without a unique identifier

If set to true
false
replication_slot string Replication slot

Leave blank to allow Polytomic to manage a replication slot for this sync.
false
#### Example ```json { ... "source_configuration": { "automatically_add_new_fields": false, "automatically_add_new_objects": false, "mirror_publication_selections": false, "mirror_tables_without_unique_id": false, "replication_slot": "polytomic" } } ``` ### Destination #### Configuration
NameTypeDescriptionRequired
advanced object false
mirror_schemas boolean Mirror schemas false
schema string Output schema false
#### Example ```json { ... "destination_configuration": { "advanced": { "empty_strings_null": false, "hard_deletes": false, "initial_execution": "", "table_prefix": "", "truncate_existing": false }, "mirror_schemas": false, "schema": "schema" } } ``` ## Type handling ### Destination types | POLYTOMIC TYPE | AMAZON RDS POSTGRESQL TYPE | |-----------------------------|----------------------------| | `array<>` | `JSON` | | `bigint` | `INT8` | | `boolean` | `BOOL` | | `date` | `DATE` | | `datetime` | `TIMESTAMP` | | `decimal(precision, scale)` | `NUMERIC(precision,scale)` | | `double` | `DOUBLE PRECISION` | | `int` | `INT4` | | `json` | `JSON` | | `jsonarray` | `JSON` | | `number` | `NUMERIC` | | `object{}` | `JSON` | | `single` | `REAL` | | `smallint` | `INT2` | | `string` | `TEXT` | | `time` | `TIME` | ### Source types | AMAZON RDS POSTGRESQL TYPE | POLYTOMIC TYPE | |-----------------------------|-----------------------------| | `ANYARRAY` | `jsonarray` | | `CIDR` | `string` | | `CSTRING` | `string` | | `DATE` | `date` | | `DOUBLE PRECISION` | `double` | | `FLOAT` | `single` | | `FLOAT4` | `single` | | `FLOAT8` | `double` | | `INET` | `string` | | `INT` | `int` | | `INT2` | `smallint` | | `INT4` | `int` | | `INT8` | `bigint` | | `INTERVAL` | `string` | | `JSON` | `json` | | `JSONB` | `json` | | `MACADDR` | `string` | | `MONEY` | `number` | | `NAME` | `string` | | `NUMERIC(precision, scale)` | `decimal(precision, scale)` | | `REAL` | `single` | | `TEXT` | `string` | | `TIME` | `time` | | `TIMESTAMP` | `datetime` | | `TIMESTAMPTZ` | `datetime_tz` | | `TIMETZ` | `time` | | `UUID` | `string` | | `_BOOL` | `jsonarray` | | `_BPCHAR` | `jsonarray` | | `_BYTEA` | `jsonarray` | | `_CHAR` | `jsonarray` | | `_CSTRING` | `jsonarray` | | `_DATE` | `jsonarray` | | `_FLOAT4` | `jsonarray` | | `_FLOAT8` | `jsonarray` | | `_INT2` | `jsonarray` | | `_INT2VECTOR` | `jsonarray` | | `_INT4` | `jsonarray` | | `_INT8` | `jsonarray` | | `_JSON` | `jsonarray` | | `_JSONB` | `jsonarray` | | `_LSEG` | `jsonarray` | | `_MONEY` | `jsonarray` | | `_NAME` | `jsonarray` | | `_NUMERIC` | `jsonarray` | | `_PATH` | `jsonarray` | | `_TEXT` | `jsonarray` | | `_TIME` | `jsonarray` | | `_TIMESTAMP` | `jsonarray` | | `_TIMESTAMPTZ` | `jsonarray` | | `_TIMETZ` | `jsonarray` | | `_UUID` | `jsonarray` | | `_VARCHAR` | `jsonarray` | | `_XML` | `jsonarray` |