PostgreSQL 开启归档

PostgreSQL 开启归档
修改postgresql.conf

archive_mode =on
%p = path of file to archive
%f = file name only

archive_command ='cp %p /u01/pgsql/archive/pg_%f'

重启postgresql

pg_ctl stop

pg_ctl start

查看归档

[postgres@redis01 archive]$ ls -lrt
total 32772
-rw------- 1 postgres postgres 16777216 Sep 22 18:49 pg_000000010000000000000001
-rw------- 1 postgres postgres 16777216 Sep 22 18:50 pg_000000010000000000000002
-rw------- 1 postgres postgres 329 Sep 22 18:50 pg_000000010000000000000002.00000060.backup
[postgres@redis01 archive]$ pwd
/u01/pgsql/archive

command 使用逻辑运算符

  1. 命令1 && 命令2 命令1执行成功后才会执行命令2
  2. 命令1 || 命令2 命令1执行失败后才会执行命令2
    每天生成一个归档目录
    archive_command = 'DIR=/u01/pgsql/archive/date +%F; sudo test ! -d $DIR && sudo mkdir $DIR; sudo test ! -f $DIR/%f && sudo cp %p $DIR/%f'

查看归档设置

postgres=# select name,setting from pg_settings where name like 'archive%' or name = 'wal_level';
name | setting
-----------------+--------------------------------
archive_command | cp %p /u01/pgsql/archive/pg_%f
archive_mode | on
archive_timeout | 0
wal_level | replica
(4 rows)
查看当前日志

SELECT pg_walfile_name(pg_current_wal_lsn());

查看归档进程信息

SELECT * FROM pg_stat_archiver;

重值归档进程
SELECT pg_stat_reset_shared('archiver');

posted @ 2025-09-02 17:26  ocmji  阅读(10)  评论(0)    收藏  举报