前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >调整 wal_segment_size 导致PostgreSQL 停止服务

调整 wal_segment_size 导致PostgreSQL 停止服务

作者头像
AustinDatabases
发布2019-07-12 14:57:11
1.6K0
发布2019-07-12 14:57:11
举报

近一段时间一致是 MYSQL ,PostgreSQL 两条腿走路,这样做是有原因的,不是所有的企业都是互联网企业,也不是所有企业的程序员都能良好的理解MYSQL的使用方式,也不能强制要求程序员将复杂的SQL 都变成程序的方式来进行。PostgreSql 的兼容性以及对于复杂SQL 语句的处理更强悍,这是毋庸置疑的。所以这也是部分金融机构企业转向POSTGRESQL 的原因之一。所以DBER 们也的根据实际情况和业务情况以及程序员的水平和业务的稳定度综合评定出,到底是MYSQL 还是 POSTGRESQL 。

而对程序员来说无疑最收还原的还是POSTGRESQL 的稳定性以及兼容性还有一些其他数据库没有的特异功能。今天不想说这些,因为这些都是有目共睹的事情了。最近有一个项目要准备使用POSTGRESQL 作为基础数据库,在调整wal_segment_size 的时候本身没有出现什么问题,但调整之后就出现了 POSTGRESQL 突然DOWN机以及无法再启动的问题,这里的说说这个坑。

首先说这个问题之前说的,POSTGRESQL 可以调整的关于数据库内部的参数原先在PostgreSQL 中的 wal segment size 是在编译的过程中进行设置的,目前PG 11版本中是在初始数据库或者通过 pg_resetwal 来进行调整的。而如果在初始数据库的时候应该不会出现这个问题,而使用pg_resetwal 命令来进行pg_wal 的从新设置,会产生一个问题。

具体过程如下

1 关闭PostgreSQL的数据库服务

2 使用 pg_resetwal 命令将 wal size 重新进行设置

3 重新启动服务器

4 报错

FATAL: "min_wal_size" must be at least twice "wal_segment_size"

错误信息提示 min_wal_size 必须是 wal_segment_size 的两倍

我们去调整 min_wal_size 参数

再次重新启动postgreSQL OK

其实提示我要调整 wal_segment_size 的是某银行的一篇文章,其中提到由于wal_segement_size 设置的较小,并且还有一些配置的问题,导致wal_log 疯狂的增长,所以后期他们准备调整这个参数,但文章中提到没有办法调整 wal_segement_size 原因是由于编译的过程中才能调整,而安装后就不能调整了,某银行使用的POSTGRESQL 应该是低于 11 这个版本的,所以也就有了这次PG 11调整版本,然后机器无法启动的问题。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AustinDatabases 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档