摘要: 一、概述 invalid byte sequence for encoding "UTF8": 0x00(注意:若不是0x00则很可能是字符集设置有误),是PostgreSQL独有的错误信息,直接原因是varchar型的字段或变量不接受含有'\0'(也即数值0x00、UTF编码'\u0000')的字 阅读全文
posted @ 2018-01-04 16:59 闻歌感旧 阅读(37527) 评论(0) 推荐(1) 编辑
摘要: PostgreSQL中用CREATE OR REPLACE VIEW更新视图时,只能在最后增加字段,不能改字段名、不能删除字段、也不能在中间增加字段。建议改用先DROP VIEW再CREATE VIEW的风格,为防止视图层次引用所带来的顺序问题,在DROP VIEW时同时带上IF EXISTS和CASCADE选项。 阅读全文
posted @ 2017-12-23 15:33 闻歌感旧 阅读(3308) 评论(0) 推荐(0) 编辑
摘要: PostgreSQL在位操作时,有时会报"can't cast type numeric to bit"的错误。这是因为参与运算的变量被定义为numeric(n, 0)而不是直接定义为整型,因此需要先将其转换为整形再使用位操作符。 阅读全文
posted @ 2017-12-19 09:52 闻歌感旧 阅读(1470) 评论(0) 推荐(0) 编辑
摘要: 程序运行时抛出“不良的类型值: long”错误,经分析是在读取主库按二进制数组方式存储的LOB数据时,按默认的oid + bigobject方式而导致。早先的重写PostgreSQL94Dialect的remapSqlTypeDescriptor()接口仍不能杜绝错误产生。经分析hibernate-core源码,继续改写getSqlTypeDescriptorOverride()接口,终于解决了问题。 阅读全文
posted @ 2017-12-11 17:54 闻歌感旧 阅读(22984) 评论(0) 推荐(1) 编辑
摘要: PostgreSQL的数据字典里存放的表名、列名均为全小写,而其JDBC的部分接口在处理时没有进行大小写转换,导致调用时的返回结果为空。个人倾向于认为这是bug,请在使用相关接口时加入大小写转换的代码。 阅读全文
posted @ 2017-12-08 14:07 闻歌感旧 阅读(1270) 评论(1) 推荐(0) 编辑
摘要: PostgreSQL把空串('')、空值(NULL)当作不同的值,从而影响到那些没有申明为NOT NULL字段上创建的unique约束。最彻底的解决方法是将应用代码中赋空串的地方全部改为赋空值,另一个变通方法是创建触发器,在插入或修改之前将约束字段的空串自动修改为空值。 阅读全文
posted @ 2017-11-13 09:18 闻歌感旧 阅读(3324) 评论(0) 推荐(0) 编辑
摘要: 在将JPA项目移植到PostgreSQL环境时,除一些简单的类型不匹配错误外,令人非常头疼的是BLOB, CLOB及JSON类型的问题。本文根据搜索到的资料,加上自己实际操作过程中的分析验证,将最终的解决思路进行总结。 阅读全文
posted @ 2017-11-11 10:35 闻歌感旧 阅读(5889) 评论(0) 推荐(0) 编辑
摘要: 一、综述 今天在PostgreSQL遇到一个奇怪的现象,简而言之,是想用函数(存储过程)实现插入记录,整个过程没报错但事后却没找到记录!忙活半天,才发现原因是PostgreSQL函数(存储过程)有自动COMMIT或ROLLBACK的特殊规定。 二、问题重现 以下用示例表和示例代码来重现该问题。 涉及 阅读全文
posted @ 2017-11-06 14:31 闻歌感旧 阅读(11193) 评论(1) 推荐(0) 编辑
摘要: 一、前言 客户在计划将业务向云平台迁移,这些天也在测试将数据库由Oracle替换为开源的PostgrSQL。为什么选PostgreSQL?因为这是对应用程序代码修改最小的方案,没有之一! PostgreSQL数据库的简要信息为:服务器loacalhost,端口5432,数据库projadm,用户名/ 阅读全文
posted @ 2017-11-03 17:16 闻歌感旧 阅读(1286) 评论(0) 推荐(0) 编辑
摘要: PostgreSQL内置UUID类型,但默认安装时并没有带相关函数,需要手工生成。 在早期版本(貌似直到9.3仍如此),通过执行脚本uuid-ossp.sql可以生成UUID相关函数,该脚本通常在安装目录的share/contrib/文件夹。 但到9.4版后,此方法已不可行。首先脚本变为安装目录的s 阅读全文
posted @ 2017-10-31 11:49 闻歌感旧 阅读(4471) 评论(0) 推荐(0) 编辑