- A separate CDC service polls the configured table at a fixed interval
- It queries rows where
poll_column > last_bookmark(e.g.,updated_at > '2026-03-01T10:00:00') - If new rows are found, they are batched into a single function call
- The bookmark advances to the highest value in the batch
- On first activation, the bookmark is set to
MAX(poll_column)— no backfill of existing data
The
poll_column must be a column whose value only increases — timestamps, auto-increment IDs, or sequences. The column type is detected automatically and comparisons are cast to the correct type.
Function input payload:
When changes are detected, the target function receives all new rows in a single call:
error_message and retries with exponential backoff (up to 60 seconds). The trigger continues retrying until deactivated or the issue is resolved.
Limitations:
- Cannot detect
DELETEoperations (poll-based limitation) - Changes are detected with a delay equal to the poll interval
- The
poll_columnmust never decrease — resetting it will cause missed or duplicate rows