我尝试使用来自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文件(根据'文件在服务器上不存在)。我该如何解决这个问题?
答案 0 :(得分:1)
您为Postgres创建了哪些用户名?当然不是ec2-user
。您需要使用--username
和--password
选项指定用户名和密码。 Here is the documentation