案例说明:

参数archive_cleanup_command可以配置在kingbase.conf文件中,用于备库清理不在需要的归档日志,参数详细说明见下图:

https://postgresqlco.nf/doc/zh/param/archive_cleanup_command/

适用环境:

KingbaseES V8R/R6

集群节点状态:

[kingbase@node2 bin]$ ./repmgr  cluster show
ID | Name | Role | Status | Upstream | Location | Priority | Timeline | Connection string
----+---------+---------+-----------+----------+----------+----------+----------+---------------------------------------------------------------------------------------------------------------------------------------------------
1 | node200 | primary | * running | | default | 100 | 17 | host=192.168.8.200 user=esrep dbname=esrep port=54321 connect_timeout=10 keepalives=1 keepalives_idle=10 keepalives_interval=1 keepalives_count=3
2 | node201 | standby | running | node200 | default | 100 | 17 | host=192.168.8.201 user=esrep dbname=esrep port=54321 connect_timeout=10 keepalives=1 keepalives_idle=10 keepalives_interval=1 keepalives_count=3

1、备库节点配置归档

2、查看当前备库归档信息

[kingbase@node2 bin]$ ls -lh /db/kingbase/arch_ha/
total 401M
-rw------- 1 kingbase kingbase 474 Dec 2 11:21 0000000C.history
-rw------- 1 kingbase kingbase 562 Dec 2 11:21 0000000E.history
-rw------- 1 kingbase kingbase 650 Dec 2 11:21 00000010.history
-rw------- 1 kingbase kingbase 16M Dec 2 11:36 000000110000000200000015
-rw------- 1 kingbase kingbase 16M Dec 2 11:36 000000110000000200000016
-rw------- 1 kingbase kingbase 16M Dec 2 11:36 000000110000000200000017
-rw------- 1 kingbase kingbase 16M Dec 2 11:37 000000110000000200000018
-rw------- 1 kingbase kingbase 16M Dec 2 11:37 000000110000000200000019
-rw------- 1 kingbase kingbase 16M Dec 2 11:37 00000011000000020000001A
-rw------- 1 kingbase kingbase 16M Dec 2 11:38 00000011000000020000001B
-rw------- 1 kingbase kingbase 16M Dec 2 11:38 00000011000000020000001C
-rw------- 1 kingbase kingbase 16M Dec 2 11:38 00000011000000020000001D
-rw------- 1 kingbase kingbase 16M Dec 2 11:39 00000011000000020000001E
-rw------- 1 kingbase kingbase 16M Dec 2 11:39 00000011000000020000001F
-rw------- 1 kingbase kingbase 16M Dec 2 11:39 000000110000000200000020
-rw------- 1 kingbase kingbase 16M Dec 2 11:39 000000110000000200000021
-rw------- 1 kingbase kingbase 16M Dec 2 11:40 000000110000000200000022
-rw------- 1 kingbase kingbase 16M Dec 2 11:40 000000110000000200000023
-rw------- 1 kingbase kingbase 16M Dec 2 11:40 000000110000000200000024
-rw------- 1 kingbase kingbase 16M Dec 2 11:40 000000110000000200000025
-rw------- 1 kingbase kingbase 16M Dec 2 11:41 000000110000000200000026
-rw------- 1 kingbase kingbase 16M Dec 2 11:44 000000110000000200000027
-rw------- 1 kingbase kingbase 16M Dec 2 11:44 000000110000000200000028
-rw------- 1 kingbase kingbase 16M Dec 2 11:44 000000110000000200000029
-rw------- 1 kingbase kingbase 16M Dec 2 11:44 00000011000000020000002A
-rw------- 1 kingbase kingbase 16M Dec 2 11:44 00000011000000020000002B
-rw------- 1 kingbase kingbase 16M Dec 2 11:44 00000011000000020000002C
-rw------- 1 kingbase kingbase 16M Dec 2 11:44 00000011000000020000002D

3、备库执行 checkpoint

test=# checkpoint;
CHECKPOINT

如下sys_log所示:备库在执行checkpoint时,生成了“restart point”,备库在运行期间,也将自动产生“restart point”。

[kingbase@node2 sys_log]$ cat kingbase-2022-12-02_115106.csv|grep point
2022-12-02 11:51:06.873 CST,,,6616,,6389762a.19d8,3,,2022-12-02 11:51:06 CST,,0,DEBUG,00000,"checkpoint record is at 2/2E660E60",,,,,,,,,""
2022-12-02 11:51:06.879 CST,,,6617,,6389762a.19d9,1,,2022-12-02 11:51:06 CST,,0,DEBUG,00000,"checkpointer updated shared memory configuration values",,,,,,,,,""
2022-12-02 11:56:06.979 CST,,,6617,,6389762a.19d9,2,,2022-12-02 11:51:06 CST,,0,LOG,00000,"restartpoint starting: time",,,,,,,,,""
2022-12-02 11:56:07.021 CST,,,6617,,6389762a.19d9,3,,2022-12-02 11:51:06 CST,,0,DEBUG,00000,"updated min recovery point to 2/2E663E28 on timeline 17",,,,,,,,,""
2022-12-02 11:56:07.288 CST,,,6617,,6389762a.19d9,4,,2022-12-02 11:51:06 CST,,0,DEBUG,00000,"performing replication slot checkpoint",,,,,,,,,""
2022-12-02 11:56:07.508 CST,,,6617,,6389762a.19d9,5,,2022-12-02 11:51:06 CST,,0,DEBUG,00000,"checkpoint sync: number=1 file=base/16385/16405 time=13.982 msec",,,,,,,,,""
2022-12-02 11:56:07.509 CST,,,6617,,6389762a.19d9,6,,2022-12-02 11:51:06 CST,,0,DEBUG,00000,"checkpoint sync: number=2 file=base/16385/16388 time=0.681 msec",,,,,,,,,""
2022-12-02 11:56:07.515 CST,,,6617,,6389762a.19d9,12,,2022-12-02 11:51:06 CST,,0,LOG,00000,"restartpoint complete: wrote 2 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.205 s, sync=0.014 s, total=0.535 s; sync files=2, longest=0.013 s, average=0.007 s; distance=11 kB, estimate=11 kB",,,,,,,,,""
2022-12-02 11:56:07.515 CST,,,6617,,6389762a.19d9,13,,2022-12-02 11:51:06 CST,,0,LOG,00000,"recovery restart point at 2/2E663D50","Last completed transaction was at log time 2022-12-02 11:50:54.157512+08.",,,,,,,,""
2022-12-02 11:58:07.840 CST,,,6617,,6389762a.19d9,16,,2022-12-02 11:51:06 CST,,0,DEBUG,00000,"skipping restartpoint, already performed at 2/2E663D50",,,,,,,,,""

4、查看归档日志信息

如下所示:备库将判断哪些归档不在需要,并对这些归档执行清理。

[kingbase@node2 bin]$ ls -lh /db/kingbase/arch_ha/
total 12K
-rw------- 1 kingbase kingbase 474 Dec 2 11:21 0000000C.history
-rw------- 1 kingbase kingbase 562 Dec 2 11:21 0000000E.history
-rw------- 1 kingbase kingbase 650 Dec 2 11:21 00000010.history

Tips:

对于同样的归档配置,在主库,此参数不生效,不会执行归档清理。对于归档日志的清理,可以通过脚本调用sys_archivecleanup工具清理。

单实例环境测试:

1、配置kingbase.conf

2、执行wal日志切换

prod=# insert into t1 values (generate_series(1,10000));
INSERT 0 10000
prod=# select sys_switch_wal();
sys_switch_wal
----------------
0/1A582518
(1 row)

3、查看当前归档日志

如下所示,在执行checkpoint后没有实现归档日志的自动清理。

[kingbase@node102 data]$ ls -l ../arch
total 49152
-rw------- 1 kingbase kingbase 16777216 Dec 12 14:14 000000010000000000000018
-rw------- 1 kingbase kingbase 16777216 Dec 12 14:14 000000010000000000000019
-rw------- 1 kingbase kingbase 16777216 Dec 12 14:16 00000001000000000000001A

KingbaseES V8R6 集群运维系列--archive_cleanup_command参数应用的更多相关文章

  1. KingbaseES V8R6集群运维案例之---repmgr standby promote应用案例

    案例说明: 在容灾环境中,跨区域部署的异地备节点不会自主提升为主节点,在主节点发生故障或者人为需要切换时需要手动执行切换操作.若主节点已经失效,希望将异地备机提升为主节点. $bin/repmgr s ...

  2. KingbaseES V8R6集群管理运维案例之---repmgr standby switchover故障

    案例说明: 在KingbaseES V8R6集群备库执行"repmgr standby switchover"时,切换失败,并且在执行过程中,伴随着"repmr stan ...

  3. KingbaseES V8R6集群维护案例之---停用集群node_export进程

    案例说明: 在KingbaseES V8R6集群启动时,会启动node_exporter进程,此进程主要用于向kmonitor监控服务输出节点状态信息.在系统安全漏洞扫描中,提示出现以下安全漏洞: 对 ...

  4. kingbaseES V8R6集群备份恢复案例之---备库作为repo主机执行物理备份

    ​ 案例说明: 此案例是在KingbaseES V8R6集群环境下,当主库磁盘空间不足时,执行sys_rman备份,将集群的备库节点作为repo主机,执行备份,并将备份存储在备库的磁盘空间. 集群架构 ...

  5. KingbaseES V8R6集群维护之--修改数据库服务端口案例

    ​ 案例说明: 对于KingbaseES数据库单实例环境,只需要修改kingbase.conf文件的'port'参数即可,但是对于KingbaseES V8R6集群中涉及到多个配置文件的修改,并且在应 ...

  6. KingbaseES V8R6集群外部备份案例

    案例说明: 本案例采用sys_backup.sh执行物理备份,备份使用如下逻辑架构:集群采用CentOS 7系统,repo采用kylin V10 Server. 一主一备+外部备份 此场景为主备双机常 ...

  7. KingbaseES V8R6集群维护案例之--修改securecmdd工具服务端口

    案例说明: 在一些生产环境,为了系统安全,不支持ssh互信,或限制root用户使用ssh登录,KingbaseES V8R6可以使用securecmdd工具支持主机之间的通讯.securecmdd工具 ...

  8. KingbaseES V8R3集群运维案例之---主库系统down failover切换过程分析

    ​ 案例说明: KingbaseES V8R3集群failover时两个cluster都会触发,但只有一个cluster会调用脚本去执行真正的切换流程,另一个有对应的打印,但不会调用脚本,只是走相关的 ...

  9. KingbaseES V8R3集群运维案例之---kingbase_monitor.sh启动”two master“案例

    案例说明: KingbaseES V8R3集群,执行kingbase_monitor.sh启动集群,出现"two master"节点的故障,启动集群失败:通过手工sys_ctl启动 ...

  10. KingbaseES V8R3集群运维案例之---cluster.log ERROR: md5 authentication failed

    案例说明: 在KingbaseES V8R3集群的cluster.log日志中,经常会出现"ERROR: md5 authentication failed:DETAIL: password ...

随机推荐

  1. spring boot整合poi实现excel文件导入导出实战

    今天科比离去,今天肺炎病毒持续肆虐... 意识到生命的脆弱,今天我继续前行,比以往更加坚定和紧迫,这辈子不活好自己就算白来一趟. 1.项目介绍 最近帮朋友做了一个小工具,就是实现:上传一个excel文 ...

  2. Fiddler捕获Java发送的HttpURLConnection请求

    1.说明 平常使用Fiddler抓包工具查看浏览器的请求和响应信息很方便, 但有时候我们也需要拦截java代码执行的http请求. 以便更好的调试程序.具体方法如下: 2.编写Java代码 // 配置 ...

  3. Java集合框架学习(五) ArrayList详解

    Arraylist介绍 Arraylist类实现了List接口. public class ArrayList<E> extends AbstractList<E> imple ...

  4. Spring源码之bean的加载

    目录 1. FactoryBean 的使用 2. 缓存中获取单例 bean: 3. 从 bean 实例获取对象, 4. 获取单例 bean (从缓存加载失败): 5. 创建 bean (createB ...

  5. SpringBoot的自动装配原理及应用

    什么是SpringBoot自动装配 所谓的"SpringBoot自动装配"就是指:通过注解和一些简单的配置就能将某些组件载入Spring容器环境中,便于使用. 比如,很多sprin ...

  6. Vue3学习(十八) - TreeSelect 树选择

    写在前面 本以为可以在家学习一天,结果家里来了客人拜年,就没学习上,有点小遗憾吧. 昨天完成从分类管理的前后端代码复制出文档管理的前后端代码,遗留问题是只能选择一级父分类.值得说的是,昨晚的遗留的问题 ...

  7. 麒麟系统开发笔记(十二):在国产麒麟系统上编译GDAL库、搭建基础开发环境和基础Demo

    前言   麒麟系统上做全球北斗定位终端开发,北斗GPS发过来的是大地坐标,应用需要的是经纬度坐标,所以需要转换,可以使用公式转换,但是之前涉及到了山He智能一个项目使用WG.   大地坐标简介 概述 ...

  8. 【LeetCode回溯算法#12】二叉树的直径,树形dp的前置内容(使用dfs)

    二叉树的直径 给你一棵二叉树的根节点,返回该树的 直径 . 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 .这条路径可能经过也可能不经过根节点 root . 两节点之间路径的 长度 由它们 ...

  9. 可视化技术在 Nebula Graph 中的应用

    本文首发于 Nebula Graph Community 公众号 本文整理自 #可视化 on Live 主题直播,在本期直播中 3 位可视化嘉宾讲述了他们眼中的可视化,以及他们在可视化项目实践中踩过的 ...

  10. C程序分别实现下列字符阵列的输出

    C程序分别实现下列字符阵列的输出:(https://zhuanlan.zhihu.com/p/443989560    可以参考这个博主写的) 1,左下三角形(代码) 1 #include <s ...