目录
环境
系统平台:Linux x86-64 Red Hat Enterprise Linux 7
版本:4.1.1
症状
应用在执行部分select语句时报错:
com.highgo.jdbc.util.PSQLExceptiontion: ERROR: XX000: could not read from hash-join temporary file: Success |
示例:
SELECT v."ID" as id , v."Name" as "name", v."Sex" as sex , v."DeleteFlag" as deleteFlag, v."Add_time" as add_time , v."org_id" as orgId, v."org_code" as orgCode, v."Mobile_phone", u."ID" as register, LEFT ( v."VillagerID", 10 ) || '****' || RIGHT ( v."VillagerID", 4 ) AS villagerID FROM "Villager" v LEFT JOIN "Sys_user" u ON v."VillagerID" = u."UserLogin"; |
当这条语句执行时会报错,当将语句中的u."ID" as register去掉则不会报错
问题原因
数据库启用FDE加密后,对数据库运行过程中产生的临时文件也进行了加密。
解决方案
后续的数据库版本中不再对临时文件加密,可通过升级到HGDB 4.3.2及以上解决该问题。
步骤:
1) 首先备份原数据库的data目录,使用pg_dump备份数据库信息
2) 卸载4.1.1版本数据库
cd /$PGHOME/bin ./uninstall |
3) 安装4.3.2或以上版本数据库
详细安装见相应平台介质的安装说明文档
更多解决方案请登录【瀚高技术支持平台】 查看