В Postgres я пытаюсь создать поле метки времени с точностью до микросекунды.
Если я запрашиваю метку времени в печатном формате, она отображает дату с точными микросекундами, но если я запрашиваю эпоху, она отображает только 5 цифр ...
Пример
CREATE TABLE date_test (datetime timestamp(6) WITH TIME ZONE);
INSERT INTO date_test VALUES(TO_TIMESTAMP(1525745241.879112));
SELECT datetime FROM date_test; //returns 2018-05-08 12:07:21.879112+10
SELECT EXTRACT(epoch FROM datetime) from date_test; //returns 1525745241.87911
В чем причина потери последней цифры? Является ли запрос по своей сути преобразованным в плавающую точку и теряющим точность? Есть ли какой-нибудь простой способ хранить даты с точностью до микросекунды в Postgres?