PostgreSQL to SelectDB Real-Time Synchronization | NineData
PostgreSQL is often used for online transaction processing, while SelectDB is used for analytical queries and data warehouse workloads. NineData Data Replication helps synchronize PostgreSQL data to SelectDB through full migration and incremental replication, so analytics teams can work with a continuously updated target.
Use this workflow to move selected PostgreSQL data into SelectDB, keep the target updated, validate the result, and monitor the task over time.
When to use this workflow
Use this workflow when you need to:
- Build a SelectDB analytics layer from PostgreSQL business data.
- Keep analytical workloads away from the PostgreSQL production database.
- Migrate existing PostgreSQL rows and continue synchronizing new changes.
- Validate target data before downstream reports or applications depend on it.
- Monitor replication delay and task health for a long-running pipeline.
Overview
Before you create the task, plan the following items:
- Target structure: Confirm how PostgreSQL tables should map to SelectDB tables.
- Replication scope: Decide whether to replicate all objects or only selected schemas and tables.
- Incremental settings: Prepare the PostgreSQL source for incremental replication when continuous synchronization is required.
- Validation strategy: Decide whether to enable data comparison during task creation or start it later from task details.
- Alerting: Decide who should be notified when the task fails or replication delay exceeds your threshold.
Before you begin
Prepare the following items:
- Access to the NineData console.
- Connection information and accounts for the PostgreSQL source and SelectDB target.
- Required permissions on both systems.
- Network connectivity from NineData to both systems.
- Any PostgreSQL configuration required by your selected replication type.
Step 1: Add the source and target data sources
In the NineData console, click Data Source Management > Data Sources, and then click Create Data Source.

Follow the page prompts, test the connection, and click Create Data Source.

Repeat the process for the PostgreSQL source and the SelectDB target.
Step 2: Create the synchronization task
In the NineData console, click Data Replication > Data Replication, and then click Create Replication.

Configure the PostgreSQL source and SelectDB target.
Select the replication types required for your task. For a continuously updated analytics target, select Full Replication and Incremental Replication.

Select the source objects, configure mapping and filtering if needed, and run the precheck.
After the precheck passes, start the task.
Monitor the task until the full load finishes and incremental delay reaches
0seconds.
Step 3: Validate synchronized data
Use data comparison to verify that SelectDB contains the expected data.
Open the replication task created in Step 2.

Click the Data Comparison tab, and click Start Data Comparison if comparison results are not already available.
tipAfter comparison starts, NineData compares the selected source and target objects and displays the comparison result.
Click Re-compare when you need to validate the latest synchronized data.

Step 4: Configure alerts
For a long-running synchronization task, configure alerts for task failure and replication delay.
Open the replication task details page.

Click Configure Alerts.

Enter a Policy Name, select the alert rules, and click Save Configuration.

Result
After the task starts, NineData loads the selected PostgreSQL data into SelectDB and keeps the target updated through incremental replication. When synchronization delay is 0 seconds and validation passes, the SelectDB target can be used for analytics, reporting, and downstream warehouse workloads.