Skip to content

feat: pg_replication support Enum column types #656

@bar-bitkover-lendbuzz

Description

@bar-bitkover-lendbuzz

Source name

pg_replication

Describe the data you'd like to see

We have tables in our PostgreSQL database that include columns of the Enum type. When DLT receives a DML command (such as INSERT) via pgoutput for a table with an Enum column, the operation ID (op id) is 89. Currently, this operation type is not supported by DLT (see the process_msg function), which leads to replication failures for these tables.

It would be helpful if DLT could recognize and correctly process operation ID 89 for Enum columns.

Are you a dlt user?

I'm considering using dlt, but this bug is preventing this.

Do you ready to contribute this extension?

No.

dlt destination

Snowflake

Additional information

When attempting to replicate an INSERT operation into a table with an Enum column, we encounter the following error log:

extraction of resource `sync_replication_slot` in `generator` `replication_resource` caused an exception: Unknown replication op 89

In order to test it locally I created an Enum type and altered an existing table:

-- Create enum type for status
CREATE TYPE enum_status AS ENUM ('created', 'in_progress', 'done');

-- Add status column to search_presets table
ALTER TABLE test_table 
ADD COLUMN status enum_status NOT NULL DEFAULT 'created';

-- Insert a new row with the status enum
INSERT INTO test_table (status) 
VALUES ('in_progress');

If you need more details or example schemas, please let me know.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status

    Planned

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions