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 命令创建新的数据库。
  • 在进行数据库恢复之前,请确保备份文件的路径和名称正确,并且备份文件具有合适的权限。
  • 在进行数据库恢复之前,请备份现有的数据库,以防止意外数据丢失。
相关推荐
落笔画忧愁e27 分钟前
FastGPT快速将消息发送至飞书
服务器·数据库·飞书
Σίσυφος190041 分钟前
halcon 条形码、二维码识别、opencv识别
前端·数据库
小刘|1 小时前
深入理解 SQL 注入漏洞及解决方案
数据库·sql
天上掉下来个程小白2 小时前
案例-14.文件上传-简介
数据库·spring boot·后端·mybatis·状态模式
哆木2 小时前
排查生产sql查询缓慢
数据库·sql·mysql
橘子师兄3 小时前
分页功能组件开发
数据库·python·django
book01214 小时前
MySql数据库运维学习笔记
运维·数据库·mysql
纠结哥_Shrek4 小时前
Oracle和Mysql的区别
数据库·mysql·oracle
极客先躯4 小时前
说说高级java每日一道面试题-2025年2月13日-数据库篇-请说说 MySQL 数据库的锁 ?
java·数据库·mysql·数据库的锁·模式分·粒度分·属性分
做梦敲代码4 小时前
达梦统计信息
数据库·达梦数据库