我正在使用存储时间序列数据的PostgreSQL数据库。 数据使用“具有时区的时间戳”类型进行存储,并且输出为ISO格式(postgresql默认)。数据源是一个创建带有“具有时区的时间戳”数据类型的表格的闭源软件。
根据Postgres文档,时间戳的精度可达到6位数字(微秒)。因此,我的时间序列每秒记录一次,并在输出中看到毫秒。
e.g. 2012-06-25 15:46:23.001
这个软件在绘制时间序列数据时会出现毫秒级的问题,但我无法修改数据源软件以使用“timestamp(0)”创建表。
我的一个同事编写了一个函数,查询整个数据库将时间戳数据类型更改为每个表中的“带时区的时间戳(0)”。它运行良好,但需要手动操作,必须在每次创建新表后执行。我们希望避免使用该函数。
是否可以通过编辑postgresql.conf告诉PostgreSQL创建“timestamp(0)”时间戳数据类型而不是默认的“timestamp(6)”呢?