postgres默认时区
我安装了PostgreSQL 9,它显示的时间是服务器时间的1小时。
运行Select NOW()
显示: 2011-07-12 11:51:50.453842+00
服务器date显示:2012年7月12日12:51:40 BST 2011
它是1小时后,但phppgadmin中显示的时区是:TimeZone Etc / GMT0
我试图进入postgresql.conf并设置timezone = GMT,然后运行重新启动,但没有改变。
我认为它会使用服务器时区的任何想法,但显然不是?!
解决方法!:我确实设置了格林威治标准时间之前,这是一个小时后..search周围后,我需要将其设置为欧洲/伦敦。 这考虑到在英国夏令时+1小时,格林尼治标准时间不会!
时区是一个会话参数。 所以,你可以改变当前会话的时区。
看文档 。
set timezone TO 'GMT';
或者,更严格地遵循SQL标准,使用SET TIME ZONE
命令。 注意两个单词“TIME ZONE”,上面的代码使用单个单词“timezone”。
SET TIME ZONE 'UTC';
该文件解释了不同之处:
SET TIME ZONE扩展了SQL标准中定义的语法。 该标准只允许数字时区偏移,而PostgreSQL允许更灵活的时区规范。 所有其他SETfunction都是PostgreSQL扩展。
为了实现Postgres 9.1中的时区更改,您必须:
1.-在/usr/share/postgresql/9.1/中的“timezones”文件夹中search合适的文件,在我的情况下是“America.txt”,在其中search离您最近的位置,然后复制左列中的第一个字母。
例如:如果你在“纽约”或“巴拿马”,那就是“EST”:
# - EST: Eastern Standard Time (Australia) EST -18000 # Eastern Standard Time (America) # (America/New_York) # (America/Panama)
2.-取消注释postgresql.conf
文件中的“timezone”行,并将您的时区显示如下:
#intervalstyle = 'postgres' #timezone = '(defaults to server environment setting)' timezone = 'EST' #timezone_abbreviations = 'EST' # Select the set of available time zone # abbreviations. Currently, there are # Default # Australia
3.-重新启动Postgres
从以下select时区:
SELECT * FROM pg_timezone_names;
并设置示例:
ALTER DATABASE postgres SET timezone TO 'Europe/Berlin';
使用你的数据库名称。
穆罕默德·乌萨马 接受的答案是正确的。
configuration参数名称
该答案显示了如何使用以下命令设置Postgres特定的configuration参数:
SET timezone TO 'UTC';
…其中timezone
不是SQL命令,它是configuration参数的名称。
看到这个文件 。
标准的SQL命令
或者,您可以使用SQL规范定义的SQL命令: SET TIME ZONE
。 在这个语法中,一对单词TIME ZONE
replace“timezone”(实际的SQL命令与参数名称),并且没有“TO”。
SET TIME ZONE 'UTC';
这个命令和上面的命令都有相同的效果,只能设置当前会话的值。 为了使更改永久,请参阅兄弟的答案 。
看到这个文件 。
时区名称
您可以指定一个适当的时区名称 。 其中大部分是大陆/地区。
SET TIME ZONE 'Africa/Casablanca';
…要么…
SET TIME ZONE 'America/Montreal';
避免使用3或4个字母缩写,如EST
或IST
因为它们既不标准也不唯一。
获取当前区域
要查看会话的当前时区,请尝试以下任一语句。 从技术上讲,我们正在调用SHOW
命令来显示运行时参数。
SHOW timezone ;
…要么…
SHOW time zone ;
美国/太平洋
除了以前的答案,如果您使用工具pgAdmin III,您可以设置时区如下:
- 通过工具>服务器configuration> postgresql.conf打开Postgresconfiguration
- 查找input时区并双击打开
- 更改值
- 重新加载服务器以应用configuration更改(播放button顶部或通过服务)