Connection requirements
- A connection string (postgresql://) with CREATE TABLE and INSERT/COPY privileges on the target schema
- SSL is used when the target supports it (Neon, RDS) and skipped automatically for plaintext-only local/internal targets
COPY on first load, upsert after
When the target table is empty, the bulk load uses PostgreSQL's COPY FROM STDIN — the fastest ingestion path Postgres offers, well ahead of row-by-row INSERT. A re-run against a table that already has rows falls back to a parameterized upsert (INSERT ... ON CONFLICT) so it stays idempotent.
Setup
1
Add the connection
Provide the PostgreSQL connection details under Connections → Add. NoSQLSync verifies it can connect before saving.
2
Pick a table name
Choose an existing table or let NoSQLSync create one from the inferred schema when the migration starts.
3
Start the migration
Bulk-load the historical data, then optionally enable CDC to keep the table current.
FAQ
Does NoSQLSync create the PostgreSQL table for me?
Yes. If the target table doesn't exist, it's created from the inferred schema before the first batch loads.
What happens if I re-run a migration that already has data in the target?
The bulk load switches to an idempotent upsert path instead of the empty-table fast path, so re-running is safe.