Connection

Configuration

NAMETYPEDESCRIPTIONREQUIREDREADONLY
connection_namestringTakes the form of project:region:instancetruefalse
databasestringtruefalse
usernamestringfalsefalse
passwordstringMay be omitted when authenticating to Postgres using the service account key.falsefalse
credentialsstringtruefalse
change_detectionbooleanfalsefalse
publicationstringfalsefalse

Example

1{
2 "name": "googlecloudsql connection",
3 "type": "googlecloudsql",
4 "configuration": {
5 "change_detection": false,
6 "connection_name": "project:region:instance",
7 "credentials": "",
8 "database": "sampledb",
9 "password": "secret",
10 "publication": "polytomic",
11 "username": "cloudsql"
12 }
13}

Model Sync

Source

Configuration

NAMETYPEDESCRIPTIONREQUIREDREADONLY
querystringfalsefalse
tablestringTablefalsefalse
viewstringViewfalsefalse

Example

1{
2 ...
3 "configuration": {
4 "query": "SELECT * from users",
5 "table": "users",
6 "view": "active_users"
7 }
8}

Target

Configuration

NAMETYPEDESCRIPTIONREQUIREDREADONLY
preserve_table_on_resyncbooleanPreserve destination table when resyncingfalsefalse

Example

1{
2 ...
3 "target": {
4 "configuration": {
5 "preserve_table_on_resync": false
6 }
7 }
8}

Bulk Sync

Source

Configuration

NAMETYPEDESCRIPTIONREQUIREDREADONLY
replication_slotstringLeave blank to allow Polytomic to manage a replication slot for this sync.falsefalse

Example

1{
2 ...
3 "source_configuration": {
4 "replication_slot": "polytomic"
5 }
6}

Destination

Configuration

NAMETYPEDESCRIPTIONREQUIREDREADONLY
advancedobjectfalsefalse
schemastringOutput schema to write tofalsefalse
mirror_schemasbooleanIndicates whether schemas should be mirroredfalsefalse

Example

1{
2 ...
3 "destination_configuration": {
4 "advanced": {
5 "table_prefix": "",
6 "truncate_existing": false
7 },
8 "mirror_schemas": false,
9 "schema": "public"
10 }
11}

Type handling

Destination types

POLYTOMIC TYPEGOOGLE CLOUD POSTGRESQL TYPE
array<>JSON
bigintINT8
booleanBOOL
dateDATE
datetimeTIMESTAMP
decimal(precision, scale)NUMERIC(precision,scale)
doubleDOUBLE PRECISION
intINT4
jsonJSON
jsonarrayJSON
numberNUMERIC
object{}JSON
singleREAL
smallintINT2
stringTEXT
timeTIME

Source types

GOOGLE CLOUD POSTGRESQL TYPEPOLYTOMIC TYPE
ANYARRAYjsonarray
BPCHARstring
BYTEAjsonarray
CHARstring
CSTRINGstring
DATEdate
DOUBLE PRECISIONdouble
FLOATsingle
FLOAT4single
FLOAT8double
INTint
INT2smallint
INT4int
INT8bigint
INTERVALstring
JSONjson
JSONBjson
MONEYnumber
NAMEstring
NUMERIC(precision, scale)decimal(precision, scale)
REALsingle
TEXTstring
TIMEtime
TIMESTAMPdatetime
TIMESTAMPTZdatetime
TIMETZtime
UUIDstring
VARCHARstring
_BOOLjsonarray
_BPCHARjsonarray
_BYTEAjsonarray
_CHARjsonarray
_CSTRINGjsonarray
_DATEjsonarray
_FLOAT4jsonarray
_FLOAT8jsonarray
_INT2jsonarray
_INT2VECTORjsonarray
_INT4jsonarray
_INT8jsonarray
_JSONjsonarray
_JSONBjsonarray
_LSEGjsonarray
_MONEYjsonarray
_NAMEjsonarray
_NUMERICjsonarray
_PATHjsonarray
_TEXTjsonarray
_TIMEjsonarray
_TIMESTAMPjsonarray
_TIMESTAMPTZjsonarray
_TIMETZjsonarray
_UUIDjsonarray
_VARCHARjsonarray
_XMLjsonarray