PostgreSQL

关注公众号 jb51net

关闭
首页 > 数据库 > PostgreSQL > 将PostgreSQL修改为中国时区

将PostgreSQL的时区修改为中国时区的设置指南

作者:测试运维日常笔记

PostgreSQL默认时区可能导致时间显示混乱,本文手把手教你如何将数据库时区永久修改为中国时区(Asia/Shanghai),涵盖临时修改和永久修改两种方法,帮助您根据实际需求选择合适的配置方案,需要的朋友可以参考下

引言

PostgreSQL 数据库的时区设置对于确保时间相关数据的正确存储、处理和显示至关重要。默认情况下,PostgreSQL 可能使用 UTC 或其他时区,这会导致日志时间戳、时间函数返回值与本地时间不一致,给开发和运维带来困扰。

本文将详细介绍如何将 PostgreSQL 的时区修改为中国时区(Asia/Shanghai),涵盖临时修改和永久修改两种方法,帮助您根据实际需求选择合适的配置方案。

1. 临时修改(数据库重启后失效)

您可以在 psql 命令行中执行以下命令,立即生效,但仅限当前会话或直到数据库重启。

SET log_timezone TO 'Asia/Shanghai';

2. 永久修改(修改配置文件)

这是最根本的解决方法,即使重启数据库也会保持中国时区设置。

第一步:确认当前设置

首先,登录到数据库,查看当前的时区设置:

SHOW log_timezone;
SHOW timezone;

第二步:修改配置文件

找到 PostgreSQL 的配置文件 postgresql.conf,修改以下两个参数:

# 使用 vi 或其他编辑器编辑配置文件
vi /var/lib/pgsql/15/data/postgresql.conf

找到文件中的这两个参数,修改为:

# 日志记录的时区,修改为中国时区
log_timezone = 'Asia/Shanghai'

# 数据库内部存储和计算的时区,也建议修改为中国时区
timezone = 'Asia/Shanghai'

如果行首有 # 号,请务必去掉,否则该行不会生效。

第三步:重启数据库服务

要使配置文件中的修改生效,需要重启 PostgreSQL 服务。

systemctl restart postgresql-15

第四步:验证修改结果

重启后,再次登录数据库,运行 SHOW log_timezone;SHOW timezone; 确认值已变为 Asia/Shanghai

到此这篇关于将PostgreSQL的时区修改为中国时区的设置指南的文章就介绍到这了,更多相关将PostgreSQL修改为中国时区内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文