Postgresql 8.4 - > 9.1:分析VERBOSE; - >超出共享内存

时间:2014-05-12 13:06:18

标签: memory statistics postgresql-9.1

仅供参考,此问题也发布在PG-General邮件列表中

我们遇到问题,因为我们从8.4迁移到9.1。

当我们玩的时候:

ANALYSE VERBOSE; 

(所有数据库的统计数据,所有表中有500个表和1到DATA)

我们现在有这样的信息:

org.postgresql.util.PSQLException: ERROR: out of shared memory Indice : You might need to increase max_locks_per_transaction.

当我们在8.4时,没有错误,服务器上有我们特定的postgresql.conf配置:

default_statistics_target = 200
maintenance_work_mem = 1GB
constraint_exclusion = on
checkpoint_completion_target = 0.9
effective_cache_size = 7GB
work_mem = 48MB
wal_buffers = 32MB
checkpoint_segments = 64
shared_buffers = 2304MB
max_connections = 150
random_page_cost = 2.0
max_locks_per_transaction = 128 **

max_lock_per_transaction是默认值(64?),我们已经尝试根据错误提示增加

我们已经尝试过增加linux共享内存。你有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我尝试降低maintenance_work_mem(尝试256MB)并将max_locks_per_transaction设置为更高的值,例如1024