首页 > 数据库 > SQL > 正文

postgresql怎么还原数据库

舞夢輝影
发布: 2025-11-09 12:19:27
原创
941人浏览过
根据备份文件类型选择还原方式:若为custom、tar或目录格式,使用pg_restore命令恢复;若为plain文本格式,则用psql导入SQL脚本,需提前创建目标数据库并确保用户权限充足。

postgresql怎么还原数据库

使用PostgreSQL还原数据库通常通过命令行工具 pg_restorepsql 来完成,具体方式取决于你当初备份时使用的格式。

1. 确认备份文件类型

PostgreSQL 常见的备份方式有:

  • plain 文本格式:由 pg_dump -F p 生成,本质是 SQL 脚本
  • custom 格式:由 pg_dump -F c 生成,默认格式,二进制压缩,支持并行恢复
  • tar 格式:由 pg_dump -F t 生成,适合归档
  • 目录格式:由 pg_dump -F d 生成,用于并行备份和恢复

2. 使用 pg_restore 还原 custom、tar 或目录格式

如果你的备份是 .backup.dump 或目录形式,使用 pg_restore

pg_restore -h localhost -p 5432 -U username -d dbname -v your_backup_file.dump
登录后复制

常用参数说明:

阿里云-虚拟数字人
阿里云-虚拟数字人

阿里云-虚拟数字人是什么? ...

阿里云-虚拟数字人 2
查看详情 阿里云-虚拟数字人
  • -h:数据库主机
  • -p端口
  • -U:用户名
  • -d:目标数据库名(需提前创建)
  • -v:显示详细过程
  • --clean:还原前删除对象(小心使用)
  • --if-exists:配合 --clean,避免因对象不存在报错
  • -j 4:启用4个进程并行恢复(仅适用于目录格式或某些 custom 备份)

3. 使用 psql 还原文本格式(SQL 脚本)

如果备份是纯 SQL 文件(如 backup.sql),用 psql 恢复:

psql -h localhost -p 5432 -U username -d dbname -f backup.sql
登录后复制

确保目标数据库已存在。若没有,先创建:

createdb -U username dbname
登录后复制

4. 注意事项

  • 还原前确认用户有足够权限操作目标数据库
  • 如果还原到一个已有数据的库,建议先清空或使用 --clean 参数
  • 遇到权限错误时,检查 pg_hba.conf 配置和用户角色
  • 远程还原时确保网络可通,防火墙开放 5432 端口
基本上就这些,根据你的备份方式选择对应命令即可。

以上就是postgresql怎么还原数据库的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号