在 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用户密码