联系:手机/微信(+86 17813235971) QQ(107644445)
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
pg版本
postgres=# select version();
                                                 version
---------------------------------------------------------------------------------------------------------
 PostgreSQL 10.4 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18), 64-bit
(1 row)
归档配置参数
--pgdata中的postgresql.conf
wal_level = replica
archive_mode = on
archive_command = 'test ! -f /pg_archivedir/%f && cp %p /pg_archivedir/%f'
--重启pg systemctl restart postgresql-10.service
postgres=# show wal_level;
 wal_level
-----------
 replica
(1 row)
postgres=# show archive_mode;
 archive_mode
--------------
 on
(1 row)
postgres=# show archive_command;
                    archive_command
--------------------------------------------------------
 test ! -f /pg_archivedir/%f && cp %p /pg_archivedir/%f
(1 row)
测试归档效果
[root@localhost pg_wal]# ps -ef|grep "postgres: archiver process" postgres 35300 35293 0 08:43 ? 00:00:00 postgres: archiver process last was 000000010000000000000004 root 37504 20853 0 09:55 pts/1 00:00:00 grep --color=auto postgres: archiver process [root@localhost pg_wal]# pwd /opt/PostgreSQL/10/data/pg_wal [root@localhost pg_wal]# ls -ltr total 49156 -rw------- 1 postgres postgres 309 Aug 5 06:05 000000010000000000000002.00000028.backup -rw------- 1 postgres postgres 16777216 Aug 5 08:43 000000010000000000000006 -rw------- 1 postgres postgres 16777216 Aug 5 08:50 000000010000000000000004 drwx------ 2 postgres postgres 94 Aug 5 08:50 archive_status -rw------- 1 postgres postgres 16777216 Aug 5 08:53 000000010000000000000005 [root@localhost pg_wal]# ls -l /pg_archivedir/ total 65540 -rw------- 1 postgres postgres 16777216 Aug 5 08:37 000000010000000000000001 -rw------- 1 postgres postgres 16777216 Aug 5 08:37 000000010000000000000002 -rw------- 1 postgres postgres 309 Aug 5 08:37 000000010000000000000002 -rw------- 1 postgres postgres 16777216 Aug 5 08:43 000000010000000000000003 -rw------- 1 postgres postgres 16777216 Aug 5 08:50 000000010000000000000004 --切换日志 postgres=# select pg_switch_wal(); pg_switch_wal --------------- 0/5000158 (1 row) [root@localhost pg_wal]# ps -ef|grep "postgres: archiver process" postgres 35300 35293 0 08:43 ? 00:00:00 postgres: archiver process last was 000000010000000000000005 root 37531 20853 0 09:56 pts/1 00:00:00 grep --color=auto postgres: archiver process [root@localhost pg_wal]# ls -ltr total 49156 -rw------- 1 postgres postgres 309 Aug 5 06:05 000000010000000000000002 -rw------- 1 postgres postgres 16777216 Aug 5 08:50 000000010000000000000004 -rw------- 1 postgres postgres 16777216 Aug 5 09:55 000000010000000000000005 drwx------ 2 postgres postgres 130 Aug 5 09:55 archive_status -rw------- 1 postgres postgres 16777216 Aug 5 09:55 000000010000000000000006 [root@localhost pg_wal]# ls -l /pg_archivedir/ total 81924 -rw------- 1 postgres postgres 16777216 Aug 5 08:37 000000010000000000000001 -rw------- 1 postgres postgres 16777216 Aug 5 08:37 000000010000000000000002 -rw------- 1 postgres postgres 309 Aug 5 08:37 000000010000000000000002 -rw------- 1 postgres postgres 16777216 Aug 5 08:43 000000010000000000000003 -rw------- 1 postgres postgres 16777216 Aug 5 08:50 000000010000000000000004 -rw------- 1 postgres postgres 16777216 Aug 5 09:55 000000010000000000000005