无法将pg_restore数据库转换为RDS:缺少pgpass.conf文件?

时间:2016-09-12 08:26:26

标签: postgresql amazon-web-services amazon-ec2 rds

我尝试使用来自EC2实例的pg恢复将我的Postgres数据库恢复到AWS中的RDS Postgres实例。 我使用以下命令来恢复数据库:

pg_restore -v -h host --no-owner -d PostgresDB  postgres.dump

现在的问题是,最初,我没有指定--no-owner选项,并且由于已备份的本地数据库的所有者以及RDS实例的所有者不是'同样的。这引发了一个错误,这就是为什么我读到指定此选项有助于解决问题。 但是,现在我得到了一个

pg_restore: [archiver (db)] connection to database "XY" failed: 
FATAL:  password authentication failed for user "ec2-user"

错误消息,虽然密码正确。现在我读到Postgresql确实会发生这种情况,但我找不到在EC2上解决这个问题的方法。根据{{​​3}}线程,我需要更改其中一个配置文件的格式。但是这个我的postgres是一个AWS实例,我该如何实现呢?我浏览了我的EC2服务器实例并且没有找到任何pgpass.conf文件(根据'文件在服务器上不存在)。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您为Postgres创建了哪些用户名?当然不是ec2-user。您需要使用--username--password选项指定用户名和密码。 Here is the documentation