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

PostgreSQL 数据库备份与恢复指南

PostgreSQL 数据库备份与恢复指南

在数据库管理中,备份和恢复是至关重要的操作,它们能确保数据的安全性和可恢复性。下面将为你详细介绍 PostgreSQL 数据库的备份和恢复操作。
环境准备
在进行备份和恢复操作之前,需要确保已经进入 PostgreSQL 的可执行文件目录。在 Linux 系统中,通常可以使用以下命令进入该目录:

cd /opt/pgsql/bin

备份操作

1. 备份单个数据库到 SQL 文件

这种备份方式会将指定数据库的结构和数据以 SQL 语句的形式保存到文件中。

pg_dump -U postgresghp2db > "/opt/pgsql/pgsql-backup20221121.sql"

U:指定连接数据库的用户名,这里是 postgresghp2db。
>:将备份结果重定向到指定的文件,这里是 /opt/pgsql/pgsql-backup20221121.sql。

如果你需要备份远程服务器上的数据库,可以使用 -h 指定服务器的 IP 地址,-p 指定端口号,-W 表示在连接时需要输入密码:
bash

pg_dump.exe -U postgres -h *.*.*.* -p 5432 -W -d taobao >"E:\pgsql-backup20221212.dmp"

-h:指定远程服务器的 IP 地址,这里是 *.*.*.*。
-p:指定数据库服务的端口号,这里是 5432-d:指定要备份的数据库名称,这里是 taobao。

另外,还可以使用 -f 参数来指定备份文件的路径:

pg_dump -h 127.0.0.1 -U postgres -p 5432 -W ghp2db -f /opt/pgsql/pgsql-backup20221121.sql
pg_dump -h *.*.*.* -U p2 -p 5432 -W p2db -f /opt/pgsql/pgsql-backup20221121.sql

2. 备份所有数据库到 DMP 文件

pg_dumpall 命令可以备份 PostgreSQL 实例中的所有数据库,包括全局对象(如角色、表空间等)。

pg_dumpall -U postgres --port=5432 > "/opt/pgsql/pgsql-backup20221121.dmp"

--port:指定数据库服务的端口号,这里是 5432

3. 备份指定数据库到 BAK 文件

pg_dump -h *.*.*.* -p 5432 -U postgres -d atwebgismap > c:\atwebgismap.bak

此命令用于备份远程服务器上的 atwebgismap 数据库到本地的 c:\atwebgismap.bak 文件。

恢复操作

使用 psql 命令可以将备份文件恢复到指定的数据库中。

psql -h localhost -p 5432 -U postgres -d ghp2db2 < "E:\pgsql-backup20221121.sql"
psql -h localhost -U postgres -d test < D:\postgres.bak

-h:指定数据库服务器的地址,这里是 localhost。
-p:指定数据库服务的端口号,这里是 5432-U:指定连接数据库的用户名,这里是 postgres。
-d:指定要恢复到的目标数据库名称,分别是 ghp2db2 和 test。
<:从指定的文件中读取 SQL 语句并执行,以恢复数据库。

注意事项

权限问题:在进行备份和恢复操作时,确保使用的用户具有足够的权限。通常,postgres 用户具有最高权限,但在实际生产环境中,建议创建具有适当权限的专用用户。
文件路径:在指定备份文件和恢复文件的路径时,要注意不同操作系统的路径格式。例如,Windows 使用反斜杠 \,而 Linux 使用正斜杠 /。
数据库状态:在备份和恢复过程中,要确保数据库处于正常运行状态。如果数据库出现故障或异常,可能会导致备份或恢复失败。
通过以上的备份和恢复操作,你可以有效地保护 PostgreSQL 数据库的数据安全,并且在需要时能够快速恢复数据。希望这些内容对你有所帮助!

相关文章:

  • Agentic RAG 详解 - 从头开始​​构建你自己的智能体系统
  • [资源分享]-web3/区块链/学习路线/资料/找工作方式/水龙头
  • C# 委托使用详解
  • Data Science Agent in Colab完全指南:AI驱动的智能数据分析助手
  • 《苍穹外卖》SpringBoot后端开发项目核心知识点与常见问题整理(DAY1 to DAY3)
  • 《论数据湖技术及其应用》审题技巧 - 系统架构设计师
  • 如何通过 Seatunnel 实现 MySQL 到 OceanBase的数据迁移同步
  • 前端跨域如何调试,以及相关概念梳理【环境变量 本地代理 正向代理 反向代理 OPTIONS请求 CDN 等】
  • Electron入门笔记
  • gpon 业务
  • Global top sap abap 和deepseek对话,测试其abap推理能力
  • React 之 Redux 第二十九节 Redux各项组成详解
  • 选型消息队列(MQ):ActiveMQ、RabbitMQ、RocketMQ、Kafka对比
  • Rust 之一 基本环境搭建、各组件工具的文档、源码、配置
  • laravel Blade 模板引擎
  • OpenManus:3小时复刻 Manus(OpenManus安装指南)
  • 位置注意力机制详解
  • vue组件库el-menu导航菜单设置index,地址不会变更的问题
  • 考研复习,主动学习”与“被动接收”的结合之道
  • 深入理解并实践call、apply、bind三大金刚
  • 网站编程语言/中国万网官网登录
  • 芗城区建设局网站/seo的定义是什么
  • 企业网站建设市场报价/快速排名优化系统
  • 护肤品网站建设前的行业分析/手机访问另一部手机访问文件
  • 网站模板批量下载/it培训四个月骗局
  • 1网站建设/深圳网站设计专业乐云seo