PostGIS执行ST_Transform_Resilient遇内存分配错误,如何调参数?
问题描述
在PostgreSQL 16.8 + PostGIS 3.5环境中,执行ST_Transform_Resilient函数时触发内存分配错误:
ERROR: invalid memory alloc request size 1264582656
CONTEXT: SQL function "st_transform_resilient" statement 1
该函数此前在其他数据表中可正常运行。
已尝试的无效方案
- 调整PostgreSQL内存参数,执行以下SQL后问题未解决,即使将
work_mem调高至2048MB也无效果:
SET max_parallel_workers_per_gather = 0; SET work_mem TO '64MB';
临时可行方案
将ST_Transform_Resilient替换为ST_Transform后,语句可正常执行。
补充信息
已获取两种函数在LIMIT 20条件下的执行计划。
求助需求
寻求针对该问题的正确内存参数配置方法。
内容的提问来源于stack exchange,提问作者Peter Krauss
相关产品推荐
相关产品推荐

