postgresql-正在还原.dump文件

postgresql-正在还原.dump文件,postgresql,dump,database-restore,Postgresql,Dump,Database Restore,我是psql新手。我从我的server data.dump文件中获取。我需要在本地恢复它。 我试过这些命令 i) psql-U postgres dbname-f servicedb.dump Error: psql: warning: extra command-line argument "-f" ignored psql: warning: extra command-line argument "servicedb.dump" ignored Error:

我是psql新手。我从我的server data.dump文件中获取。我需要在本地恢复它。 我试过这些命令

i) psql-U postgres dbname-f servicedb.dump

Error:
      psql: warning: extra command-line argument "-f" ignored
      psql: warning: extra command-line argument "servicedb.dump" ignored
 Error:
              ^
 ERROR:  syntaxe error at or near "☺"
 LINE 1: ☺☺
ii)psql-U postgres dbname
Error:
      psql: warning: extra command-line argument "-f" ignored
      psql: warning: extra command-line argument "servicedb.dump" ignored
 Error:
              ^
 ERROR:  syntaxe error at or near "☺"
 LINE 1: ☺☺

这个“.dump”文件是什么?如何还原它?

看看这个命令。

我从我的服务器(Heroku)获得了一个.dump文件。正如克劳斯所说,pg_恢复是我在本地恢复它的唯一方法

我在终端上写的是:

pg_restore -c -d [database_name] [dumpfile_name].dump

在pg_restore的Klaus链接中可以看到很多选项:)

psql-f filenamed.dmp db_name

在Postrgres 9.2上运行良好

pg_restore --verbose --clean --no-acl --no-owner -h localhost -U [user] -d [db] [filename].dump

pg_restore远非显而易见,这是我用来在AWS上运行的远程Postgres实例上创建新数据库并将转储文件还原到其中的命令。如果您的连接正确,pg_restore应立即要求您输入密码)

其中开关为:

  • -aws上的h主机名
  • -U-用户名,这需要是具有创建db权限的管理员用户
  • --详细-将详细输出获取到屏幕
  • -C-意味着从转储文件创建一个全新的数据库(它将被命名为您转储的数据库的名称)
  • -d-令人困惑的是,这需要是一个已经存在的数据库的名称,基本上pg_restore需要连接到一个现有的数据库,以便它可以运行必要的脚本来创建新的数据库
  • mydbdump.dmp这是您尝试还原的转储文件的位置

psql用于纯文本转储,请使用pg_还原。

我发现在windows环境中很棘手

如果是文本格式转储,pg_还原将不起作用。在这种情况下,我们需要使用psql

psql-U username-f database.dump databasename


它将提示输入用户名密码,然后启动还原过程。

+1代表笑脸:)不适用于二进制转储,这由OP的第二点指示。