Uploaded image for project: 'Debezium'
  1. Debezium
  2. DBZ-5989

Postgresql connector can not parse customized types in postgreSQL

    XMLWordPrintable

Details

    • False
    • None
    • False

    Description

      In order to make your issue reports as actionable as possible, please provide the following information, depending on the issue type.

      Bug report

      For bug reports, provide this information, please:

      What Debezium connector do you use and what version?

      debezium-connector-postgres 2.1.1.Final

      What is the connector configuration?

       

      {     "snapshot.mode":"never",     "database.user":"postgres",     "offset.flush.interval.ms":"2000",     "database.password":"********",     "offset.storage":"org.apache.kafka.connect.storage.FileOffsetBackingStore",     "database.server.name":"pg_connector",     "offset.storage.file.filename":"../conf/offset",     "slot.drop.on.stop":"false",     "connector.class":"io.debezium.connector.postgresql.PostgresConnector",     "database.port":"16234",     "slot.name":"pg_slot",     "tombstones.on.delete":"false",     "database.hostname":"xx.xx.xx.xx",     "database.dbname":"test",     "interval.handling.mode":"string",     "plugin.name":"decoderbufs",     "name":"pg_selector" }

       

       

      What is the captured database version and mode of depoyment?

      (E.g. on-premises, with a specific cloud provider, etc.)

      PostgreSQL v.12.3,  on-premises

      What behaviour do you expect?

      I hope debezium can parse all columns.

      What behaviour do you see?

      2023-01-06 17:27:00,941 WARN [io.debezium.relational.TableSchemaBuilder] - Unexpected JDBC type '2002' for column 'item' that will be ignored

      Do you see the same behaviour using the latest relesead Debezium version?

      (Ideally, also verify with latest Alpha/Beta/CR version)

      yes, the same result in debezium 2.1.

      Do you have the connector logs, ideally from start till finish?

      2023-01-06 17:27:00,933 DEBUG [io.debezium.relational.RelationalDatabaseSchema] - refreshing DB schema for table 'liq.on_hand'
      2023-01-06 17:27:00,935 DEBUG [io.debezium.relational.TableSchemaBuilder] - Mapping table 'liq.on_hand' to schemas under 'my-postgres-connector.liq.on_hand'
      2023-01-06 17:27:00,935 WARN [io.debezium.util.SchemaNameAdjuster] - The Kafka Connect schema name 'my-postgres-connector.liq.on_hand.Value' is not a valid Avro schema name, so replacing with 'my_postgres_connector.liq.on_hand.Value'
      2023-01-06 17:27:00,935 WARN [io.debezium.util.SchemaNameAdjuster] - The Kafka Connect schema name 'my-postgres-connector.liq.on_hand.Key' is not a valid Avro schema name, so replacing with 'my_postgres_connector.liq.on_hand.Key'
      2023-01-06 17:27:00,938 DEBUG [io.debezium.relational.TableSchemaBuilder]  --  field 'count' (INT32) from column count int4(10, 0) NOT NULL
      2023-01-06 17:27:00,941 WARN [io.debezium.relational.TableSchemaBuilder] - Unexpected JDBC type '2002' for column 'item' that will be ignored
      2023-01-06 17:27:00,942 DEBUG [io.debezium.relational.TableSchemaBuilder]  --  field 'count' (INT32) from column count int4(10, 0) NOT NULL
      2023-01-06 17:27:00,943 DEBUG [io.debezium.relational.TableSchemaBuilder] - Mapped primary key for table 'liq.on_hand' to schema: {"name" : "my_postgres_connector.liq.on_hand.Key", "type" : "STRUCT", "optional" : "false", "fields" : \\{"name" : "count", "index" : "0", "schema" : {"type" : "INT32", "optional" : "false"}}}
      2023-01-06 17:27:00,943 DEBUG [io.debezium.relational.TableSchemaBuilder] - Mapped columns for table 'liq.on_hand' to schema: {"name" : "my_postgres_connector.liq.on_hand.Value", "type" : "STRUCT", "optional" : "true", "fields" : \\{"name" : "count", "index" : "0", "schema" : {"type" : "INT32", "optional" : "false"}}}
      2023-01-06 17:27:00,944 WARN [io.debezium.util.SchemaNameAdjuster] - The Kafka Connect schema name 'my-postgres-connector.liq.on_hand.Envelope' is not a valid Avro schema name, so replacing with 'my_postgres_connector.liq.on_hand.Envelope'
      2023-01-06 17:27:00,948 DEBUG [io.debezium.connector.base.ChangeEventQueue] - checking for more records...
      2023-01-06 17:27:00,948 DEBUG [io.debezium.connector.base.ChangeEventQueue] - no records available yet, sleeping a bit...
      2023-01-06 17:27:00,948 WARN [io.debezium.relational.TableSchemaBuilder] - No converter found for column liq.on_hand.item of type "liq"."inventory_item". The column will not be part of change events for that table.
      2023-01-06 17:27:01,015 INFO [io.debezium.connector.postgresql.PostgresStreamingChangeEventSource] - Processing messages

      How to reproduce the issue using our tutorial deployment?

      1. CREATE TYPE "liq"."inventory_item" AS (name text COLLATE "default",supplier_id int4,price numeric);

      2. CREATE TABLE IF NOT EXISTS "on_hand"("item" inventory_item,"count" INT4 NOT NULL,PRIMARY KEY ("count"));
      3. start debezium in embed mode.
      4. insert into liq.on_hand values (ROW('fu12142 d34ce',44,4.99),1002);

      Feature request or enhancement

      For feature requests or enhancements, provide this information, please:

      Which use case/requirement will be addressed by the proposed feature?

      <Your answer>

      Implementation ideas (optional)

      <Your answer>

      Attachments

        Activity

          People

            Unassigned Unassigned
            leoloel xing Leo
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: