背景

PostgreSQL 可以使用IANA发布的时区数据库,但是由于IANA发布的数据库中,有些定义的时区别名并没有对应的时区。

从而导致PG在解析对应别名时会报错。

# select '2016-09-02 08:00:00 NOVST'::timestamptz;
ERROR:  time zone abbreviation "novst" is not used in time zone "Asia/Novosibirsk"

查询pg_timezone_abbrevs函数返回所有的别名与时区对应关系,也会报错。

postgres=# select pg_timezone_abbrevs ();
ERROR:  time zone abbreviation "novst" is not used in time zone "Asia/Novosibirsk"

修复BUG

在PostgreSQL的BUG报告中已经有在讨论这个问题

https://www.postgresql.org/message-id/flat/20160902031551.15674.67337%40wrigleys.postgresql.org#20160902031551.15674.67337@wrigleys.postgresql.org

https://www.postgresql.org/message-id/flat/6189.1472820913%40sss.pgh.pa.us#6189.1472820913@sss.pgh.pa.us

TOM LANE提供了一个patch,可以避免出现以上问题。

wget https://www.postgresql.org/message-id/attachment/45970/allow-timezone-abbrevs-not-matching-iana-data.patch
cd postgresql-9.5.4
patch -p1 < ../allow-timezone-abbrevs-not-matching-iana-data.patch
make -j 32
make install

重启数据库,测试,如果时区别名不存在时区映射关系时,使用了本地时区。

postgres=# select '2016-09-02 08:00:00 NOVST'::timestamptz;timestamptz
------------------------2016-09-02 09:00:00+08
(1 row)

长期来看,等PG的内核修复。

参考

https://www.postgresql.org/message-id/flat/20160902031551.15674.67337%40wrigleys.postgresql.org#20160902031551.15674.67337@wrigleys.postgresql.org

https://www.postgresql.org/message-id/flat/6189.1472820913%40sss.pgh.pa.us#6189.1472820913@sss.pgh.pa.us

Count

PostgreSQL failed IANA tz database BUG修复相关推荐

  1. 【Bug修复】Room数据库 The columns returned by the query does not have the fields......

    BUG信息 使用Room数据库进行数据存储和读取的时候,出现了这个BUG The columns returned by the query does not have the fields [cha ...

  2. Failed to shutdown database console gracefully

    今天在执行emctl stop dbconsole的时候,出现一个错误:    Failed to shutdown database console gracefully     查找metalin ...

  3. TensorFlow 1.8.0正式发布,Bug修复和改进内容都在这里了

    译者 | 王柯凝 编辑 | Just 出品 | AI科技大本营(公众号ID:rgznai100) [导语]TensorFlow 1.8.0 近日正式发布,新版本主要有以下改进内容,AI科技大本营对其编 ...

  4. TensorFlow1.8.0正式发布,Bug修复和改进内容都在这里了

    译者 | 王柯凝 编辑 | Just 出品 | AI科技大本营(公众号ID:rgznai100) [导语]TensorFlow 1.8.0 近日正式发布,新版本主要有以下改进内容,AI科技大本营对其编 ...

  5. TensorFlow 1.7.0正式发布,Bug修复和改进内容都在这里了

    编译 | AI科技大本营(公众号ID:rgznai100) 参与 | 张建军 TensorFlow 1.7.0 近日正式发布,新版本主要有以下改进内容,AI科技大本营对其进行了编译. 主要特征和改进 ...

  6. 一分钟详解initUndistortRectifyMap函数bug修复方法

    本文首发于微信公众号「3D视觉工坊」--一分钟详解initUndistortRectifyMap函数bug修复方法 在上一篇文章OpenCV中initUndistortRectifyMap函数存在bu ...

  7. Swoole 1.8.12 发布,Bug修复版本

    PHP的异步.并行.高性能网络通信引擎Swoole 已发布 1.8.12 版本.此版本是一个BUG修复版本,修复了多个细节问题.建议所有用户升级至此版本. 主要更新: 修复SwooleTable在遍历 ...

  8. IE haslayout的理解与bug修复

    要想更好的理解 css, 尤其是 IE 下对 css 的渲染,haslayout 是一个非常有必要彻底弄清楚的概念.大多 IE 下的显示错误,就是源于 haslayout 什么是 haslayout ...

  9. 被尘封的故事技能点bug_新月纪元稳定版下载-新月纪元bug修复版1.0 修复版

    新月纪元是一款二次元像素风格动作射击roguelike类游戏.玩家将成为主角开启自己的冒险之旅.多种游戏模式,海量的游戏关卡等你来战,还有强大的副本boss可以挑战,给你绝佳的游戏乐趣! 新月纪元bu ...

最新文章

  1. 图的实现(邻接链表C#)
  2. mac上投屏android_全平台Win/Mac全设备Android/iOS 免费无线投屏神器
  3. 最短无序连续子数组—leetcode581
  4. github哪些协议能商用_GitHub 上有哪些一般人也可以用的项目?
  5. CVPR 2021 图像压缩最新进展
  6. 手把手叫你一台电脑配置两个Git账户
  7. linux 下测速时间分析
  8. 架构中的技术性解决难题之解决篇
  9. Qt之QListView使用
  10. vue根据屏幕大小适配表格高度
  11. 在mac11以上系统可用的cocosbuilder3.0,12也可用。
  12. Excel转shape file
  13. Android Studio gradle 自定义签名设置
  14. Apple Watch使用指南:所有Apple Watch图标和符号含义
  15. 树莓派计算模块CM4搭建软路由OpenWrt+OpenClash过程记录
  16. SQLiteManager 序列号 破解
  17. 淘票票sign----js(5: 继续淘票票--sign 生成完成)
  18. 什么是.vue文件,它的作用是什么
  19. 服务治理(系统监控篇): 开源一站式运维管家ChengYing(承影)
  20. spark面试题总结(大数据面试)

热门文章

  1. vue 怎么在字符串中指定位置插入字符_vue项目中在可编辑div光标位置插入内容的实现代码...
  2. python读文件和写文件-python开发--从文件中读取数据和写入文件
  3. java字符串去重复_java去除字符串中重复、不重复、消除重复后字符
  4. 要引爆用户增长?抵制“诱惑”更健康
  5. 如何成为一名大数据工程师?
  6. go语言渐入佳境[9]-doubleloop
  7. 实现一个vue的图片预览插件
  8. 06一键直达:一键整理、秒搜、秒开任何文件、软件、网址
  9. 配置防盗链、 访问控制Directory 、访问控制FilesMatch
  10. 自己动手制作(DIY)一个Mini-Linux系统