• 默认时区是指数据库服务器使用的时区设置。当插入或查询日期和时间数据时,如果没有明确指定时区信息,数据库将使用默认时区来处理。
  • 在 PostgreSQL 中,可以通过修改配置文件或使用数据库命令来设置默认时区。

查看默认时区

  1. 首先,我们需要查看当前数据库的默认时区设置。可以使用以下命令:(返回当前数据库的默认时区名称)
shoping=> SHOW timezone;
   TimeZone    
---------------
   GMT
(1 row)

修改默认时区

修改配置文件

  1. 要修改默认时区,可以编辑 PostgreSQL 的配置文件 postgresql.conf。
  2. 找到并打开 postgresql.conf 文件。该文件通常位于 PostgreSQL 安装目录下的 data 文件夹中。
  3. 搜索并定位到以下行:
#timezone = 'GMT'
  1. 删除行首的注释符 #,并将时区名称修改为所需的时区。例如,要将默认时区设置为 “Asia/Shanghai”,将行修改为:
timezone = 'Asia/Shanghai'
  1. 保存并关闭文件。重新启动 PostgreSQL 服务器才能使配置生效。

ALTER 修改

  1. 除了修改配置文件外,还可以使用 ALTER SYSTEM 命令来修改默认时区。这样可以避免重新启动服务器。
  2. 打开 PostgreSQL 的命令行界面。执行以下命令以修改默认时区:
-- 将 'Asia/Shanghai' 替换为所需的时区名称
ALTER SYSTEM SET timezone TO 'Asia/Shanghai';
  1. 重新加载配置文件以使更改生效:
SELECT pg_reload_conf();