我有postgres服务器限制在100 max_connections,并且在某些时刻应用程序正在大量使用达到限制,所以我尝试增加该数量,当我尝试重新启动postgres,不会启动,并在log我收到的消息由于某些System V IPC参数(Ubuntu linux)而无法启动。接下来的问题是,尝试更改此参数是否更好,或者最好使用一些像pgbouncer这样的postgres插件(我想我读过pgbouncer可以解决这个问题的地方)或者其他...有关更改System V的任何建议IPC参数或使用某些插件解析。
答案 0 :(得分:1)
一般来说,碰撞max_connection
并不是一件好事。更多的连接会花费更多的系统资源。
注意:增加max_connections每个共享内存的成本约为400字节 连接槽,加上锁定空间(请参阅max_locks_per_transaction)。
请查看相关的wiki文章: http://wiki.postgresql.org/wiki/Number_Of_Database_Connections
关于System V IPC的问题,我不知道。我设置max_connections=2000
(Ubuntu linux,PostgreSQL 9.3),它可以重启。
<强>更新强>
本文介绍了一些关于Shared Memory and Semaphores
以及为某些平台设置它们的方法
http://www.postgresql.org/docs/devel/static/kernel-resources.html#SYSVIPC