53200: out_of_memory
PostgreSQL含义
服务器无法分配操作所需的内存。某个后端进程或整个服务器处于内存压力之下。
原因
work_mem/maintenance_work_mem 设置过高并在高并发下成倍放大、单个查询中哈希/排序操作过多、连接数过多、内存泄漏,或操作系统 OOM killer 造成的压力。
解决方法
检查服务器日志中的 memory context 以及 OOM killer 的痕迹。综合考虑查询数和并发数合理设置 work_mem(每个排序/哈希都会单独分配)。用连接池限制连接数。检查操作系统的内存/overcommit 设置。优化重型查询以降低其内存需求。