2017-09-12 108 views
1

我试图恢复备份到我的本地主机来审查数据 - 以便我确实可以确保备份工作。我使用Heroku,postgres和rails。PG还原功能不能在本地主机上工作

我干净地安装了应用程序,所以localhost数据库中没有数据。我运行db:reset和db:migrate。

这里是我试图使用pg_restore的字符串:

pg_restore --verbose --clean --no-acl --no-owner -h localhost -p 3000 -U ian -d backup_production latest.dump 

我收到的错误说:

“连接到数据库‘backup_production’失败:服务器意外关闭了连接”

我从来没有这样做过,所以任何帮助,将不胜感激。我认为开发是本地主机使用的(而不是测试或生产)?

我不确定我错过了什么,但我会回答您可能有的任何问题。

非常感谢。

编辑,。这里有一个问题,对于这个数据库字符串,我认为我需要使用所有本地主机信息,因为我使用heroku capture/download创建了一个备份。这个假设我错了吗?我是否应该使用heroku凭证中的数据库名称和端口等?

回答

0

原来,我不应该添加端口。删除-p 3000,使这个命令起作用。

0

试试这个

编辑在终端

sudo gedit /etc/postgresql/POSTGRE_VERSION/main/pg_hba.conf 

的postgre配置文件,然后输入你的配置更改为这个

# Database administrative login by Unix domain socket 
local all    all          trust 

# TYPE DATABASE  USER   ADDRESS     METHOD 

# "local" is for Unix domain socket connections only 
local all    all          trust 
# IPv4 local connections: 
host all    all    127.0.0.1/32   trust 
# IPv6 local connections: 
host all    all    ::1/128     trust 

重新启动postgre服务器

sudo /etc/init.d/postgresql restart 

这应该是无密码访问的解决方案

相关问题