在 Jelastic 上更改 PostgreSQL 节点上的 shared_buffers 值

Posted

技术标签:

【中文标题】在 Jelastic 上更改 PostgreSQL 节点上的 shared_buffers 值【英文标题】:Changing the shared_buffers value on a PostgreSQL node on Jelastic 【发布时间】:2018-07-17 16:59:31 【问题描述】:

目前,我们在 Jelastic 环境中托管的 PostgreSQL 9.4 节点上面临No unpinned buffers available 错误。网上查到的资料似乎表明可以通过将/var/lib/pgsql/data/postgresql.conf中的shared_buffers变量设置一个更大的值来解决问题,目前默认设置为128KB。

事实上,我们可以通过 Jelastic 仪表板编辑 postgresql.conf 文件,在保存文件、关闭它并重新打开它之后,似乎设置了新值。但是,重启 PostgreSQL 节点后(以便服务器应用该值),shared_buffers 值恢复为默认值,忽略我们的设置。

postgresql.conf 文件是否可以在 Jelastic 上进行编辑?为什么我们的更改会在 PostgreSQL 节点重启时被默认值覆盖?

【问题讨论】:

该文件中是否有 Jelastic 自动配置标记行? 是的,postgresql.conf 文件的开头有一个#Jelastic autoconfiguration mark. 行。 Jelastic 文档在 mysql and MariaDB 的上下文中讨论了自动配置标记,但我还没有发现 PostgreSQL 提到了这一点。我不知道这个自动配置标记。谢谢! 【参考方案1】:

如果您更改此文件中的任何配置,您需要删除 #Jelastic 自动配置标记 字符串,以免丢失您的自定义设置。

【讨论】:

谢谢。删除该行后,我在postgresql.conf中所做的更改在重启PostgreSQL节点后被保留。 更改 shared_buffers 设置后,我注意到我的数据库备份脚本(每天通过 cron 运行)不再生成有效的 PostgreSQL 备份文件(gzip 压缩备份的大小为 20 字节,并且备份文件本身的大小为 0 字节。)我不知道这是否只是巧合,还是应该归咎于 shared_buffers 设置的更改。运行脚本或 PostgreSQL 日志文件时,我找不到任何线索。我尝试执行一些标准的 Postgresql 维护例程(例如,vacuumdb),没有任何变化。知道为什么会发生这种情况吗?

以上是关于在 Jelastic 上更改 PostgreSQL 节点上的 shared_buffers 值的主要内容,如果未能解决你的问题,请参考以下文章

ZF2 + Composer + Jelastic 中的教义

Jelastic Tomcat Console.Log 文件

在 Windows 7 上更改/重置 postgresql 用户密码

在Windows 7上更改/重置postgresql用户密码

如何在 docker 上更改 postgreSQL 9.5 的时区?

Jelastic MySQL 集群和数据库用户