重庆思庄Oracle、Redhat认证学习论坛

标题: PG16手工在线物理备份及恢复的操作步骤 [打印本页]

作者: 郑全    时间: 2024-9-8 18:08
标题: PG16手工在线物理备份及恢复的操作步骤
看到网上的步骤,大部分都是PG12以前的步骤,到PG16了,还用PG12的步骤肯定不合适。
那么PG16的步骤是怎么样的

备份:
1.开始备份
   psql> select pg_backup_start('baseline');
   执行后,不退出会话。

2.进行数据库备份
   可以使用 tar,rsync 等工具进行备份
    tar -cvzf /bak/pgbak_2024_09-09.tar.gz $PGDATA

3.结束备份
   在开始备份的会话中,执行
     psql> select pg_backup_stop();

4.继续操作


恢复:
1.停止数据库
   pg_ctl stop
2.拷贝$PGDATA/pg_wal/* 到归档日志目录去
    cp -av $PGDATA/pg_wal/* /u01/app/postgres/arch_log/.
3.删除$PGDATA下的所有文件
    rm -fr $PGDATA
4.使用备份进行恢复
    tar -xvf /bak/pgbak_2024_09-09.tar.gz -C /
5.删除pg_wal下面的内容
    rm -fr $PGDATA/pg_wal

6.建立 pg_wal及archive_status
   mkdir $PGDATA/pg_wal/archive_status -p

7.修改 配置文件 ,增加 recover_command

  echo "
  restore_command = 'cp /u01/app/postgres/arch_log/%f %p'
  "  >> $PGDATA/postgresql.auto.conf



8.在$PGDATA增加一个恢复的信号
   touch recovery.signal

9.启动数据库
   启动数据库,就会自动恢复到最新
   pg_ctl start









欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2