【索引类型、数据库版本】PSQL报错:cache lookup failed for type 0

报错信息

\n### Error querying database.  Cause: org.postgresql.util.PSQLException: ERROR: cache lookup failed for type 0\n### The error may exist in class path resource [mapper/RegionElementRiskEvaluateMapper.xml]\n### The error may involve diit.microservice.mapper.MajorDangerousEvaluate.RegionElementRiskEvaluateMapper.getPgData-Inline\n### The error occurred while setting parameters\n### SQL: SELECT count(0) FROM qyzzt_std_g_zj_risk_census_city_house\n### Cause: org.postgresql.util.PSQLException: ERROR: cache lookup failed for type 0\n; uncategorized SQLException; SQL state [XX000]; error code [0]; ERROR: cache lookup failed for type 0; nested exception is org.postgresql.util.PSQLException: ERROR: cache lookup failed for type 0"

解决方案

1、 修改索引方法类型
2、 升级PGSQL版本
因为现场PGSQL版本升级对数据影响有很多不确定性,所以最终选择了修改空间字段geom的索引类型。

以前的索引类型:SP-GIST
在这里插入图片描述
改后的索引类型:GIST
在这里插入图片描述

报错原因

postgreSQL的版本bug。
参考博客(外网帖子):
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Bug还原

系统配置

现场服务器
物理内存:16G
postgresql 11.12:共享缓存2G
Linux 7.6 centos
postgis 2.5.2
数据库连接:249

本地服务器
物理内存:16G
postgresql 11.13:共享缓存128M
windows
数据库连接:64

报错特性描述
  • 现场部署的系统,当查询数据量较大时,就报这个错;当把表的数据改为只有1条数据时,查询不报错
  • 在现场的navicat中执行sql不报错
  • 在本地启动项目,测试时也不报错
  • 查询报错的库表,都包含空间字段
已验证的无效方案

× 将视图改为表,数据直接从表中获取
× 进程多,并发导致
× 修改现场服务的postgresql配置:
修改以下参数:
alter system set shared_buffers = ‘6GB’;
alter system set work_mem = ‘50MB’;
alter system set effective_cache_size=‘16GB’;
重启数据库

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,"cache lookup failed for type 7594"是一个报错信息,它表明在查询数据库时发生了一个缓存查找失败的错误。具体的解决方案可能因情况而异,但可以参考以下引用内容提供的一些建议。 引用中提到的报错信息显示了可能存在于数据库连接的问题,其中包括错误的SQL语句以及与PostgreSQL相关的错误。在这种情况下,可以考虑检查数据库连接配置是否正确,并确保数据库是否正常运行。如果可能的话,还可以尝试重新启动数据库来解决问题。 引用中提到的现场服务器配置信息显示了物理内存、共享缓存和数据库连接等参数。根据这些信息,可以考虑调整数据库的共享缓存大小,如将"shared_buffers"参数设置为更合适的大小。 引用中提到的解决方案包括将视图改为表,直接从表中获取数据,以及修改现场服务的PostgreSQL配置。具体来说,可以尝试将相关数据从视图改为表,并根据需要修改数据库的一些参数,如"shared_buffers"、"work_mem"和"effective_cache_size"等。修改完成后,需要重新启动数据库才能使更改生效。 综上所述,解决"cache lookup failed for type 7594"的问题可能需要检查数据库连接配置、重新启动数据库、调整数据库的共享缓存大小以及修改相关的PostgreSQL配置参数。具体的解决方法应根据情况来确定。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【索引类型数据库版本PSQL报错cache lookup failed for type 0](https://blog.csdn.net/qq_40605238/article/details/122088111)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值