PostgreSQL教程:备份与恢复(物理备份、物理恢复)

您所在的位置:网站首页 重启pg数据库多久恢复正常 PostgreSQL教程:备份与恢复(物理备份、物理恢复)

PostgreSQL教程:备份与恢复(物理备份、物理恢复)

2024-07-11 18:20| 来源: 网络整理| 查看: 265

物理备份(归档+物理)

这里需要基于前面的文件系统的备份和归档备份实现最终的操作

单独使用文件系统的方式,不推荐毕竟数据会丢失。

这里直接上PostgreSQL提供的pg_basebackup命令来实现。

pg_basebackup会做两个事情、

会将内存中的脏数据落到磁盘中,然后将数据全部备份会将wal日志直接做归档,然后将归档也备走。 备份命令

查看一波pg_basebackup命令

image.png

先准备一个pg_basebackup的备份命令

# -D 指定备份文件的存储位置 # -Ft 备份文件打个包 # -Pv 输出备份的详细信息 # -U 用户名(要拥有备份的权限) # -h ip地址 -p 端口号 # -R 复制写配置文件 pg_basebackup -D /pg_basebackup -Ft -Pv -Upostgres -h 192.168.11.32 -p 5432 -R

准备测试,走你~

备份操作演示 提前准备出/pg_basebackup目录。记得将拥有者赋予postgres用户mkdir /pg_basebackup chown -R postgres. /pg_basebackup/ 给postgres用户提供replication的权限,修改pg_hba.conf,记得重启生效image.png执行备份pg_basebackup -D /pg_basebackup -Ft -Pv -Upostgres -h 192.168.11.32 -p 5432 -R 需要输入postgres的密码,这里可以设置,重新备份。image.png执行备份image.pngimage.png 操作演示:物理恢复(归档+物理)

模拟数据库崩盘,先停止postgresql服务,然后直接删掉data目录下的全部内容

image.png

将之前备份的两个文件准备好,一个base.tar,一个pg_wal.tar

第一步:将base.tar中的内容,全部解压到 12/data 目录下

第二步:将pg_wal.tar中的内容,全部解压到 /archive 目录下

image.png

第三步:在postgresql.auto.conf文件中,指定归档文件的存储位置,以及恢复数据的方式image.png

第四步:启动postgresql服务

systemctl start postgresql-12

第五步:启动后,发现查询没问题,但是执行写操作时,出错,不让写。需要执行一个函数,取消这种恢复数据后的状态,才允许正常的执行写操作。

select pg_wal_replay_resume();


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3