我正从kubernetes集群中遇到此错误。虽然它可以从我的本地服务器完美运行。这是我的SpringBoot App的application.yml
datasource:
dataSourceClassName: org.postgresql.ds.PGPoolingDataSource
url: jdbc:postgresql://${POSTGRES_HOST}:5432/test_db
databaseName: test_db
poolName: SpringBootHikariCP
username: ${POSTGRES_USER}
password: ${POSTGRES_PASSWORD}
testWhileIdle: true
validationQuery: SELECT 1
jpa:
database-platform: org.hibernate.dialect.PostgreSQL82Dialect
openInView: false
show_sql: true
generate-ddl: true
hibernate:
ddl-auto: update
naming-strategy: org.hibernate.cfg.ImprovedNamingStrategy
use-new-id-generator-mappings: true
properties:
hibernate.cache.use_second_levelt_cache: false
hibernate.cache.use_query_cache: false
hibernate.generate_statistics: true
hibernate.hbm2ddl.auto: validate
这是我的Hikari配置。
HikariConfig config = new HikariConfig();
config.setDataSourceClassName(dataSourceClassName);
config.addDataSourceProperty("url", url);
config.addDataSourceProperty("user", user);
config.addDataSourceProperty("password", password);
return new HikariDataSource(config);
我已经检查了没有Hikari的kubernetes的数据库连接性,并且它运行良好。因此,连接没有问题。 请帮助我解决这个问题。我坚持了几天。 谢谢
答案 0 :(得分:2)
${POSTGRES_HOST}
期望您在特定计算机上可能缺少的system environment variable,例如,添加它:
export POSTGRES_HOST="1.1.1.1"
答案 1 :(得分:1)
将url
更改为jdbc:postgresql://localhost:5432/test_db
或
jdbc:postgresql://<host ip>:5432/test_db
占位符${POSTGRES_HOST}
似乎有问题
尝试使用本地主机
datasource:
dataSourceClassName: org.postgresql.ds.PGPoolingDataSource
url: jdbc:postgresql://localhost:5432/test_db;
databaseName: test_db
poolName: SpringBootHikariCP
username: ${POSTGRES_USER}
password: ${POSTGRES_PASSWORD}
testWhileIdle: true
validationQuery: SELECT 1
可能您尚未设置环境变量$ {POSTGRES_HOST},这也可能是一个原因。