尝试从活动的 rails 服务器执行 PG 转储并获取密码验证失败

Trying to do a PG dump from an active rails server and getting password authentication failed

我正在尝试运行这个命令

ssh -p <PORT> <user@server> 'PGPASSWORD=\"<production_password>\" pg_dump -U database_user #<production_database> -h 127.0.0.1 -F t' > <location>

我得到

pg_dump: [archiver (db)] connection to database "database_name" failed: FATAL: password authentication failed for user "database_user"

凭据必须正确,因为部署工作正常。

这是 CentOS 运行ning 上的 RoR 应用程序,我试图遵循其他堆栈溢出答案并意识到我没有目录 var/lib/postgres 也没有 /etc/postgresql.我在找 /etc/postgresql/9.4/main/pg_hba.conf

我不认为没有安装 postgres,因为我们正在积极地运行安装 postgres 数据库。

我只想将 rails pg 生产数据库转储到我的本地计算机!

任何线索都会非常有帮助。

--------添加我的database.yml配置--------

adapter: postgresql
  encoding: utf8
  host: 127.0.0.1
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  reconnect: true
  timeout: 5000

另一个要添加到难题中的注意事项,我们在同一台服务器上有 2 或 3 个 PG 数据库。

AND 使用 this_is_a_fake_db_name 仍然给我带来同样的错误。所以它肯定没有连接到我请求的数据库。

我想我被阻止连接到我的数据库,这就是我无法通过身份验证的原因。

最后我在服务器上备份为sudo: (su postgres -c 'pg_dump -U postgres <db-name>') > <backupNAME>.sql

然后用SCP复制下来

scp -P <port> user@server:/path/to/<backupNAME>.sql <local/path/to/save>

感谢@lackoftactics 的帮助!