在本地,我使用pgadmin3。然而,在远程服务器上,我没有这样的特权。

我已经创建了数据库备份并复制了它,但是是否有一种方法可以从命令行恢复备份?我只看到与GUI或pg_dumps相关的东西。


当前回答

下面是我用来恢复数据库的pg_dump版本:

pg_restore -h localhost -p 5432 -U postgres -d my_new_database my_old_database.backup

或者使用psql:

psql -h localhost -U postgres -p 5432 my_new_database < my_old_database.backup

-h主机,-p端口,-u登录用户名,-d数据库名称

其他回答

这招对我很管用:

pg_restore --verbose --clean --no-acl --no-owner --host=localhost --dbname=db_name --username=username latest.dump

请看下面的例子,它的工作

C:/Program Files/PostgreSQL/9.4/bin\pg_restore.exe——host localhost——port 5432——username "postgres"——dbname "newDatabase"——no-password——verbose

“C: \用户下载\优\ \新下载\ DB.backup”

当需要备份数据或从备份中恢复数据时,使用以下命令:

要创建数据备份,转到您的postgres\ bin\目录,如C:\programfiles\postgres\10\bin\,然后键入以下命令: pg_dump -FC -U ngb -d ngb -p 5432 >C:\BACK_UP\ngb. 090718_after_readupload .backup 要从备份中恢复数据,转到您的postgres\ bin\目录,如C:\programfiles\postgres\10\bin\,然后键入以下命令: C:\programFiles\postgres\10\bin> pg_restore -Fc -U ngb -d ngb -p 5432 <C:\ programFiles\postgres\10\bin 请确保备份文件存在。

1)打开psql终端。

2)解压/ untar转储文件。

3)创建一个空数据库。

4)使用以下命令恢复。dump文件

<database_name>-# \i <path_to_.dump_file>

1. 打开终端。

2. 使用以下命令备份数据库

your postgres bin -> /opt/PostgreSQL/9.1/bin/

源数据库服务器-> 192.168.1.111

您的备份文件位置和名称-> /home/dinesh/db/mydb.backup

您的源数据库名称-> mydatabase

/opt/PostgreSQL/9.1/bin/pg_dump --host '192.168.1.111' --port 5432 --username "postgres" --no-password  --format custom --blobs --file "/home/dinesh/db/mydb.backup" "mydatabase"

3.恢复mydb。备份文件到目标。

您的目标服务器-> localhost

您的目标数据库名称-> mydatabase

创建用于恢复备份的数据库。

/opt/PostgreSQL/9.1/bin/psql -h 'localhost' -p 5432 -U postgres -c "CREATE DATABASE mydatabase"

恢复备份。

/opt/PostgreSQL/9.1/bin/pg_restore --host 'localhost' --port 5432 --username "postgres" --dbname "mydatabase" --no-password --clean "/home/dinesh/db/mydb.backup"