gpt4 book ai didi

postgresql - 无法为 Keycloak 配置 postgreSQL 数据源

转载 作者:行者123 更新时间:2023-11-29 14:33:38 25 4
gpt4 key购买 nike

我正在尝试按照以下步骤配置 PostgresSQL 数据源文档中介绍的教程: http://www.keycloak.org/docs/1.9/server_installation_guide/topics/database.html.我正在通过运行为独立服务器进行配置standalone.bat 并配置所有内容keycloak-3.0.0.Final/standalone/configuration/standalone.xml .

我正在逐步按照文档进行操作,但我得到以下信息每次运行 standalone.bat 都出错,因此我无法连接到数据库。

15:33:11,684 ERROR [org.jboss.as.controller.management-operation] 
(Controller Boot Thread) WFLYCTL0013: Operation ("add"
) failed - address: ([
("subsystem" => "datasources"),
("data-source" => "KeycloakDS")
]) - failure description: {"WFLYCTL0180: Services with
missing/unavailable dependencies" => [
"org.wildfly.data-source.KeycloakDS is missing
[jboss.jdbc-driver.postgres-driver]",
"jboss.driver-demander.java:jboss/datasources/KeycloakDS is missing
[jboss.jdbc-driver.postgres-driver]"
]}
15:33:11,687 ERROR [org.jboss.as.controller.management-operation]
(Controller Boot Thread) WFLYCTL0013: Operation ("add"
) failed - address: ([
("subsystem" => "datasources"),
("data-source" => "KeycloakDS")
]) - failure description: {"WFLYCTL0180: Services with
missing/unavailable dependencies" => [
"org.wildfly.data-source.KeycloakDS is missing
[jboss.jdbc-driver.postgres-driver]",
"jboss.driver-demander.java:jboss/datasources/KeycloakDS is missing
[jboss.jdbc-driver.postgres-driver]",
"org.wildfly.data-source.KeycloakDS is missing
[jboss.jdbc-driver.postgres-driver]"

我已经尝试过以下提供的不同版本的 JDBC 驱动程序: https://jdbc.postgresql.org/ ,但无济于事,即使使用文档中提到的版本。

此时我卡住了,因为我的配置文件看起来完全一样在文档中。我到底会错过什么?是个文档是最新的?

你找不到同样的问题- http://lists.jboss.org/pipermail/keycloak-user/2017-March/010120.html ,但在那里找不到任何解决方案,所以在这里重新发布相同的解决方案。

最佳答案

我使用 jboss-cli.sh(如果您使用的是 Windows,则使用 .bat)为我管理它。在 Keycloak 停止并且你的 PATH 包括 $KEYCLOAK_HOME/bin 的情况下,我将下面的脚本放入一个文件中(例如:config_db.cli):

embed-server --server-config=standalone.xml --std-out=echo

batch
#
# remove the default provided datasource
#
/subsystem=datasources/data-source=KeycloakDS/:remove

#
# add it back using PostgreSQL
#
module add --name=org.postgres --resources=/path/to/your/postgresql-42.1.4.jar --dependencies=javax.api,javax.transaction.api

/subsystem=datasources/jdbc-driver=postgres:add(driver-name="postgres",driver-module-name="org.postgres",driver-class-name=org.postgresql.Driver)

/subsystem=datasources/data-source=KeycloakDS/:add(connection-url=jdbc:postgresql://localhost:5432/db_name,driver-name=postgres,jndi-name=java:jboss/datasources/KeycloakDS,password=db_password,user-name=db_user)

run-batch

然后使用 bin/jboss-cli.sh --file=config_db.cli 运行

请注意,这假设您已经创建了一个带有密码 (db_password) 的 PostgreSQL 数据库用户(上面的 db_user)和一个由 db_user 拥有的数据库(db_name).

通过这种方式,我可以像在服务器上一样在本地机器上创建数据源。

所做的更正:运行 jboss-cl.sh 的格式是:bin/jboss-cli.sh --file=文件名

关于postgresql - 无法为 Keycloak 配置 postgreSQL 数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48186558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com