【PostgreSQL】数据库备份与恢复(pg_rman)-创新互联

[root@wallet01 ~]# rpm -ivh pg_rman-1.3.8-1.pg96.rhel6.x86_64.rpm

[root@wallet01 ~]# su - postgres

[postgres@wallet01 ~]$ mkdir archive
[postgres@wallet01 ~]$ mkdir backup

[postgres@wallet01 ~]$ vi /var/lib/pgsql/9.6/data/postgresql.conf
archive_mode = on
archive_command = 'cp %p /home/postgres/archive/%f' 
wal_level = archive

[postgres@wallet01 ~]$ pg_ctl restart
waiting for server to shut down....... done
server stopped
server starting

[postgres@wallet01 ~]$ export PGDATA=/var/lib/pgsql/9.6/data
[postgres@wallet01 ~]$ export ARCLOG_PATH=/home/postgres/archive
[postgres@wallet01 ~]$ export BACKUP_PATH=/home/postgres/backup

[postgres@wallet01 ~]$ pg_rman init
INFO: ARCLOG_PATH is set to '/home/postgres/archive'
INFO: SRVLOG_PATH is set to '/var/lib/pgsql/9.6/data/pg_log'

[postgres@wallet01 ~]$ pg_rman backup --backup-mode=full
INFO: copying database files
INFO: copying archived WAL files
INFO: backup complete
INFO: Please execute 'pg_rman validate' to verify the files are correctly copied.

[postgres@wallet01 ~]$ pg_rman validate
INFO: validate: "2019-04-12 16:02:15" backup and archive log files by CRC
INFO: backup "2019-04-12 16:02:15" is valid

[postgres@wallet01 ~]$ pg_rman show
=====================================================================
 StartTime           EndTime              Mode    Size   TLI  Status 
=====================================================================
2019-04-12 16:02:15  2019-04-12 16:03:21  FULL  1572MB     1  OK

[postgres@wallet01 ~]$ pg_rman backup --backup-mode=incremental
INFO: copying database files
INFO: copying archived WAL files
INFO: backup complete
INFO: Please execute 'pg_rman validate' to verify the files are correctly copied.

[postgres@wallet01 ~]$ pg_rman validate
INFO: validate: "2019-04-12 16:15:12" backup and archive log files by CRC
INFO: backup "2019-04-12 16:15:12" is valid

[postgres@wallet01 ~]$ pg_rman show
=====================================================================
 StartTime           EndTime              Mode    Size   TLI  Status 
=====================================================================
2019-04-12 16:15:12  2019-04-12 16:15:17  INCR   248MB     1  OK
2019-04-12 16:02:15  2019-04-12 16:03:21  FULL  1572MB     1  OK

[postgres@wallet01 ~]$ pg_rman backup --backup-mode=archive
INFO: copying archived WAL files
INFO: backup complete
INFO: Please execute 'pg_rman validate' to verify the files are correctly copied.

[postgres@wallet01 ~]$ pg_rman validate
INFO: validate: "2019-04-12 16:30:04" archive log files by CRC
INFO: backup "2019-04-12 16:30:04" is valid

[postgres@wallet01 ~]$ pg_rman show
=====================================================================
 StartTime           EndTime              Mode    Size   TLI  Status 
=====================================================================
2019-04-12 16:30:04  2019-04-12 16:30:06  ARCH    33MB     1  OK
2019-04-12 16:15:12  2019-04-12 16:15:17  INCR   248MB     1  OK
2019-04-12 16:02:15  2019-04-12 16:03:21  FULL  1572MB     1  OK

[postgres@wallet01 ~]$ pg_ctl stop -m fast
waiting for server to shut down...... done
server stopped

[postgres@wallet01 ~]$ mv archive archive_backup
[postgres@wallet01 ~]$ mkdir archive

[postgres@wallet01 ~]$ cd /var/lib/pgsql/9.6
[postgres@wallet01 9.6]$ mv data data_backup
[postgres@wallet01 9.6]$ mkdir data
[postgres@wallet01 9.6]$ chmod -R 0700 data

[postgres@wallet01 ~]$ pg_rman restore --hard-copy
WARNING: pg_controldata file "/var/lib/pgsql/9.6/data/global/pg_control" does not exist
INFO: the recovery target timeline ID is not given
INFO: use timeline ID of latest full backup as recovery target: 1
INFO: calculating timeline branches to be used to recovery target point
INFO: searching latest full backup which can be used as restore start point
INFO: found the full backup can be used as base in recovery: "2019-04-12 16:02:59"
INFO: copying online WAL files and server log files
INFO: clearing restore destination
INFO: validate: "2019-04-12 16:02:59" backup and archive log files by SIZE
INFO: backup "2019-04-12 16:02:59" is valid
INFO: restoring database files from the full mode backup "2019-04-12 16:02:59"
INFO: searching incremental backup to be restored
INFO: validate: "2019-04-12 16:15:12" backup and archive log files by SIZE
INFO: backup "2019-04-12 16:15:12" is valid
INFO: restoring database files from the incremental mode backup "2019-04-12 16:15:12"
INFO: searching backup which contained archived WAL files to be restored
INFO: backup "2019-04-12 16:15:12" is valid
INFO: restoring WAL files from backup "2019-04-12 16:15:12"
INFO: validate: "2019-04-12 16:30:04" archive log files by SIZE
INFO: backup "2019-04-12 16:30:04" is valid
INFO: restoring WAL files from backup "2019-04-12 16:30:04"
INFO: restoring online WAL files and server log files
INFO: generating recovery.conf
INFO: restore complete
HINT: Recovery will start automatically when the PostgreSQL server is started.

[postgres@wallet01 ~]$ pg_ctl start
server starting

[postgres@wallet01 ~]$ pg_ctl status
pg_ctl: server is running (PID: 29889)
/usr/pgsql-9.6/bin/postgres

创新互联建站专注于淮上企业网站建设,成都响应式网站建设,商城网站制作。淮上网站建设公司,为淮上等地区提供建站服务。全流程按需策划,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前文章:【PostgreSQL】数据库备份与恢复(pg_rman)-创新互联
转载注明:http://scyanting.com/article/dhegde.html