仅供参考,此问题也发布在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共享内存。你有什么建议吗?
答案 0 :(得分:0)
我尝试降低maintenance_work_mem
(尝试256MB
)并将max_locks_per_transaction
设置为更高的值,例如1024
。