所以,我在我的本地机器上有一个带有postgres数据库的Pyramid应用程序。我做了一个pg_dump来获取我数据库中的数据转储,名为pg_dump_2014-04-22。我然后git推送了这个文件,并在VPS中进行了git pull以获取该文件。
现在,我已经在我的VPS上安装了postgres。当我在我的VPS上sudo -u postgres psql
时,我可以连接它但是没有任何关系(当然)。
我的用户名和数据库名都是postgres
。
所以,我尝试了psql postgres < pg_dump_2014-04-22
,但这会产生错误psql: FATAL: role "root" does not exist
。
我也尝试了pg_restore -h localhost -U postgres -d postgres pg_dump_2014-04-22
,并提示我输入密码,但然后抛出错误pg_restore: [archiver(db)] connection to database "postgres" falied: FATAL: password authentication failed for user postgres"
我在这里缺少什么?
答案 0 :(得分:1)
首先必须创建一个用户和要导入转储的数据库
su postgres
createuser root
createdb yourdb
然后使用
导入转储
psql -d yourdb -f pg_dump_2014-04-22