HGDB数据库时区修改
文章目录环境文档用途详细信息环境系统平台N/A版本4.1.1,4.3.2文档用途用于指导HGDB修改时区的操作详细信息1、查看系统时间与时区–linux系统[rootlocalhost ~]# date -RFri, 27 Jul 2018 14:37:48 0800–Windows系统控制面板–日期和时间–时区可以看到当前时区2、查看HGDB数据库的时区与时间highgo# select now();now-------------------------------2018-07-2714:48:35.57610208(1行记录)highgo# show time zone;TimeZone----------------Asia/Hong_Kong(1行记录)3、查看HGDB数据库所有可供选择的时区highgo# select * from pg_timezone_names;name|abbrev|utc_offset|is_dst--------------------------------------------------------------Africa/Abidjan|GMT|00:00:00|f Africa/Accra|GMT|00:00:00|f Africa/Addis_Ababa|EAT|03:00:00|f Africa/Algiers|CET|01:00:00|f Africa/Asmara|EAT|03:00:00|f Africa/Asmera|EAT|03:00:00|f Africa/Bamako|GMT|00:00:00|f Africa/Bangui|WAT|01:00:00|f Africa/Banjul|GMT|00:00:00|f Africa/Bissau|GMT|00:00:00|f Africa/Blantyre|CAT|02:00:00|f Africa/Brazzaville|WAT|01:00:00|f Africa/Bujumbura|CAT|02:00:00|f Africa/Cairo|EET|02:00:00|f Africa/Casablanca|WEST|01:00:00|t Africa/Ceuta|CEST|02:00:00|t Africa/Conakry|GMT|00:00:00|f......UCT|UCT|00:00:00|f Universal|UTC|00:00:00|f US/Alaska|AKDT|-08:00:00|t US/Aleutian|HDT|-09:00:00|t US/Arizona|MST|-07:00:00|f US/Central|CDT|-05:00:00|t US/East-Indiana|EDT|-04:00:00|t US/Eastern|EDT|-04:00:00|t US/Hawaii|HST|-10:00:00|f US/Indiana-Starke|CDT|-05:00:00|t US/Michigan|EDT|-04:00:00|t US/Mountain|MDT|-06:00:00|t US/Pacific|PDT|-07:00:00|t US/Pacific-New|PDT|-07:00:00|t US/Samoa|SST|-11:00:00|f UTC|UTC|00:00:00|f W-SU|MSK|03:00:00|f WET|WEST|01:00:00|t Zulu|UTC|00:00:00|f(593行记录)4、数据库全局时区的修改确定当前要修改为哪个时区在上面结果中找到对应的时区名称修改配置文件$PG_DATA/postgresql.conf中的参数timezone和log_timezone的值然后重新加载配置文件即可。5、修改数据库和用户级别的时区--查看当前数据库全局时区highgo# show time zone;TimeZone-----------US/Alaska(1行记录)--修改当前名为highgo的数据库时区highgo# alter database highgo set timezoneAsia/Hong_Kong;ALTERDATABASE--查询修改结果highgo# select * from pg_db_role_setting;setdatabase|setrole|setconfig-------------------------------------------------12428|0|{TimeZoneAsia/Hong_Kong}(1行记录)--修改角色highgo的时区highgo# alter role highgo set timezoneUS/Aleutian;ALTERROLE--查看修改后的效果highgo# select * from pg_db_role_setting;setdatabase|setrole|setconfig-------------------------------------------------12428|0|{TimeZoneAsia/Hong_Kong}0|10|{TimeZoneUS/Aleutian}(2行记录)--查看全局时区highgo# show time zone;TimeZone-----------US/Alaska(1行记录)HGDB可以设置数据库、角色、会话级别的时区会话级别的仅对当前会话起作用同理角色及数据库级别的仅对设置的角色及数据库起作用但不会影响设置时连接的会话需要重新连接角色或数据库后才会生效。6、时区修改后表中已有的数据只有TIMESTAMP WITH time zone类型会随时区的变化而改变如果是time WITH time zone类型可以在查询时直接转换为当前使用的时区例如highgo# SELECT 2018-08-01 14:00:0008 at time zone US/Alaska;timezone---------------------2018-07-3122:00:00(1行记录)如需将其他的时间类型修正到修改后的时区可参考如下步骤1计算两个时区间的时间差两时区间的时间差(当前时区-目标时区)目标时区的时间当前时区的时间-(当前时区-目标时区)(注:东时区为正西时区为负)例当前时区为Asia/Hong_Kong即东8区UTC/GMT08:00目标时区为US/Alaska即西8区UTC/GMT-08:00两时区间的时间差(8)-(-8)16已知东八区当前时间为2018-08-01 12:00计算西八区的时间西八区时间2018-08-01 12:00-((8)-(-8))2018-07-31 20:00:00-082根据上面的公式计算出时间差编写update语句批量更新数据即可。7、修改时区对数据的影响修改时区后数据类型“TIMESTAMP WITH time zone”会随时区发生变化其余时间类型不会跟随时区改变。以下实验说明了这种影响--查看当前时区东八区highgo# show time zone;TimeZone----------------Asia/Hong_Kong(1行记录)--创建测试表highgo# CREATE TABLE test_zone ( id NUMERIC, tpz TIMESTAMP WITH time zone, tpoutz TIMESTAMP, twz time WITH time zone, twoz time without time zone );CREATETABLE--插入测试数据highgo# INSERT into test_zone VALUES(1,2018-08-1 12:00:00,2018-08-1 12:00:00,2018-08-1 12:00:00,2018-08-1 12:00:00);INSERT01highgo# INSERT into test_zone VALUES(2,2018-08-1 13:00:00,2018-08-1 13:00:00,2018-08-1 13:00:00,2018-08-1 13:00:00);INSERT01highgo# INSERT into test_zone VALUES(3,2018-08-1 14:00:00,2018-08-1 14:00:00,2018-08-1 14:00:00,2018-08-1 14:00:00);INSERT01highgo#highgo# SELECT * from test_zone;id|tpz|tpoutz|twz|twoz------------------------------------------------------------------------1|2018-08-0112:00:0008|2018-08-0112:00:00|12:00:0008|12:00:002|2018-08-0113:00:0008|2018-08-0113:00:00|13:00:0008|13:00:003|2018-08-0114:00:0008|2018-08-0114:00:00|14:00:0008|14:00:00(3行记录)--修改当前时区改为西八区log_timezoneUS/AlaskatimezoneUS/Alaskapg_ctl reload-D D:\highgo\database\4.3.2\data--再次查询结果highgo# show time zone;TimeZone-----------US/Alaska(1行记录)highgo# SELECT * from test_zone;id|tpz|tpoutz|twz|twoz------------------------------------------------------------------------1|2018-07-3120:00:00-08|2018-08-0112:00:00|12:00:0008|12:00:002|2018-07-3121:00:00-08|2018-08-0113:00:00|13:00:0008|13:00:003|2018-07-3122:00:00-08|2018-08-0114:00:00|14:00:0008|14:00:00(3行记录)--由以上结果可知仅有tpz列数据类型为TIMESTAMP WITH time zone跟随时区发生了改变其余列数据类型分别为TIMESTAMP、time WITH time zone、time without time zone未根据时区发生改变。--根据当前的时区修正数据两个时区间相差16小时需要更新的字段为tpoutz、twz、twoz语句如下UPDATEtest_zonesettpoutztpoutz-INTERVAL16 hours,twztwz attimezoneUS/Alaska,twoztwoz-INTERVAL16 hours--数据更新之后查询结果如下highgo# SELECT * from test_zone;id|tpz|tpoutz|twz|twoz------------------------------------------------------------------------1|2018-07-3120:00:00-08|2018-07-3120:00:00|20:00:00-08|20:00:002|2018-07-3121:00:00-08|2018-07-3121:00:00|21:00:00-08|21:00:003|2018-07-3122:00:00-08|2018-07-3122:00:00|22:00:00-08|22:00:00(3行记录)

相关新闻

CMake工程指南(二):安装配置与开发环境搭建

CMake工程指南(二):安装配置与开发环境搭建

环境准备 在开始使用CMake之前,我们需要搭建合适的开发环境。本教程使用以下环境: 编辑环境:Visual Studio Code / Cursor编译环境:Ubuntu 24.04 (通过VS Code Remote SSH模式) CMake安装 方式一:使用系统包管理器…

2026/7/4 10:48:49 阅读更多 →
Flutter 三端应用实战:OpenHarmony 简易文本末尾字符查看器开发指南

Flutter 三端应用实战:OpenHarmony 简易文本末尾字符查看器开发指南

一、为什么需要“简易文本末尾字符查看器”? 在 OpenHarmony 的文本校验、格式检查与趣味探索场景中,“末尾字符”常携带关键信息: 程序员:检查文件路径是否以 / 结尾,URL 是否以 ? 或 # 结束;数据录入员…

2026/7/3 16:41:42 阅读更多 →
智能电子锁低功耗雷达感应人来唤醒、人走熄灭解决方案

智能电子锁低功耗雷达感应人来唤醒、人走熄灭解决方案

智能电子锁低功耗雷达感应人来唤醒、人走熄灭解决方案 下班回家,手里拎着购物袋,怀里抱着孩子,走到家门口还要腾出手来掏钥匙——这个场景你一定不陌生。智能门锁本该解放双手,却因为续航焦虑和响应速度问题,始终无法…

2026/7/3 16:41:54 阅读更多 →

最新新闻

AI冲击下数据岗位重构:国际人才策略与能力原子化实践

AI冲击下数据岗位重构:国际人才策略与能力原子化实践

1. 项目概述:这不是一份“就业报告”,而是一份人才迁徙路线图“2025年美国数据岗位市场”——光看标题,你可能以为这又是一份堆砌招聘平台统计数字、罗列热门职位名称的常规行业简报。但实际不是。我连续三年深度参与硅谷、纽约、奥斯汀三地的…

2026/7/4 16:36:50 阅读更多 →
STM32与MC6470 IMU的硬件协同与运动控制优化

STM32与MC6470 IMU的硬件协同与运动控制优化

1. MC6470与STM32L4S5ZI的硬件协同架构解析MC6470作为一款六轴惯性测量单元(IMU),其核心价值在于将三轴加速度计和三轴陀螺仪集成在单芯片方案中。在实际项目中,我测量到其加速度计量程可达16g,角速度测量范围达到2000dps,这对于大…

2026/7/4 16:34:49 阅读更多 →
XWiki路径遍历漏洞CVE-2025-55747复现与深度解析

XWiki路径遍历漏洞CVE-2025-55747复现与深度解析

1. 项目概述与漏洞背景 最近在梳理一些开源项目的安全公告时,XWiki的一个路径遍历漏洞(CVE-2025-55747)引起了我的注意。这个漏洞编号看着新鲜,但本质上又是一个经典的“输入验证不严”导致的安全问题。简单来说,攻击者…

2026/7/4 16:30:48 阅读更多 →
SpringBoot+Vue家政平台毕设实战:从工程化思维到生产级实现

SpringBoot+Vue家政平台毕设实战:从工程化思维到生产级实现

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Claude 随心用,限时 5 折。 👉 点击领海量免费额度 你有没有过这样的经历:毕业设计选题时,面对“家政服务平台”这类看似普通的题目,感觉无从下手&a…

2026/7/4 16:30:48 阅读更多 →
PC微信小程序V1MMWX加密包逆向解析:AES+XOR双重加密原理与Python解密实战

PC微信小程序V1MMWX加密包逆向解析:AES+XOR双重加密原理与Python解密实战

1. 项目概述:为什么我们需要关注PC微信小程序的加密包?如果你是一名前端开发者、安全研究员,或者单纯对微信小程序的技术实现感到好奇,那么你很可能已经发现,直接从PC端微信获取到的小程序包(.wxapkg文件&a…

2026/7/4 16:30:48 阅读更多 →
基于改进YOLOv3的实时口罩佩戴检测系统实现

基于改进YOLOv3的实时口罩佩戴检测系统实现

1. 项目概述:基于YOLOv3的口罩佩戴检测系统 这个毕业设计项目实现了一个基于深度学习的口罩佩戴检测系统,采用改进的YOLOv3算法作为核心检测模型。系统能够实时检测图像或视频中的人脸,并准确判断是否佩戴口罩、未佩戴口罩或佩戴不规范三种状…

2026/7/4 16:28:46 阅读更多 →

日新闻

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 正式发布,这是一个关键的安全修复版本,修复了多个方面的问题,还对部分功能进行了优化。 安全修复亮点 此次发布在安全修复上表现突出。binprot 避免了项目引用计数溢出,mcmc 因安全问题提升了上游版本号&#xf…

2026/7/4 0:04:29 阅读更多 →
终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案 【免费下载链接】HMCL A Minecraft Launcher which is multi-functional, cross-platform and popular 项目地址: https://gitcode.com/gh_mirrors/hm/HMCL HMCL(Hello Minecraft! Lau…

2026/7/4 0:06:29 阅读更多 →
KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

1. KMX63与PIC18F66K40的硬件协同架构解析KMX63作为一款三轴加速度计和磁力计组合传感器,与PIC18F66K40微控制器的搭配堪称嵌入式HMI开发的黄金组合。这套硬件组合的核心优势在于KMX63提供的高精度运动感知能力与PIC18F66K40强大的信号处理能力形成了完美互补。KMX6…

2026/7/4 0:06:29 阅读更多 →

周新闻

月新闻