ildus / clickhouse_fdw

ClickHouse FDW for PostgreSQL
Apache License 2.0
260 stars 55 forks source link

Losing microseconds #106

Open gallyamow opened 3 months ago

gallyamow commented 3 months ago

Hi. I have a trouble with losing microseconds on DateTime64(6, ...) columns if row was written over clickhouse_fdw.

Example

CREATE TABLE signals.test
(
    `timestamp` DateTime64(6, 'Asia/Istanbul'),
    `from` String
)
ENGINE = TinyLog;

I wrote there two rows, one directly from clickhouse, the second from postgres over clickhouse_fwd

This query was executed in clickhouse-client:

INSERT INTO signals.test VALUES ('2019-01-01 00:00:00.123456', 'written_by_clickhouse');

This one in postgresql:

INSERT INTO signals.test VALUES ('2019-01-01 00:00:00.123456', 'written_by_postgres');

Result of query SELECT * FROM signals.test is

   ┌──────────────────timestamp─┬─from──────────────────┐
1. │ 2019-01-01 00:00:00.123456 │ written_by_clickhouse │
2. │ 2019-01-01 00:00:00.000000 │ written_by_postgres   │
   └────────────────────────────┴───────────────────────┘

So, there is losing microsecond part of date.