postgresql 10数据库备份 pg_probackup 简明教程

测试环境说明


OS:CentOS Linux release 7.3.1611 (Core) X64

PG:pg10 beta3 source install

pg_probackup: 2.0.3source install


建立归档备份目录


[postgres@masterdb ~]# mkdir /backupdir

[postgres@masterdb ~]# chown postgres.postgres -R /backupdir


数据库参数配置


### - Archiving - ###

archive_mode = on

archive_command = 'pg_probackup archive-push -B /backupdir --instance pg10 --wal-file-path %p --wal-file-name %f'


### default ###

max_wal_senders = 10

hot_standby = on

full_page_writes = on


初始化备份目录


[postgres@masterdb ~]# su - postgres

[postgres@masterdb ~]$ pg_probackup init -B /backupdir

INFO: Backup catalog '/backupdir' successfully inited


添加备份实例目录


[postgres@masterdb ~]$ pg_probackup add-instance -B /backupdir -D /pgdata10/ --instance pg10

INFO: Instance 'pg10' successfully inited


显示备份实例配置


[postgres@masterdb ~]$ pg_probackup show-config -B /backupdir --instance pg10

#Backup instance info

PGDATA = /pgdata10/

system-identifier = 6460633300993501667

#Connection parameters:

PGDATABASE = postgres

#Replica parameters:

#Logging parameters:

#Retention parameters:

#Compression parameters:

compress-algorithm = none

compress-level = 6

[postgres@masterdb ~]$ pg_probackup backup -B /backupdir -b full --instance pg10

INFO: wait for pg_stop_backup()

INFO: Backup OVKYC7 completed

[postgres@masterdb ~]$


增量备份


[postgres@masterdb ~]$ pg_probackup backup -B /backupdir -b PAGE --instance pg10

INFO: wait for LSN 0/4000028 in archived WAL segment /backupdir/wal/pg10/000000010000000000000004

INFO: wait for pg_stop_backup()

INFO: Backup OVKYME completed

[postgres@masterdb ~]$


显示备份


[postgres@masterdb ~]$ pg_probackup show -B /backupdir


BACKUP INSTANCE 'pg10'

===============================================================================================================================

Instance ID Recovery time Mode WAL Current/Parent TLI Time Data Start LSN Stop LSN Status

===============================================================================================================================

pg10 OVKYME 2017-09-01 10:51:56 PAGE ARCHIVE 1 / 0 8s 4407kB 0/4000028 0/50000F0 OK

pg10 OVKYC7 2017-09-01 10:45:57 FULL ARCHIVE 1 / 0 17s 31MB 0/2000060 0/2000198 OK

[postgres@masterdb ~]$


验证备份


[postgres@masterdb ~]$ pg_probackup validate -B /backupdir --instance pg10

INFO: Validate backups of the instance 'pg10'

INFO: Validate backup OVKYME

INFO: backup validation completed successfully

INFO: Validate backup OVKYC7

INFO: backup validation completed successfully

INFO: All backups are valid

[postgres@masterdb ~]$


恢复备份


[postgres@masterdb pgdata10]$ pg_probackup restore -B /backupdir --instance pg10 -D /pgdata10/

INFO: backup validation completed successfully




配置保存期限


[postgres@masterdb ~]$ pg_probackup set-config -B /backupdir --instance pg10 --retention-redundancy 2 --retention-window 7

[postgres@masterdb ~]$ pg_probackup show-config -B /backupdir --instance pg10

#Backup instance info

PGDATA = /pgdata10/

system-identifier = 6460633300993501667

#Connection parameters:

PGDATABASE = postgres

#Replica parameters:

#Logging parameters:

#Retention parameters:

retention-redundancy = 2

retention-window = 7

#Compression parameters:

compress-algorithm = none

compress-level = 6

[postgres@masterdb ~]$


并行备份


full


[postgres@masterdb ~]$ pg_probackup backup -B /backupdir --instance pg10 -b FULL -j 4

INFO: wait for pg_stop_backup()

INFO: Backup OVL360 completed

[postgres@masterdb ~]$


incremental

[postgres@masterdb ~]$ pg_probackup backup -B /backupdir --instance pg10 -b page -j 6

INFO: wait for LSN 0/B000028 in archived WAL segment /backupdir/wal/pg10/00000002000000000000000B

INFO: wait for pg_stop_backup()

INFO: Backup OVL3BK completed

[postgres@masterdb ~]$

[postgres@masterdb ~]$

[postgres@masterdb ~]$ pg_probackup show -B /backupdir --instance pg10

===============================================================================================================================

Instance ID Recovery time Mode WAL Current/Parent TLI Time Data Start LSN Stop LSN Status

===============================================================================================================================

pg10 OVL3BK 2017-09-01 12:33:24 PAGE ARCHIVE 2 / 1 6s 4417kB 0/B000028 0/C0000F0 OK

pg10 OVL360 2017-09-01 12:30:11 FULL ARCHIVE 2 / 1 13s 31MB 0/9000060 0/9000198 OK

pg10 OVKYME 2017-09-01 10:51:56 PAGE ARCHIVE 1 / 0 8s 4407kB 0/4000028 0/50000F0 OK

pg10 OVKYC7 2017-09-01 10:45:57 FULL ARCHIVE 1 / 0 17s 31MB 0/2000060 0/2000198 OK

[postgres@masterdb ~]$



restore


[postgres@masterdb ~]$ pg_probackup restore -B /backupdir --instance pg10 -D /pgdata10/ -j 6

INFO: backup validation completed successfully

INFO: Restore of backup OVL3BK completed.

[postgres@masterdb ~]$ pg_probackup show -B /backupdir --instance pg10 -D /pgdata10

===============================================================================================================================

Instance ID Recovery time Mode WAL Current/Parent TLI Time Data Start LSN Stop LSN Status

===============================================================================================================================

pg10 OVL3BK 2017-09-01 12:33:24 PAGE ARCHIVE 2 / 1 6s 4417kB 0/B000028 0/C0000F0 OK

pg10 OVL360 2017-09-01 12:30:11 FULL ARCHIVE 2 / 1 13s 31MB 0/9000060 0/9000198 OK

pg10 OVKYME 2017-09-01 10:51:56 PAGE ARCHIVE 1 / 0 8s 4407kB 0/4000028 0/50000F0 OK

pg10 OVKYC7 2017-09-01 10:45:57 FULL ARCHIVE 1 / 0 17s 31MB 0/2000060 0/2000198 OK

[postgres@masterdb ~]$

相关文章

项目需要,有个数据需要导入,拿到手一开始以为是mysql,结果...
本文小编为大家详细介绍“怎么查看PostgreSQL数据库中所有表...
错误现象问题原因这是在远程连接时pg_hba.conf文件没有配置正...
因本地资源有限,在公共测试环境搭建了PGsql环境,从数据库本...
wamp 环境 这个提示就是说你的版本低于10了。 先打印ph...
psycopg2.OperationalError: SSL SYSCALL error: EOF detect...