【发布时间】:2021-11-21 06:28:48
【问题描述】:
我在 Supabase 的 PostgreSQL (13.3) 表中有一个时间戳列。它目前将时间戳存储到微秒分辨率。我想将时间戳发送到一个 javascript 客户端,并使用它们来查询(通过 Supabase)通过这个时间戳值精确匹配的行。 Javascript Date 对象丢弃微秒并且只存储毫秒。我可以将微秒字符串与 Date 对象(我需要在各种 UI 组件中呈现)一起存储在 javascript 客户端中,但这似乎不必要地混乱且容易出错,因为重复的数据可能会不同步。
是否可以强制在 PostgreSQL 中创建的时间戳值始终为毫秒而不是微秒分辨率?目前我在 CREATE TABLE 和 upsert 函数中使用以下内容:
CREATE TABLE abc (
-- other fields
modified_at timestamp without time zone DEFAULT now()::timestamp(3) NOT NULL
);
UPDATE abc
SET
-- other fields
modified_at = now()::timestamp(3)
WHERE modified_at = item.modified_at;
与this question相关。
【问题讨论】:
标签: javascript postgresql datetime timestamp