在Postgres中引用时区

3
我需要为Postgres 9.3的用户存储时区信息。
一个逻辑解决方案是创建一个包含时区名称和偏移量的表,然后在我的用户表中存储一个FK引用。
然而,Postgres已经有了一个显示Postgres所知道的时区名称的视图pg_timezone_names。看起来很合理只是引用这些名称,而不是创建自己的完全相同的表。然而,pg_timezone_names是一个视图,因此无法被引用。
是否存在一个系统表来保存这些时区名称,可安全引用,或者这样做是一个糟糕的主意?
2个回答

1
与其使用FK引用,您应该考虑去规范化。使用用户的时区的字符串名称来存储,使用IANA时区标识符,例如'America/Los_Angeles'。这些ID被{{link2:Postgres使用},并且也可以与其他系统互换。
请记住,时区不能仅由偏移表示。在时区标签维基的“时区!=偏移”部分中阅读更多信息。

0

这比好的更糟糕-时区列表会不断更新-有些时区可能会被删除,有些则是新增。


这不是一个答案。 - Matt Johnson-Pint

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接