3.9.?联接时收到'Sorry,too many clients'消息,这是为什么?

需要增大postmaster可以启动的并发后端进程数目的限制。

可以通过-N开关启动postmaster增加这个数目,缺省最大可以设置为1024;如果需要更多后端进程,增大include/config.h里的MAXBACKENDS值然后重新制作。也可以在配置的时候设置-N的缺省值:使用configure的--with-maxbackends来进行设置。

如果把-N设置为大于32,必须同样增大-B,-B必须最少是-N的两倍,而且为了更好的性能可能要比那个数字要大。对于大数目的后端进程,需要增加许多Unix内核配置参数值。要检查的东西包括共享内存块的最大尺寸,SHMMAX,信号灯的最大数目,SEMMNS和SEMMNI,最大的进程数,NPROC,单用户最大进程数,MAXUPRC,以及打开文件的最大数目,NFILE和NINODE。Postgres对允许的后端进程数有限制的原因是为了确保系统不会用光资源。

最大后端数目缺省是64时,首先需要修改include/storage/sinvaladt.h里的MaxBackendId常量,然后重新制作。

XML 地图 | Sitemap 地图