Operating Model
When ParadeDB is used as a logical subscriber:- Your application writes to tables on the publisher
- Postgres logical replication applies those row changes to matching tables on ParadeDB
- ParadeDB maintains ParadeDB indexes locally on the subscriber
- Search and analytics queries run against ParadeDB instead of the primary
Logical replication copies row changes into ParadeDB, but it does not copy
ParadeDB indexes from the publisher. For the deployment described in this
guide, build the ParadeDB indexes directly on the ParadeDB subscriber.
1. Wait for the Initial Copy to Finish
By default, logical replication starts with an initial copy of the existing data. Let Postgres finish copying the base table data before you build ParadeDB indexes. This avoids extra indexing work during the bootstrap phase.Initial-Copy Parallelism
max_sync_workers_per_subscription controls how many tables a subscription
can copy at once when it is created or refreshed. The default is 2. Raising
it lets multi-table subscriptions copy more tables at once, but requires more
slots and workers. See Replication Configuration
for capacity settings.
Checking Copy Progress
On ParadeDB, you can check whether the initial copy is still running with:worker_type = 'table synchronization'. If you want a stricter per-table
check, run:
r
(ready).
2. Build ParadeDB Indexes
Once the replicated tables are caught up, create ParadeDB indexes locally on the ParadeDB logical replica:INSERT, UPDATE, and DELETE operations will
keep the ParadeDB index current automatically.