首页 > 解决方案 > 如何恢复 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

标签: postgresqlubuntu-18.04psqlpg-dumppg-restore

解决方案


要移动整个数据库集群,包括所有用户等,请使用以下命令:

$ pg_dumpall >all-db.sql

然后在目标服务器上初始化一个新的空数据库集群,启动它,然后运行

$ psql -f all-db.sql

以 postgres 用户身份运行 pg_dumpall 和 psql 命令。


推荐阅读