PostgreSQL教程:备份与恢复(物理备份、物理恢复) |
您所在的位置:网站首页 › 重启pg数据库多久恢复正常 › PostgreSQL教程:备份与恢复(物理备份、物理恢复) |
物理备份(归档+物理)
这里需要基于前面的文件系统的备份和归档备份实现最终的操作 单独使用文件系统的方式,不推荐毕竟数据会丢失。 这里直接上PostgreSQL提供的pg_basebackup命令来实现。 pg_basebackup会做两个事情、 会将内存中的脏数据落到磁盘中,然后将数据全部备份会将wal日志直接做归档,然后将归档也备走。 备份命令查看一波pg_basebackup命令 先准备一个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,记得重启生效![]() ![]() ![]() ![]() 模拟数据库崩盘,先停止postgresql服务,然后直接删掉data目录下的全部内容 将之前备份的两个文件准备好,一个base.tar,一个pg_wal.tar 第一步:将base.tar中的内容,全部解压到 12/data 目录下 第二步:将pg_wal.tar中的内容,全部解压到 /archive 目录下 第三步:在postgresql.auto.conf文件中,指定归档文件的存储位置,以及恢复数据的方式 第四步:启动postgresql服务 systemctl start postgresql-12第五步:启动后,发现查询没问题,但是执行写操作时,出错,不让写。需要执行一个函数,取消这种恢复数据后的状态,才允许正常的执行写操作。 select pg_wal_replay_resume(); |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |