Skip to content

PostgreSQL interval type columns are decoded as null during backfill (but work correctly in live CDC) #2094

@eladtorq

Description

@eladtorq

When performing a backfill from a PostgreSQL table containing interval type columns, Sequin outputs null for those columns. However, live CDC (WAL-based streaming) works correctly and emits proper interval values.

Expected behavior
Backfill should emit the same interval values as live CDC. Both should produce consistent output.
Impact

Historical data with interval columns cannot be replicated via backfill
Initial sync is incomplete for tables with interval columns
Workarounds require schema changes or manual data migration

Root cause (suspected)
Backfill likely uses SELECT queries to read existing data, while live CDC reads from WAL. The PostgreSQL driver or decoder may handle interval types differently between these two code paths.

Additional context
Live CDC correctly streams interval values from WAL
Issue appears specific to backfill's SELECT-based data reading
Transforms cannot fix the issue as data arrives as null before transform execution
Other PostgreSQL types work correctly in both backfill and live CDC

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions