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 命令创建新的数据库。
  • 在进行数据库恢复之前,请确保备份文件的路径和名称正确,并且备份文件具有合适的权限。
  • 在进行数据库恢复之前,请备份现有的数据库,以防止意外数据丢失。
相关推荐
豆芽脚脚2 小时前
合并相同 patient_id 的 JSON 数据为数组
postgresql·json
·薯条大王4 小时前
MySQL联合查询
数据库·mysql
morris1316 小时前
【redis】redis实现分布式锁
数据库·redis·缓存·分布式锁
hycccccch6 小时前
Canal+RabbitMQ实现MySQL数据增量同步
java·数据库·后端·rabbitmq
这个懒人7 小时前
深入解析Translog机制:Elasticsearch的数据守护者
数据库·elasticsearch·nosql·translog
Yan-英杰7 小时前
【百日精通JAVA | SQL篇 | 第二篇】数据库操作
服务器·数据库·sql
NineData8 小时前
NineData云原生智能数据管理平台新功能发布|2025年3月版
数据库
百代繁华一朝都-绮罗生9 小时前
检查是否存在占用内存过大的SQL
数据库·sql
吾日三省吾码9 小时前
Python 脚本:自动化你的日常任务
数据库·python·自动化
CZIDC9 小时前
win11 系统环境下 新安装 WSL ubuntu + ssh + gnome 桌面环境
数据库·ubuntu·ssh