Flowsight™Demo mode · read-only
← All data sources

Flowsight configuration for PostgreSQL

PostgreSQL is one of Snowflake Openflow's own built-in connectors — it ships with Openflow itself. Flowsight drives it for you: you set it up through the four-step wizard and watch it from the monitoring dashboard, without ever touching the NiFi canvas.

Flowsight replicates tables from a PostgreSQL database into Snowflake. It performs an initial bulk snapshot load of each selected table, then keeps the destination current through continuous incremental sync — change data capture of inserts, updates, and deletes, read from PostgreSQL's logical-replication stream.

What you can do with it

  • Full replication — mirror a database's tables into a Snowflake schema and keep them continuously up to date.
  • Selective replication — replicate only the tables you list in a publication.
  • Analytics over operational data — land application data in Snowflake to query, join, and model alongside other warehouse data, without loading the source database.

How it works

  1. Publication — you create a PostgreSQL publication naming the tables to replicate. A publication is a logical-replication object: a named set of tables your database agrees to stream row-level changes for. The connector subscribes to it by name.
  2. Snapshot load — each table's current contents are bulk-loaded into the destination.
  3. Incremental sync — after the snapshot, row-level changes flow from the publication and are merged into the destination tables continuously.

Set it up

Pick Set up on the PostgreSQL card. The wizard walks four steps:

  1. Prerequisites — confirm your runtime and source access.
  2. Select runtime — bind the Openflow runtime that will run the connector.
  3. Connect endpoints — enter the source and destination details below.
  4. Select tables — choose which tables to replicate.

When you finish, the sync starts and the Monitoring tab lights up.

Source

FieldWhat it is
Connection URLThe JDBC URL of the source database.
UsernameA database user the connector authenticates as.
PasswordThat user's password.
Publication nameThe publication you created listing the tables to replicate.

Destination

FieldWhat it is
DatabaseAn existing Snowflake database to load into.
SchemaAn existing schema to load every table into, or blank to mirror source names.
RoleThe role your runtime executes as (the "Execute-as role" from runtime creation).
WarehouseThe warehouse that runs the journal-to-destination merges.

Before you start: you need an Openflow runtime, network access from the runtime to your database on port 5432 (Flowsight opens this egress for you), a PostgreSQL publication with logical replication enabled, and a Snowflake database, schema, and warehouse for the load.

How your data lands

Replicated tables land in your chosen <database>.<schema> and carry two columns Flowsight manages:

ColumnSnowflake typePurpose
_SNOWFLAKE_DELETEDBOOLEANSoft-delete tombstone flag.
_SNOWFLAKE_UPDATED_ATTIMESTAMP_NTZWhen the row was last applied.

Query the replicated data

Deletes are soft deletes — the row stays and _SNOWFLAKE_DELETED is set to TRUE. Filter them out to get the live set:

SELECT *
FROM <database>.<schema>.<table>
WHERE _SNOWFLAKE_DELETED = FALSE;

Adding and removing tables

The set of replicated tables is governed by your publication. To add a table, add it to the publication on the source database; to stop replicating one, remove it from the publication. Removing a table stops further updates to its destination table — it does not drop the table or its data from Snowflake.

Notes

  • Logical replication required — the source database must have logical replication enabled, and creating a publication requires a role with the REPLICATION attribute.
  • Egress on port 5432 — the connect step pre-warms the runtime's egress rule to your database host so replication can connect without a propagation delay.