问题描述
我正在尝试针对 kubernetes 上的 postgres 数据库运行 flyway docker image 7.3.2
:
当我运行作业时,我的输出是:
Flyway Community Edition 7.3.2 by Redgate
ERROR:
Unable to obtain connection from database (jdbc:postgresql://xxx.eu-west-2.rds.amazonaws.com:5432/xxx flyway.user=postgres flyway.password=****************) for user 'null': The server requested password-based authentication,but no password was provided.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
sql State : 08004
Error Code : 0
Message : The server requested password-based authentication,but no password was provided.
Caused by: org.postgresql.util.PsqlException: The server requested password-based authentication,but no password was provided.
它输出的设置是正确的,应该启用连接。
我通过配置映射传入我的 flyway.conf
,它是:
apiVersion: v1
kind: ConfigMap
Metadata:
name: flyway-configmap
data:
flyway.conf:
flyway.url=jdbc:postgresql://xxx.eu-west-2.rds.amazonaws.com:5432/xxx
flyway.user=postgres
flyway.password=xxx
任何人都可以协助我做错了什么?
解决方法
如果这确实是您的 ConfigMap
,那么它在 |
之后缺少 :
字符,这会使该 yaml 键变成 a newline delimited scalar。该理论也与您的错误消息相符,显示整个事物 被视为 flyway.url
你想要的:
flyway.conf: |
flyway.url=jdbc:postgresql://xxx.eu-west-2.rds.amazonaws.com:5432/xxx
flyway.user=postgres
flyway.password=xxx