Search before asking
Paimon version
master @ ec1d8ee / 2.0-SNAPSHOT
Compute Engine
Flink (CDC ingestion — PostgreSQL sync)
Minimal reproduce step
Run postgres_sync_table/postgres_sync_database on a table with a time(n) column where n <= 3. Debezium's default adaptive mode encodes it as the io.debezium.time.Time logical type (int32, millis-of-day). PostgresRecordParser.extractFieldType() (paimon-flink-cdc .../postgres/PostgresRecordParser.java line 159-163) handles only io.debezium.time.Date in the int32 branch and falls through to INT().
What doesn't meet your expectations?
Expected: the column maps to TIME(3), matching the JDBC bootstrap path PostgresTypeUtils.toDataType() which maps time to TIME(scale). Actual: it maps to INT, so the runtime and bootstrap schema paths disagree and the sync crashes on the first record with "Cannot convert field from TIME(3) to INT", looping on restart.
Anything else?
Incomplete-fix counterpart of merged PR #8222, which fixed the symmetric int64 Timestamp case. The int64 branch already maps Timestamp/MicroTimestamp/MicroTime; time(4..6) (MicroTime) is already handled.
Are you willing to submit a PR?
Search before asking
Paimon version
master @ ec1d8ee / 2.0-SNAPSHOT
Compute Engine
Flink (CDC ingestion — PostgreSQL sync)
Minimal reproduce step
Run
postgres_sync_table/postgres_sync_databaseon a table with atime(n)column wheren <= 3. Debezium's default adaptive mode encodes it as theio.debezium.time.Timelogical type (int32, millis-of-day).PostgresRecordParser.extractFieldType()(paimon-flink-cdc.../postgres/PostgresRecordParser.javaline 159-163) handles onlyio.debezium.time.Datein the int32 branch and falls through toINT().What doesn't meet your expectations?
Expected: the column maps to
TIME(3), matching the JDBC bootstrap pathPostgresTypeUtils.toDataType()which mapstimetoTIME(scale). Actual: it maps toINT, so the runtime and bootstrap schema paths disagree and the sync crashes on the first record with "Cannot convert field from TIME(3) to INT", looping on restart.Anything else?
Incomplete-fix counterpart of merged PR #8222, which fixed the symmetric int64
Timestampcase. The int64 branch already mapsTimestamp/MicroTimestamp/MicroTime;time(4..6)(MicroTime) is already handled.Are you willing to submit a PR?