无法 pg_restore DB 到 RDS:缺少 pgpass.conf 文件?
Can't pg_restore DB to RDS: missing pgpass.conf file?
我正在尝试使用 pg restore 从 EC2 实例将我的 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 上解决这个问题的方法。根据 this 线程,我需要更改其中一个配置文件的格式。但是我的 postgres 是一个 AWS 实例,我该如何实现呢?我浏览了我的 EC2 服务器实例,但没有找到任何 pgpass.conf 文件(根据 'which',该文件在服务器上不存在)。我该如何解决这个问题?
您为 Postgres 创建了什么用户名?当然不是 ec2-user
。您需要使用 --username
和 --password
选项指定用户名和密码。 Here is the documentation.
我正在尝试使用 pg restore 从 EC2 实例将我的 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 上解决这个问题的方法。根据 this 线程,我需要更改其中一个配置文件的格式。但是我的 postgres 是一个 AWS 实例,我该如何实现呢?我浏览了我的 EC2 服务器实例,但没有找到任何 pgpass.conf 文件(根据 'which',该文件在服务器上不存在)。我该如何解决这个问题?
您为 Postgres 创建了什么用户名?当然不是 ec2-user
。您需要使用 --username
和 --password
选项指定用户名和密码。 Here is the documentation.