• X PostgreSQL 11、12 开启归档日志



    文章目录

    检查当前数据库情况
    开启数据库归档
    修改数据库参数
    相关参数解释
    创建归档目录
    重启PG数据库
    检查归档是否开启成功

    数据库的归档, 是为了更好的保证数据库的数据安全不可或缺的功能, 无论是什么数据库都应开启归档模式!

    检查当前数据库情况
    检查数据库是否为归档模式

    postgres=# c
    You are now connected to database "postgres" as user "postgres".


    postgres=# show archive_mode;
    archive_mode
    --------------
    off
    (1 row)


    归档模式未启动.

    开启数据库归档
    修改数据库参数
    PostgreSQL数据库参数文件:

    [postgres@pg01 ~]$ cd /var/lib/pgsql/12/data
    [postgres@pg01 data]$ ll postgresql.conf
    -rw-------. 1 postgres postgres 26612 Mar 1 16:03 postgresql.conf

    vi postgres.conf修改如下:

    wal_level = replica # minimal, replica, or logical
    archive_mode = on # enables archiving; off, on, or always
    archive_command = 'test ! -f /var/lib/pgsql/12/arch/%f && cp %p /var/lib/pgsql/12/arch/%f'

    ## 其中: %p表示wal日志文件的路径,%f表示wal日志文件名称。

    %p 的目录为 $PGHOME/data/pg_wal


    相关参数解释
    wal_level参数控制WAL日志信息的输出级别

    minimal 记录的WAL日志信息最少, 除了记录数据库异常关闭需要恢复时的WAL外, 其他操作信息都不记录;
    replica 记录的WAL信息比minimal信息多, 会记录支持WAL归档、复制和备库中启用只读查询等操作所需的WAL信息;
    logical 记录的最多, 包含了支持逻辑解析所需的WAL。 并包含了minimal和replica记录的信息。

    archive_command

    可以将WAL归档到本级目录, 也可以归档到远程其他主机上。

    max_wal_senders

    控制主库上的最大WAL发送进程数, 通过pg_basebackup命令在主库上做基准备份时也会消耗WAL进程。此参数不能大于max_connections, 默认值10.

    创建归档目录
    [postgres@pg01 12]$ mkdir /var/lib/pgsql/12/arch

    重启PG数据库
    使用root用户重启PG

    [root@pg01 ~]# service postgresql-12 restart
    Stopping postgresql-12 service: [ OK ]
    Starting postgresql-12 service: [ OK ]

    检查归档是否开启成功
    查看模式
    [postgres@pg01 12]$ psql
    psql (12.0)
    Type "help" for help.


    postgres=# show archive_mode;
    archive_mode
    --------------
    on
    (1 row)

    手动切换日志
    在PG10之前:

    postgres=# select pg_switch_xlog();

    在PG10之后:

    postgres=# select pg_switch_wal();
    pg_switch_wal
    ---------------
    0/130005E0
    (1 row)


    检查归档文件
    [root@pg01 12]# cd /var/lib/pgsql/12/arch
    [root@pg01 arch]# ll
    total 4
    drwx------. 2 postgres postgres 4096 Mar 3 02:33 20200303


    开启成功 ~!

  • 相关阅读:
    sqlserver中递归写法
    keytools命令生成证书
    java中sql语句快速处理
    select * 替换写法
    oracle行转列
    oracle中查看当前用户的表结构、主键、索引
    Servlet三种实现方式
    【python之旅】python的面向对象
    【python之旅】python的模块
    【python之旅】python的基础三
  • 原文地址:https://www.cnblogs.com/chendian0/p/13474390.html
Copyright © 2020-2023  润新知