postgresql设置max_connections太大无法启动 (转载)

本篇随笔转载自https://my.oschina.net/u/2381678/blog/552346。

在生产环境postgresql中,需要调整最大链接数,但是调整后无法启动

错误的意思就是内核中信号量集和信号量的配置太小了。信号量在内核中,主要解决进程间同步、异步的锁问题,因为PostgreSQL的每个链接是一个进程,所以需要更多的锁来使用。查看方法:

这四个数字分别是:SEMMSL,SEMMNS,SEMOPM,SEMMNI

SEMMSL:内核参数,控制每个信号量集合的最大信号数。

SEMMNS:内核参数,控制系统范围内能使用的最大信号量数。

SEMOPM:semop()函数(内核函数,用来操作信号量)每次调用锁能操作的一个信号量集中的最大信号量。

SEMMNI:内核中信号量集的最大数量。

SEMMNS=SEMMSL*SEMMNI

SEMOPM=SEMMSL,这两个参数一般设置为相同。

对于PostgreSQL数据库来说:

SEMMNI >= ceil((max_connections + autovacuum_max_workers + 4) / 16)

SEMMSL >= 17

假设一个PG库如下设置:

max_connections=1000, autovacuum_max_workers =3,

则这几个参数的设置是:

SEMMNI = ceil((1000+3+4))/16)=63,因为考虑到其他进程使用,一般设置为63+25=88

SEMMSL要求大于17,保持默认250

SEMOPM=SEMSL=250

SEMMNS=SEMMNI*MSMMSL=88*250=22000

在/etc/sysctl.conf文件中添加:

kernel.sem=250  22000 250  88

运行:sysctl -p

使配置生效

设置完成之后,如果启动数据库还是报同样的错误,那么可以重启操作系统。(具体什么原因,我也不知道,如果有哪位明白的大神,请赐教)

时间: 2024-11-05 16:12:47

postgresql设置max_connections太大无法启动 (转载)的相关文章

撼动 IT 界的十大编程语言【转载+整理】

提这些的目的是要保持关注最新的技术.如果你是一个程序员,想要探究未来技术,那这篇文章是你的必读之选.这里列出了10种编程语言,它们可能会改变IT界的工作方式. 下面这些语言都有其实际的需求,举例来说,Web 开发,已目前的 Web 开发方式,实在是太麻烦了.涉及到 HTML.CSS.Javascript 以及 Ajax,再就是一个服务器语言,Java 或 C#,或是 PHP,这实在太繁琐了,有没有用一个语言,将这些所有问题都解决呢~ Dart语言 这种网络编程语言由谷歌创造,帮助开发者克服 Ja

TCP/IP详解学习笔记 这位仁兄写得太好了.(转载)

TCP/IP详解学习笔记   这位仁兄写得太好了 TCP/IP详解学习笔记   这位仁兄写得太好了. http://blog.csdn.net/goodboy1881/category/204448.aspx TCP/IP详解学习笔记(13)-TCP坚持定时器,TCP保活定时器 TCP/IP详解学习笔记(12)-TCP的超时与重传TCP/IP详解学习笔记(11)-TCP交互数据流,成块数据流 TCP/IP详解学习笔记(1)-基本概念 为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着

PDF太大怎么办?如何压缩PDF文件大小

现在有了云储存,虽然有很多的空间来储存我们各种的电子数据,但是文件太大,不仅上传下载很麻烦,在电脑或者是手机等设备上打开文件时也会非常卡顿!PDF文件里常常包含图片.文字.表格等等内容,一般都会比较大,尤其是那种整本书的或者电器说明的pdf,非常大,这可给我们的传输和储存都带来不小的麻烦.其实pdf可以使用压缩器将它压缩到更小的,那么我们如何又好又快的对PDF文件进行压缩呢? 要对PDF文件进行压缩可以使用迅捷PDF压缩工具进行文件压缩,软件拥有强大的压缩功能和出色的压缩效果,用事实说话,本身采

DB太大?一键帮你收缩所有DB文件大小(Shrink Files for All Databases in SQL Server)

本文介绍一个简单的SQL脚本,实现收缩整个Microsoft SQL Server实例所有非系统DB文件大小的功能. 作为一个与SQL天天打交道的程序猿,经常会遇到DB文件太大,把空间占满的情况: 而对于开发测试人员来说,如果DB数据不是特别重要的话,不会特意扩大磁盘空间,而是直接利用SQL的Shrink File功能缩小DB文件大小,详见:https://docs.microsoft.com/en-us/sql/relational-databases/databases/shrink-a-f

实现不了的250亿 苏宁众包画饼太大

苏宁近几年玩了太多噱头:将自己定位于"云商"大玩线上线下同步.咋咋呼呼的弄出一个无疾而终的开放平台.以及免费贴膜告示噱头来吸引眼球,似乎也在向业界和用户诉说着自己对未来规划的茫然. 就在这些噱头还未停歇之际,苏宁最近又开始炒作众包的概念,并大喊着要改变整个供应链模式.实现商业模式的深度变革的口号.并且还夸下海口,明年就能创造250亿元价值的"巨大"诺言.不过各位看官,可别被这些新潮.老套的概念忽悠得晕头转向,要知道对于现在的苏宁来说,这众包模式和250亿的目标或许注

[转]MySql ibdata1文件太大如何缩小

From : http://blog.chinaunix.net/uid-24373487-id-4223322.html 原文地址:MySql ibdata1文件太大如何缩小 作者:emailwht MySql ibdata1文件太大如何缩小 MySql innodb如果是共享表空间,ibdata1文件越来越大,达到了30多个G,对一些没用的表进行清空:truncate table xxx;然后optimize table xxx; 没有效果因为对共享表空间不起作用.mysql ibdata1

分享工作中遇到的问题积累经验 事务日志太大导致insert不进数据

原文:分享工作中遇到的问题积累经验 事务日志太大导致insert不进数据 分享工作中遇到的问题积累经验 事务日志太大导致insert不进数据 今天开发找我,说数据库insert不进数据,叫我看一下 他发了一个截图给我 然后我登录上服务器,发现了可疑的地方,而且这个数据库之前有一段经历 在月初的时候这个数据库曾经置疑过,启动不起来 Could not redo log record (163041:116859:5), for transaction ID (0:-1175226963), on

HTML中小meta的大作用----网上转载

meta是用来在HTML文档中模拟HTTP协议的响应头报文.meta 标签用于网页的<head>与</head>中,meta 标签的用处很多.meta 的属性有两种:name和http-equiv.name属性主要用于描述网页,对应于content(网页内容),以便于搜索引擎机器人查找.分类(目前几乎所有的搜索引擎都使用网上机器人自动查找meta值来给网页分类).这其中最重要的是description(站点在搜索引擎上的描述)和keywords(分类关键词),所以应该给每页加一个m

WinSCP登陆服务器提示收到了太大的SFTP包 支持的最大包大小1024000B

前情回顾: 每次用rm都心惊胆战,于是5月7号晚上,找资料把rm替换为mv命令,模拟成了WINDOWS下面的回收站. 组里面有好几个人一起使用服务器,回收站的文件夹就设置到了每个用户起始目录下. 把每个用户的.bashrc修改了一下,一时心好,想提示登录的用户现在可以找回文件: 在每个用户的~/.bashrc中增加了一行: ? 1 echo "using the order ur +filename  to recover your file" 5月8号早上来实验室,大师姐给我说,不能