Francisco Carneiro
12/12/2025, 1:44 PMIn summary the CDC collect fails with this error:
Saved offset is before replication slot's confirmed lsn. Please reset the connection, and then increase WAL retention and/or increase sync frequency to prevent this from happening in the future. See <https://docs.airbyte.com/integrations/sources/postgres/postgres-troubleshooting#under-cdc-incremental-mode-there-are-still-full-refresh-syncs> for more details.
Even though the WAL retention is maximum and not that much time passed between two syncs (very little actually)kapa.ai
12/12/2025, 1:45 PM3.6.34. [[Initial snapshot LSN fix](https://github.com/airbytehq/airbyte/issues/49803)] However, the provided sources do not clearly state that this fully resolves all manifestations of 55846, so I can’t confidently say the entire issue is closed. ### Known workarounds from the sources From the GitHub issues and docs, the following workarounds are explicitly mentioned: 1. Use an earlier Postgres source version that doesn’t exhibit the bug - Users report that 3.6.15 and 3.6.18 work correctly for CDC, while later versions fail with this error. [[CDC LSN bug](https://github.com/airbytehq/airbyte/issues/55846)] - Several teams have downgraded to these versions as a production workaround. [[CDC LSN bug](https://github.com/airbytehq/airbyte/issues/55846)] 2. Change “Invalid CDC position behavior” to “Re-sync data” - With Fail sync, you get the hard error you quoted. [[CDC PgJDBC issue](https://github.com/airbytehq/airbyte/issues/49802)] - With Re-sync data, Airbyte will restart from scratch when it detects the invalid offset instead of failing the sync. This is only practical if your datasets are small enough that a full reload is acceptable. [[CDC PgJDBC issue](https://github.com/airbytehq/airbyte/issues/49802)] 3. If WAL retention is not the real cause, still follow the documented mitigation The error message points to the standard CDC troubleshooting guidance, which is still relevant even if you already set high WAL retention: [[Postgres troubleshooting](https://docs.airbyte.com/integrations/sources/postgres/postgres-troubleshooting#under-cdc-incremental-mode-there-are-still-full-refresh-syncs)] - Increase sync frequency (to reduce the window in which WAL can be removed). - Ensure wal_keep_size / equivalent retention settings are high enough. - Be aware that if WALs are purged after being acknowledged but before a retry, Airbyte must fall back to a full refresh. 4. Heartbeat / advancing WAL for low-traffic databases For low-transaction environments (which often trigger these LSN edge cases), the docs recommend: [[WAL disk consumption](https://docs.airbyte.com/integrations/sources/postgres/postgres-troubleshooting#advanced-wal-disk-consumption-and-heartbeat-action-query)] - Add a high‑volume or heartbeat table to the publication. - Optionally configure a Debezium heartbeat query against an airbyte_heartbeat table to keep the LSN moving. ### Practical recommendation based on the sources Given that: - You already have “maximum” WAL retention and short intervals between syncs, and - The error is a known bug in certain connector versions, not just a configuration issue, the most reliable workaround from the documented reports is: - Downgrade the Postgres source connector to a known-good version (e.g. 3.6.15 or 3.6.18) for CDC, and - Optionally set “Invalid CDC position behavior” to “Re-sync data” only if full reloads are acceptable for your data size. [[CDC LSN bug](https://github.com/airbytehq/airbyte/issues/55846); [CDC PgJDBC issue](https://github.com/airbytehq/airbyte/issues/49802)] If you need to stay on a newer version, the sources don’t provide a guaranteed configuration-only fix; they only describe the above mitigations and the partial fix in 3.6.34.