Swan Sauvegrain
03/23/2026, 10:53 AMkapa.ai
03/23/2026, 10:53 AMwal_keep_size. [Postgres Troubleshooting] 2. CTID Cursor Bug (Incremental Append, Non-CDC) If you're using standard cursor / CTID-based incremental sync (not CDC), there is a known open bug: when a sync returns 0 records for a stream, the CTID cursor is incorrectly reset to (0,0) instead of preserving the previous position. This causes the next sync for that stream to perform a full table re-read. [CTID cursor bug] 3. Refresh Sync Behavior by Design A Refresh Sync intentionally re-imports all records for the refreshed stream(s) from the beginning (it resets the cursor). This is expected behavior — it will be slower and more expensive than a normal incremental sync. Importantly, only the stream(s) you select for refresh are affected; other streams in the connection sync normally. [Refreshing your data] In summary: If you're seeing an unexpected full sync on streams you did not select for refresh, the most likely culprits are the CDC WAL purge issue or the CTID cursor reset bug. If the full sync is on the stream you did refresh, that is expected behavior. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.Swan Sauvegrain
03/23/2026, 10:56 AMkapa.ai
03/23/2026, 10:56 AM