当前位置: 首页 > news >正文

pg_basebackup 备份和还原

 文档下载链接(包含图文):

https://download.csdn.net/download/djinglan/90592237?spm=1011.2124.3001.6210

  1. 备份操作步骤

1. 确认 PostgreSQL 配置

   - 确保 `postgresql.conf` 中 `wal_level` 设置为 `replica` 或更高

   - 确保 `pg_hba.conf` 允许复制连接

2. 创建备份目录:

   mkdir -p /path/to/backup

   chown postgres:postgres /path/to/backup

3. 执行基础备份:

   sudo -u postgres pg_basebackup -D /path/to/backup -Ft -z -Xs -P -U postgres

      参数说明:

   - `-D`:指定备份目录

   - `-Ft`:生成tar格式备份

   - `-z`:启用gzip压缩

   - `-Xs`:在备份期间流式传输WAL文件

   - `-P`:显示进度

   - `-U`:指定连接用户

4. 验证备份:

   ls -lh /path/to/backup

   应该能看到类似 `base.tar.gz` 、25482.tar.gz和 `pg_wal.tar.gz` 的文件.

base.tar.gz --基础数据文件,恢复的时候解压到postgresql的数据目录,这里是

/var/lib/postgresql/16/main/

pg_wal.tar.gz--wal日志归档数据,恢复的时候解压到/var/lib/postgresql/16/main/pg_wal目录

  1. 还原操作步骤

1. 停止 PostgreSQL 服务(实际情况可以不停止,但需重启服务)

   sudo systemctl stop postgresql

2. 备份原数据目录并创建恢复目录

   mv /var/lib/postgresql/16/main /var/lib/postgresql/16/main_old

   mkdir /var/lib/postgresql/16/main

   chown postgres:postgres /var/lib/postgresql/16/main

chmod 0750 /var/lib/postgresql/16/main

3. 解压备份文件:

   sudo -u postgres tar -xzf /path/to/backup/base.tar.gz -C /var/lib/postgresql/16/main

   Sudo -u postgres tar -xzf /path/to/backup/pg_wal.tar.gz -C /var/lib/postgresql/16/main/pg_wal

查看自定义表空间映射关系,可以看到,自定义空间位置是/opt/custome-tablespace/

将24582.tar.gz解压到该目录下

注意:如果24582.tar解压放置的目录不正确,会导致postgresql报错

psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432"failed: No such file or directory Is the server running locally and accepting connections on that socket?

4. 配置恢复参数(可选)

   修改 `postgresql.auto.conf` (PostgreSQL 12+):

      restore_command = 'cp /path/to/wal_archive/%f %p'

   recovery_target_timeline = 'latest'

5. 启动 PostgreSQL 服务

   sudo systemctl start postgresql

6. 监控恢复进度:

   sudo -u postgres tail -f /var/log/postgresql/postgresql-12-main.log

 注意事项

1. 确保备份和还原使用相同或兼容的PostgreSQL版本

2. 备份期间数据库会保持可用状态

3. 对于大型数据库,备份和还原可能需要较长时间

4. 考虑使用 `-c fast` 参数进行快速检查点(可能影响性能)

5. 对于生产环境,建议定期测试备份的恢复过程

相关文章:

  • 网站建设犀牛云seo推广优化外包公司
  • 网站服务器服务商市场营销推广
  • 做装修网站网络营销的效果是什么
  • 做网站英文怎么说天津做优化好的公司
  • 网站建设公司哪家好 运峰科技网站运营主要做什么工作
  • 新闻网站开发总结淘宝关键词排名查询网站
  • 微信小程序事件绑定基本语法
  • 折叠屏手机:技术进步了,柔性OLED面板测试技术需求跟上了吗?
  • 十三种物联网/通信模块综合对比——《数据手册--物联网/通信模块》
  • 基于FPGA实现BPSK 调制
  • std::allocator和 __pool_alloc
  • MySQL---Ubuntu环境安装
  • 开发一款区块链软件的周期解析
  • 【C语言】预处理(预编译)(C语言完结篇)
  • 工作搁置重启:引发的决策深思
  • CNVD-2025-06046:Google Chrome沙箱逃逸漏洞大揭秘与防护指南
  • 菊风RTC 2.0 开发者文档正式发布,解锁音视频新体验!
  • Java 解析日期格式各个字段含义温习
  • QML 中 Z 轴顺序(z 属性)
  • L2-034 口罩发放
  • 太阳能晶片计数系统 源代码
  • 开源推荐#5:CloudFlare-ImgBed — 基于 CloudFlare Pages 的开源免费文件托管解决方案
  • Qt 元对象系统探秘:从 Q_OBJECT 到反射编程的魔法之旅
  • 商品详情 API 返回数据字段说明
  • Java基础 - 反射(2)
  • dd命令刻录CENT OS10 (.iso)光盘镜像文件到U盘