阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

PostgreSQL如何维护WAL日志/归档日志

460次阅读
没有评论

共计 3781 个字符,预计需要花费 10 分钟才能阅读完成。

WAL 日志介绍

wal 全称是 write ahead log,是 postgresql 中的 online redo log,是为了保证数据库中数据的一致性和事务的完整性。而在 PostgreSQL 7 中引入的技术。它的中心思想是“先写日志后写数据”,即要保证对数据库文件的修改应放生在这些修改已经写入到日志之后,同时,在 PostgreSQL 8.3 以后又加入了 WalWriter 日志写进程,可以保证事务提交记录不是在提交时同步写入到磁盘,而是异步写入,这样就极大的减轻了 I / O 的压力。所以说 WAL 日志很重要。对保证数据库中数据的一致性和事务的完整性。

PostgreSQL 的 WAL 日志文件在 pg_xlog 目录下,一般情况下,每个文件为 16M 大小:000000010000000000000010 文件名称为 16 进制的 24 个字符组成,每 8 个字符一组,每组的意义如下:
•时间线:英文为 timeline,是以 1 开始的递增数字,如 1,2,3…
•LogId:32bit 长的一个数字,是以 0 开始递增的数字,如 0,1,2,3…
•LogSeg:32bit 长的一个数字,是以 0 开始递增的数字,如 0,1,2,3…

wal 日志跟 online redo log 一样,其个数,也不是无限的。归档日志就出现了。

WAL 日志维护

1. 参数 max_wal_size/min_wal_size
  9.5 以前:(2 + checkpoint_completion_target) * checkpoint_segments + 1
  9.5:PostgreSQL 9.5 将废弃 checkpoint_segments 参数, 并引入 max_wal_size 和 min_wal_size 参数,
  通过 max_wal_size 和 checkpoint_completion_target 参数来控制产生多少个 XLOG 后触发检查点,
  通过 min_wal_size 和 max_wal_size 参数来控制哪些 XLOG 可以循环使用。
2. 参数 wal_keep_segments
  在流复制的环境中。使用流复制建好备库,如果备库由于某些原因接收日志较慢。导致备库还未接收到。就被覆盖了。导致主备无法同步。这个需要重建备库。
  避免这种情况提供了该参数。每个日志文件大小 16M。如果参数设置 64. 占用大概 64×16=1GB 的空间。根据实际环境设置。
3. pg_resetxlog
  在前面参数设置合理的话。是用不到 pg_resetxlog 命令。
[postgres@postgres128 ~]$ pg_resetxlog -?
pg_resetxlog resets the PostgreSQL transaction log.

Usage:
  pg_resetxlog [OPTION]… DATADIR

Options:
  -c XID,XID      set oldest and newest transactions bearing commit timestamp
                  (zero in either value means no change)
 [-D] DATADIR      data directory
  -e XIDEPOCH      set next transaction ID epoch
  -f              force update to be done
  -l XLOGFILE      force minimum WAL starting location for new transaction log
  -m MXID,MXID    set next and oldest multitransaction ID
  -n              no update, just show what would be done (for testing)
  -o OID          set next OID
  -O OFFSET        set next multitransaction offset
  -V, –version    output version information, then exit
  -x XID          set next transaction ID
  -?, –help      show this help, then exit

Report bugs to <pgsql-bugs@postgresql.org>.     

归档日志维护

1. pg_archivecleanup 清理归档日志。
[postgres@postgres128 ~]$ pg_archivecleanup -?
pg_archivecleanup removes older WAL files from PostgreSQL archives.

Usage:
  pg_archivecleanup [OPTION]… ARCHIVELOCATION OLDESTKEPTWALFILE

Options:
  -d            generate debug output (verbose mode)
  -n            dry run, show the names of the files that would be removed
  -V, –version  output version information, then exit
  -x EXT        clean up files if they have this extension
  -?, –help    show this help, then exit

For use as archive_cleanup_command in recovery.conf when standby_mode = on:
  archive_cleanup_command = ‘pg_archivecleanup [OPTION]… ARCHIVELOCATION %r’
e.g.
  archive_cleanup_command = ‘pg_archivecleanup /mnt/server/archiverdir %r’

Or for use as a standalone archive cleaner:
e.g.
  pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010.00000020.backup

1.1 当主库不断把 WAL 日志拷贝到备库。这个时候需要清理。在 recovery.conf 可以配置 
e.g.  archive_cleanup_command = ‘pg_archivecleanup /mnt/server/archiverdir %r’
1.2 可以收到执行命令。
e.g.  pg_archivecleanup /home/postgres/arch/ 000000010000000000000009
在归档目录 /home/postgres/arch/ 把 000000010000000000000009 之前的日志都清理。

2. pg_rman 备份
在 pg_rman 备份保留策略中。在每天都备份。可以清理归档日志。
对流复制环境中。备份一般是在备库。可以把归档日志传送到备库中。
  –keep-arclog-files=NUM  keep NUM of archived WAL
  –keep-arclog-days=DAY    keep archived WAL modified in DAY days
e.g 保留归档日志个数 10。或者保留 10 天内的归档日志。
KEEP_ARCLOG_FILES = 10 
KEEP_ARCLOG_DAYS = 10 
在备份信息中会产生以下信息。
INFO: start deleting old archived WAL files from ARCLOG_PATH (keep files = 10, keep days = 10)

Ubuntu 16.04 下安装 PostgreSQL 和 phpPgAdmin  http://www.linuxidc.com/Linux/2016-08/134260.htm

Linux 下 RPM 包方式安装 PostgreSQL  http://www.linuxidc.com/Linux/2016-03/128906.htm

Linux 下安装 PostgreSQL  http://www.linuxidc.com/Linux/2016-12/138765.htm

Linux 下 PostgreSQL 安装部署指南  http://www.linuxidc.com/Linux/2016-11/137603.htm

Linux 下安装 PostgreSQL 并设置基本参数  http://www.linuxidc.com/Linux/2016-11/137324.htm

Ubuntu 16.04 下 PostgreSQL 主从复制配置  http://www.linuxidc.com/Linux/2017-08/146190.htm

Fedota 24 将数据库升级到 PostgreSQL 9.5  http://www.linuxidc.com/Linux/2016-11/137374.htm

CentOS 6.5 下 PostgreSQL 服务部署  http://www.linuxidc.com/Linux/2017-01/139144.htm

MongoDB 的详细介绍:请点这里
MongoDB 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-09/146896.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计3781字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7972071
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年 0.99 刀,拿下你的第一个顶级域名,详细注册使用 前言 作为长期折腾云服务、域名建站的老玩家,星哥一直...
星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的 NAS 中! 大家对「数据安全感」的需求越来越高 ...
星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛 NAS-2:飞牛配置 RAID 磁盘阵列 前言 大家好,我是星哥之前星哥写了《星哥带你玩飞牛 ...
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸 前言 作为天天跟架构图、拓扑图死磕的...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛 NAS 硬件 03:五盘位 +N5105+ 双网口的成品 NAS 值得入手吗 前言 大家好,我...
免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

  免费无广告!这款跨平台 AI RSS 阅读器,拯救你的信息焦虑 在算法推荐主导信息流的时代,我们...
国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号 AI 知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率 大家好,我是星哥,...
星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛 NAS-11:咪咕视频订阅部署全攻略 前言 在家庭影音系统里,NAS 不仅是存储中心,更是内容...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...