Using CDC postgres replication slot source, there ...
# replication-ask-ai
h
Using CDC postgres replication slot source, there are tables that cannot be selected for incremental append even though they have primary keys. What are reasons for this?
k
There could be several reasons why tables with primary keys cannot be selected for incremental append using CDC (Change Data Capture) Postgres replication slot source. Here are some possible reasons based on the information provided in the extracts: 1. Data must be in tables, not views: If the data you are trying to replicate is in a view and not a table, it won't be supported for incremental sync. If you require data synchronization from a view, you would need to create a new connection with
Standard
as
Replication Method
([source](https://docs.airbyte.com/integrations/sources/postgres/postgres-troubleshooting)). 2. Modifications must be made using `DELETE`/`INSERT`/`UPDATE`: Changes made using `TRUNCATE`/`ALTER` will not appear in logs and therefore in your destination. So, if the modifications in your table are made using these commands, they won't be captured in the incremental sync ([source](https://docs.airbyte.com/integrations/sources/postgres/postgres-troubleshooting)). 3. Schema changes are not supported automatically for CDC sources: If you make a schema change, it is not supported automatically. You would need to reset and resync data ([source](https://docs.airbyte.com/integrations/sources/postgres/postgres-troubleshooting)). 4. Log-based replication only works for master instances of Postgres: CDC cannot be run from a read-replica of your primary database. If you are trying to run CDC from a read-replica, it won't work ([source](https://docs.airbyte.com/integrations/sources/postgres/postgres-troubleshooting)). 5. An Airbyte database source using CDC replication can only be used with a single Airbyte destination: This is due to how Postgres CDC is implemented - each destination would receive only part of the data available in the replication slot ([source](https://docs.airbyte.com/integrations/sources/postgres/postgres-troubleshooting)). 6. Using logical replication increases disk space used on the database server: The additional data is stored until it is consumed. If the disk space is filled up, it might prevent the incremental sync ([source](https://docs.airbyte.com/integrations/sources/postgres/postgres-troubleshooting)). 7. Cursor field not properly updated: If modifications to the underlying records are made without properly updating the cursor field, then the updated records won't be picked up by the Incremental sync ([source](https://docs.airbyte.com/understanding-airbyte/connections/incremental-append)). Please review these points and ensure that none of these conditions are causing the issue. If the problem persists, you might want to consider other replication methods like
xmin
or
standard
([source](https://docs.airbyte.com/integrations/sources/postgres)).
h
None of these limitations apply. Are there other reasons why the incremental append sync mode would be unavailable for a table?