Контекст: я использую Postgres 9.3 и psql (PostgreSQL) 11.1.
С учетом следующей таблицы:
create table ts_test(ts timestamp);
Следующие команды вставки отображают время с микросекундной гранулярностью:
INSERT INTO ts_test
VALUES
(now()),
(TIMESTAMP '2019-03-06 20:18:41.000001');
select * from ts_test;
ts
----------------------------
2019-03-06 20:40:35.062547
2019-03-06 20:18:41.000001
Однако, когда вставляется метка времени со всеми нулями в качестве микросекундного компонента, я наблюдаю следующее поведение:
INSERT INTO ts_test VALUES (TIMESTAMP '2019-03-06 20:18:41.000000');
select * from ts_test;
ts
----------------------------
2019-03-06 20:40:35.062547
2019-03-06 20:18:41.000001
2019-03-06 20:18:41
Я изучил документацию, но я рисую полный пробел относительно того, почему микросекунды опущены в третьей записи.