Liquibase 无法使用 @ 和 ! 对用户进行身份验证在密码中
Liquibase unable to authenticate user with @ and ! in password
针对 PostgreSQL 9.6 使用 Liquibase 3.5.3 命令行 我无法使用密码包含 @ 和 ! 的用户(例如 postgres)进行身份验证人物。如果我更改密码以删除它们,则身份验证有效。其他用户也会出现这种情况。带有@和!的密码正确并用于其他应用程序。
我正在使用来自 PostgreSQL 的 jdbc 4.2 驱动程序和 java 1.8 运行时。
Unexpected error running Liquibase: org.postgresql.util.PSQLException:
FATAL: password authentication failed for user "postgres"
使用 jdbc 和 Liquibase 时,密码有什么独特之处吗?
如果您使用的是命令行,为每个特殊字符添加反斜杠即可解决问题。
java -jar liquibase.jar \
--driver=oracle.jdbc.OracleDriver \
--classpath=\path\to\classes:jdbcdriver.jar \
--changeLogFile=com/example/db.changelog.xml \
--url="jdbc:oracle:thin:@localhost:1521:oracle" \
--username=scott \
--password=\!\@tiger$\%\
update
或者您可以使用 liquibase 属性 文件并将所有参数放入该文件中。这样就可以在密码中使用原来的特殊字符了。
如果您使用 Gradle 或 Ant 等构建工具,它们的参考块将帮助您跳过此问题。
针对 PostgreSQL 9.6 使用 Liquibase 3.5.3 命令行 我无法使用密码包含 @ 和 ! 的用户(例如 postgres)进行身份验证人物。如果我更改密码以删除它们,则身份验证有效。其他用户也会出现这种情况。带有@和!的密码正确并用于其他应用程序。
我正在使用来自 PostgreSQL 的 jdbc 4.2 驱动程序和 java 1.8 运行时。
Unexpected error running Liquibase: org.postgresql.util.PSQLException: FATAL: password authentication failed for user "postgres"
使用 jdbc 和 Liquibase 时,密码有什么独特之处吗?
如果您使用的是命令行,为每个特殊字符添加反斜杠即可解决问题。
java -jar liquibase.jar \
--driver=oracle.jdbc.OracleDriver \
--classpath=\path\to\classes:jdbcdriver.jar \
--changeLogFile=com/example/db.changelog.xml \
--url="jdbc:oracle:thin:@localhost:1521:oracle" \
--username=scott \
--password=\!\@tiger$\%\
update
或者您可以使用 liquibase 属性 文件并将所有参数放入该文件中。这样就可以在密码中使用原来的特殊字符了。
如果您使用 Gradle 或 Ant 等构建工具,它们的参考块将帮助您跳过此问题。