postgresql - 如何恢复 PostgreSQL 数据库
问题描述
我正在使用 Ubuntu 中的 PostgreSQL(它是必需的)在一个名为tenenci 的 CMS 项目中工作,我不得不从虚拟机迁移到生产服务器。但是我在迁移数据库时遇到了问题。
我使用此命令从 VM 中提取数据:
pg_dump -Fc mydb > db.dump
但是当我尝试使用此命令将数据导入我的服务器时
psql -d mydb --file=db.dump
出现此错误
The input is a PostgreSQL custom-format dump.
Use the pg_restore command-line client to restore this dump to a database.
当我使用pg_restore
命令时没有出现错误,但数据库没有得到恢复。
pg_restore -C -d mydb db.dump
解决方案
要移动整个数据库集群,包括所有用户等,请使用以下命令:
$ pg_dumpall >all-db.sql
然后在目标服务器上初始化一个新的空数据库集群,启动它,然后运行
$ psql -f all-db.sql
以 postgres 用户身份运行 pg_dumpall 和 psql 命令。
推荐阅读
- azure - 有没有办法使用 CLI 扩展使用 README.md 文件初始化 GIT 存储库主分支?
- python - 如何使用python将字符串'5a'增加到'5b'
- sql - 如何更新 postgres 中的特定数组
- c# - 如何在使用 AAD 进行身份验证的 ASP.NET MVC 站点中以登录用户身份查询 Dynamics 365 CRM?
- swift - 在 GUI 应用程序中使用 runloop 调度 IOHIDManager
- twitter-bootstrap - Bootstrap 5 navbar-brand 和 navbar-toggler 行为
- transformation - 在 Kentico 中查看和下载通过表单上传的文件
- python - 为什么网页抓取 Steam 游戏列表时 div 返回空?
- c++ - C ++为函数参数设置默认参数?
- python - 如何将 json 嵌套数据加载到 bigquery 中