这个错误是个困扰我很长时间的问题,我发生此问题在进行大数据导入的时候,开始发现此错误提示的时候,我们都会从内存调整的角度去考虑,比如调整内存相关的参数,比如我按照如下的调整。
gpconfig -c max_statement_mem -v 10GB #单个查询最大内存
gpconfig -c max_work_mem -v 10GB #与上面相关
gpconfig -c statement_mem -v 4GB
gpconfig -c work_mem -v 8GB
gpconfig -c temp_buffers -v 524288 #临时缓冲区默认1M,默认值1024
但是执行以上参数调整后,只是延缓了出错的时间,最终还是会报上面的错误,后来与群里的朋友交流发现,其实这是一个算不上bug的bug,为什么这么说,因为GPDB在大数据量导入的过程中,尤其在存储过程和函数的使用中,会出现上面的问题,调整参数对于一些情况是起作用的,比如移动的一位朋友就通过调整参数解决了类似的问题,但是对于我而言无效,最终通过调整导入策略的方式解决此问题。
之前的逻辑是: