Heroku 数据库在维护后显示密码验证失败
Heroku database showing password authentication failed after maintenance
所以我收到了一条来自 heroku 的消息,说它需要对我的数据库进行维护,并且只能读取一段时间。但是我去检查我的网站,发现该网站无法处理需要数据库数据的页面,我去检查日志并看到此错误消息:
2022-05-20T09:57:55.246102+00:00 app[web.1]: sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "eu-west-1.compute.amazonaws.com" (52.18.116.67), port 5432 failed: FATAL: password authentication failed for user "MYUSERNAME"
2022-05-20T09:57:55.246102+00:00 app[web.1]: connection to server at ".eu-west-1.compute.amazonaws.com" (52.18.116.67), port 5432 failed: FATAL: no pg_hba.conf entry for host "IP", user "MYUSERNAME", database "DATABASE", no encryption
我没有接触或改变任何东西,所以不确定是什么问题。
如果您没有使用 Heroku 管理的用于连接到 PostgreSQL 数据库的“动态”环境变量,就会发生这种情况
如果您只有一个,最好使用 DATABASE_URL,因为它始终具有 up-to-date 位置和凭据
Heroku 可以出于各种原因更改 url,例如凭据轮换
如果您使用的是 sqlalchemy,您可能需要一些 workaround:
os.environ.get('DATABASE_URL').replace('postgres://', 'postgresql://')
所以我收到了一条来自 heroku 的消息,说它需要对我的数据库进行维护,并且只能读取一段时间。但是我去检查我的网站,发现该网站无法处理需要数据库数据的页面,我去检查日志并看到此错误消息:
2022-05-20T09:57:55.246102+00:00 app[web.1]: sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "eu-west-1.compute.amazonaws.com" (52.18.116.67), port 5432 failed: FATAL: password authentication failed for user "MYUSERNAME"
2022-05-20T09:57:55.246102+00:00 app[web.1]: connection to server at ".eu-west-1.compute.amazonaws.com" (52.18.116.67), port 5432 failed: FATAL: no pg_hba.conf entry for host "IP", user "MYUSERNAME", database "DATABASE", no encryption
我没有接触或改变任何东西,所以不确定是什么问题。
如果您没有使用 Heroku 管理的用于连接到 PostgreSQL 数据库的“动态”环境变量,就会发生这种情况
如果您只有一个,最好使用 DATABASE_URL,因为它始终具有 up-to-date 位置和凭据
Heroku 可以出于各种原因更改 url,例如凭据轮换
如果您使用的是 sqlalchemy,您可能需要一些 workaround:
os.environ.get('DATABASE_URL').replace('postgres://', 'postgresql://')