This is expected behavior with CDC in Airbyte, and it’s tied to how incremental modes are exposed per table/stream.
From the docs and forum threads, incremental (including CDC incremental) is only available when
all of these are true for a given table:
1.
The table has a primary key
CDC incremental is only supported for tables with primary keys for most sources; tables without PKs can only be replicated as Full Refresh (or via a separate non‑CDC connection). [
CDC limits;
Postgres CDC forum]
If the new tables you added to the publication don’t have a primary key, Airbyte will only show Full Refresh in the UI.
2.
The connector sees at least one valid cursor column
For database sources, Airbyte only shows incremental if at least one column can be used as a cursor. Earlier versions of the Postgres source were stricter (e.g., nullable columns couldn’t be used as cursors), which caused incremental to disappear for some tables until the connector was updated. [
Postgres source incremental option]
3.
CDC is configured at the source and the table is included in the CDC snapshot/state
When you add new tables to a CDC‑enabled database, they must first be snapshotted before CDC can track changes. You need to:
◦ Click
Refresh source schema so Airbyte sees the new tables.
◦ Enable the new streams.
◦ Trigger a
Refresh Stream (snapshot) for the new tables. [
CDC adding new schemas/columns]
Until that initial snapshot is done and the table is in a valid CDC state, you may only see Full Refresh.
4.
Postgres‑specific CDC limitations
The Postgres CDC docs reiterate:
◦ Incremental sync is only supported for tables with primary keys.
◦ Schema changes are not automatically handled; adding tables requires a snapshot and can be a temporary bottleneck. [
Postgres troubleshooting]
Putting it together for your case:
• When you first created the connection, the tables that already met the PK + cursor requirements showed
Incremental.
• After you ran
ALTER PUBLICATION ... ADD TABLE ...
, the new tables:
◦ Might not have primary keys, or
◦ Might not expose a valid cursor column (depending on connector version / column nullability), or
◦ Have not yet gone through the required CDC snapshot/refresh flow.
Any of those will cause Airbyte to only offer
Full Refresh for those new tables, even though they’re in the publication.
If your new tables do have PKs and a suitable cursor column, and you’ve already refreshed the source schema and run a snapshot/Refresh Stream, but incremental still doesn’t appear, that specific behavior is not clearly documented in the provided sources; in that case, the knowledge sources don’t give enough detail to pinpoint another cause. 👍 0 button 👎 0 button ℹ️
Tip: Mention
@kapa.ai in the thread for follow-ups or
DM the app for
1-to-1 help.