登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
每日签到
每天签到奖励2圆-6圆
发帖说明
VIP申请
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
VIP申请
VIP网盘
网盘
联系我们
每日签到
道具
勋章
任务
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
postgresql15中的wal日志归档参数的改进
postgresql15中的wal日志归档参数的改进
[ 复制链接 ]
予捻
2025-6-11 18:33:47
传统的wal日志归档archive_command
PostgreSQL15之前,使用传统的archive_command,传统的归档命令
archive_command = 'test ! -f /mnt/server/archivedir/%f && cp %p /mnt/server/archivedir/%f'
复制代码
传统的归档命令存在一系列问题,请参考Why PostgreSQL WAL Archival is Slow
PostgreSQL 15之后新的归档命令archive_library
相对于PostgreSQL 15之前的archive_command归档命令,在PostgreSQL15中提供了archive_library = 'basic_archive'这一参数;
相关配置参数如下
# postgresql.conf
archive_mode = 'on'
archive_library = 'basic_archive'
basic_archive.archive_directory = '/path/to/archive/directory'
复制代码
归档目录需要授权postgres用户相关的权限
chown -R postgres:postgres /path/to/archive/directory
chmod -R 775 /path/to/archive/directory
复制代码
archive_library用于归档完整的WAL文件段的库,如果设置为空字符串(默认值),则启用通过shell进行归档,也即archive_command。archive_command和archive_library不能共存,如果同时设置了archive_command和archive_library,则会引发错误。当此参数发生变化时,postmaster将重新启动WAL归档器进程。参考:New WAL Archive Module/Library in PostgreSQL 15
basic_archive解决了什么问题
basic_archive模块所做的事情与archive_command中的shell命令几乎相同,其目的都是讲wal日志转移到预设值的归档路径,但是archive_library想对archive_command有一系列优势。basic_archive在归档的过程中,会创建一个临时文件,并将其同步并持久地移动到目标中的最终归档文件副本。这种持久性是cp命令无法提供的。这大大减少了归档目标中损坏的文件导致归档失败的概率,有时甚至导致数据库可恢复性的可能性。basic_archive的另一个重要功能优势是,当存在相同的文件时,它有一个内置特性来比较源文件(pg_wal)和存档目标文件。它比较文件的内容并验证它们是否完全相同,然后向归档器报告“成功”,以便归档器进程可以继续到下一个WAL段。这也减少了归档失败的机会。因为如果文件被模块存档,但是服务器在记录它之前崩溃了,PostgreSQL将尝试再次存档相同的WAL段。如果文件被复制并且具有相同的内容,那么新的样例basic_archive模块将在第二次尝试中静默地成功。此外,basic_archive模块有一个自定义异常处理程序。这允许归档器将ERROR视为正常故障,并避免再次重新启动归档器。参考:New WAL Archive Module/Library in PostgreSQL 15 所以请使用archive_library替代archive_command来完成PostgreSQL的wal日志归档。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
postgresql15
中的
wal
日志
归档
相关帖子
C#中的多级缓存架构设计与实现深度解析
MySQL 中常见的日志有哪些?是如何实现事务的?
IIS日志分析工具
下划线字段在golang结构体中的应用
大/小模型在视频分析领域中的联合应用
解疑释惑 - 日志体系之 slf4j + logback 组合(一)
SpringBoot-日志
Mock 在 API 研发中的痛点、价值与进化及Apipost解决方案最佳实践
聊一聊 .NET 中的 CancellationTokenSource
PostgreSQL中的work_mem参数
vip免费申请,1年只需15美金$
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
C#中的多级缓存架构设计与实现深度解析
0
162
翁谌缜
2025-08-12
业界
MySQL 中常见的日志有哪些?是如何实现事务的?
0
64
涂流如
2025-08-14
软件
IIS日志分析工具
0
60
新程序
2025-08-17
业界
下划线字段在golang结构体中的应用
0
616
寿爹座
2025-08-17
业界
大/小模型在视频分析领域中的联合应用
0
191
焦尔蕾
2025-08-22
业界
解疑释惑 - 日志体系之 slf4j + logback 组合(一)
0
647
聊账
2025-08-25
业界
SpringBoot-日志
0
608
卢铃语
2025-08-26
业界
Mock 在 API 研发中的痛点、价值与进化及Apipost解决方案最佳实践
0
215
巩芷琪
2025-08-29
业界
聊一聊 .NET 中的 CancellationTokenSource
0
22
龙玮奇
2025-09-05
安全
PostgreSQL中的work_mem参数
0
660
毡轩
2025-09-08
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
业界
签约作者
程序园优秀签约作者
发帖
予捻
2025-6-11 18:33:47
关注
0
粉丝关注
9
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
敖可
9984
杭环
9988
凶契帽
9988
4
氛疵
9988
5
黎瑞芝
9988
6
猷咎
9986
7
里豳朝
9986
8
肿圬后
9986
9
蝓俟佐
9984
10
虽裘侪
9984
查看更多