PostgreSQL 数据库的备份和恢复

1. 备份数据库:

a. 备份格式选择

  • *.bak:压缩二进制格式
  • *.sql:明文转储
  • *.tar:tarball

b. 使用 pg_dump 命令备份数据库

  1. 使用 pg_dump 备份整个数据库:

    pg_dump -U 数据库角色 dbname > backup.sql
    pg_dump -U postgres mydata > mydata.sql

这将备份整个数据库,并将备份数据保存到 backup.sql 文件中。

注:查询数据库角色语句:

复制代码
SELECT rolname FROM pg_roles;
  1. 使用 pg_dump 备份特定表或特定模式**:

    pg_dump -U username -t tablename dbname > backup.sql

或者:

复制代码
pg_dump -U username -n schemaname dbname > backup.sql

这将备份特定表或特定模式的数据,并将备份数据保存到 backup.sql 文件中。

c. 将数据库备份输出到指定的文件

sh 复制代码
pg_dump -U username -d dbname -f /path/to/backup.sql
  • -U username 指定要连接到数据库的用户名。
  • -d dbname 指定要备份的数据库名称。
  • -f /path/to/backup.sql 指定备份文件的路径和名称。

d. 备份所有的数据库

sh 复制代码
pg_dumpall > backup.sql
或
pg_dumpall > backup.bak

2. 恢复数据库:

  1. 使用 pg_restore 工具恢复数据库

    pg_restore -U username -d dbname < backup.sql

在这个命令中,-U username 指定要连接到数据库的用户名,-d dbname 指定要恢复的数据库名称。恢复操作将从 backup.sql 文件中读取备份数据,并将其导入到指定的数据库中。

3. 注意事项:

  • 在进行数据库恢复之前,请确保已经创建了要恢复到的数据库。如果数据库不存在,可以使用 createdb 命令创建新的数据库。
  • 在进行数据库恢复之前,请确保备份文件的路径和名称正确,并且备份文件具有合适的权限。
  • 在进行数据库恢复之前,请备份现有的数据库,以防止意外数据丢失。
相关推荐
haixingtianxinghai26 分钟前
Redis的定期删除和惰性删除
数据库·redis·缓存
资深web全栈开发27 分钟前
PostgreSQL Schema 最佳实践:架构师的命名与组织艺术
数据库·postgresql
麦聪聊数据1 小时前
利用实时数据管道与 SQL2API 重构企业自动化审计架构
数据库·sql·低代码
麦聪聊数据1 小时前
重构开放生态:利用 QuickAPI 跨越遗留系统与敏捷交付的工程实践
数据库·sql·低代码·restful
百结2146 小时前
Mysql数据库操作
数据库·mysql·oracle
keep one's resolveY6 小时前
时区问题解决
数据库
Leinwin7 小时前
OpenClaw 多 Agent 协作框架的并发限制与企业化规避方案痛点直击
java·运维·数据库
qq_417695057 小时前
机器学习与人工智能
jvm·数据库·python
漫随流水7 小时前
旅游推荐系统(view.py)
前端·数据库·python·旅游
ego.iblacat7 小时前
MySQL 服务基础
数据库·mysql