我是psql的新手。我从我的服务器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
ii)psql -U postgres dbname< servicedb.dump
Error:
^
ERROR: syntaxe error at or near "☺"
LINE 1: ☺☺
这个“.dump”文件是什么以及如何恢复它?
答案 0 :(得分:46)
我从我的服务器(Heroku)获得了一个.dump文件。正如Klaus所说,pg_restore是我在当地恢复它的唯一方法。
我在终端上写的是:
pg_restore -c -d [database_name] [dumpfile_name].dump
你可以在pg_restore的Klaus链接中看到很多选项:)
答案 1 :(得分:20)
psql -f filenamed.dmp db_name
工作正常
答案 2 :(得分:13)
对于Postgres 9.2
pg_restore --verbose --clean --no-acl --no-owner -h localhost -U [user] -d [db] [filename].dump
答案 3 :(得分:10)
查看pg_restore命令。
答案 4 :(得分:1)
我发现它在Windows环境中很棘手。
如果pg_restore是文本格式转储,则将不起作用。在这种情况下,我们需要使用psql。
psql -U username -f database.dump databasename
它将提示输入用户名的密码,然后将启动恢复过程。
答案 5 :(得分:0)
pg_restore远非显而易见,这是我用来创建新数据库并将转储文件还原到AWS上运行的远程Postgres实例的命令。如果您的连接正确,pg_restore应该立即要求您输入密码)
pg_restore -h mypostgresdb.eu-west-1.rds.amazonaws.com -U adminuser --verbose -C -d existingdatabase mydbdump.dm
开关在哪里
答案 6 :(得分:0)
psql用于纯文本转储,请使用pg_restore。