Kevin Phan
05/28/2025, 6:16 PM<https://github.com/MeltanoLabs/tap-postgres>
with the following config:
coredb_credentials: &coredb_credentials
host: ${COREDB_POSTGRES_HOST}
user: ${COREDB_POSTGRES_USERNAME}
password: ${COREDB_POSTGRES_PASSWORD}
port: ${COREDB_POSTGRES_PORT}
plugins:
extractors:
- name: tap-core-db-source-decrypted
inherit_from: tap-postgres-meltano
config:
<<: *coredb_credentials
database: ${COREDB_POSTGRES_DATABASE}
filter_schema:
- public
schema:
public-transfers_fiat:
metadata:
type: ["object", "null"]
select:
- public-transfers_fiat.*
metadata:
public-transfers_fiat:
replication-method: INCREMENTAL
replication-key: updated_at
is there a way to set a unique key to tell snowflake what to merge? the above config works with just insert only tables but since this table is updates as well, we would need a unique key. Or is this done on the loader side ? we are using
- name: target-snowflake
variant: meltanolabs
pip_url: git+<https://github.com/MeltanoLabs/target-snowflake.git@5c4072d852ba8d73fb5b9182f9d040c7b113bfe7>
Edgar RamÃrez (Arch.dev)
05/28/2025, 6:25 PMtransfers_fiat
does not have a primary key? If not, you can also set the key-properties
metadata to a list of one or more properties to use as the primary key.Kevin Phan
05/28/2025, 6:47 PMmetadata:
public-transfers_fiat:
replication-method: INCREMENTAL
replication_key: updated_at
key_properties:
- id
or
metadata:
public-transfers_fiat:
replication-method: INCREMENTAL
replication-key: updated_at
key-properties: ["id"]
Edgar RamÃrez (Arch.dev)
05/28/2025, 7:31 PMEdgar RamÃrez (Arch.dev)
05/28/2025, 7:33 PMtable-key-properties
should also do it