postgresql Google Cloud SQL Postgres Time Zones [已关闭]

jobtbby3  于 2023-11-18  发布在  PostgreSQL
关注(0)|答案(1)|浏览(111)

已关闭。此问题需要details or clarity。目前不接受回答。
**要改进此问题吗?**通过editing this post添加详细信息并阐明问题。

21天前关闭
Improve this question
在将本地postgres数据库从本地机器迁移到Google Cloud SQL postgres示例后,很难纠正一大堆日期时间错误。
原始数据库中有大量的数据,使用时间戳字段,其中日期由Windows和PHP应用程序使用本地时间戳提供(CST/CDT...'America/Winnipeg')。原始服务器配置为'America/Winnipeg'时区。在此之上,我有大量的视图/函数/过程(每个都有数百个)使用时间戳数学来确定时间戳之间的持续时间(以分钟为单位)(又名:工资单/出勤)。所有这些现在都是fubar,因为current_timestamp,localtimestamp和now()都返回UTC值。
尝试设置TIMEZONE没有任何效果。命令运行但没有任何变化。
我有大量的应用程序提供奇怪的结果(VB.Net,C#,PHP,Winforms,Blazor等)。
有人知道如何解决这个问题吗?

gab6jxml

gab6jxml1#

您有四个选项:
1.在服务器上的postgresql.conf文件中更改timezone参数,或使用ALTER SYSTEM进行更改。在重新加载时,此操作将在所有未覆盖该参数的会话中生效。
1.使用以下命令更改timezone参数

ALTER DATABASE ... SET timezone = 'America/Winnipeg';

字符串
这将适用于不覆写参数的每个新数据库工作阶段。
1.使用以下命令更改每个数据库会话中的参数

SET timezone = 'America/Winnipeg';


1.请使用current_timestamp,而不是

current_timestamp AT TIME ZONE 'America/Winnipeg'


到处

相关问题