我正在使用PostgreSQL 10。我在 3 个表中有几timestamp with timezone
列。
我是否应该在postgresql.conf
中使用UTC
作为默认时区,并在每个会话中不断转换为Europe Athens
?
或者Europe Athens
作为我的默认值,永远不必转换,但如果其他应用程序访问同一数据库,则必须转换为其时区?
什么更明智?我想我必须考虑在会话中设置时区是否会影响查询速度。
我应该在postgresql.conf中使用UTC作为我的默认时区吗?每节课都不断向欧洲转型?
不,这是浪费精力,因为无论您为默认时区选择什么,数据库都会以 UTC 格式存储时间戳。
对于时区时间戳,内部存储的值始终位于UTC(世界协调时间,传统上称为格林威治平均值(时间,格林威治标准时间(。指定了显式时区的输入值为使用该时区的适当偏移量转换为 UTC。如果输入字符串中没有说明时区,则假定为在系统时区参数指示的时区中,并且使用时区偏移量转换为 UTC。
来源: https://www.postgresql.org/docs/10/static/datatype-datetime.html