diff --git a/debezium-connector-postgres/src/main/java/io/debezium/connector/postgresql/PostgresValueConverter.java b/debezium-connector-postgres/src/main/java/io/debezium/connector/postgresql/PostgresValueConverter.java index eec585b0b..e1f9651f5 100644 --- a/debezium-connector-postgres/src/main/java/io/debezium/connector/postgresql/PostgresValueConverter.java +++ b/debezium-connector-postgres/src/main/java/io/debezium/connector/postgresql/PostgresValueConverter.java @@ -542,6 +542,14 @@ private Object convertLtreeArray(Column column, Field fieldDefn, Object data) { List ltrees = Arrays.asList(s.split(",")); r.deliver(ltrees); } + else if (data instanceof List) { + List list = (List) data; + List ltrees = new ArrayList<>(list.size()); + for (Object value : list) { + ltrees.add(value.toString()); + } + r.deliver(ltrees); + } else if (data instanceof PgArray) { PgArray pgArray = (PgArray) data; try { diff --git a/debezium-connector-postgres/src/main/java/io/debezium/connector/postgresql/connection/pgproto/PgProtoColumnValue.java b/debezium-connector-postgres/src/main/java/io/debezium/connector/postgresql/connection/pgproto/PgProtoColumnValue.java index 8d0e69ca8..245f5a771 100644 --- a/debezium-connector-postgres/src/main/java/io/debezium/connector/postgresql/connection/pgproto/PgProtoColumnValue.java +++ b/debezium-connector-postgres/src/main/java/io/debezium/connector/postgresql/connection/pgproto/PgProtoColumnValue.java @@ -278,9 +278,6 @@ public boolean isArray(PostgresType type) { case PgOid.INT8RANGE_ARRAY: return true; default: - if (TypeRegistry.TYPE_NAME_LTREE_ARRAY.equals(type.getName())) { - return false; - } return type.isArrayType(); } }