Ktor应用无法连接PostgreSQL数据库问题求助
Ktor连接PostgreSQL配置错误修复
问题根源
你碰到的YamlDecodingException完全是因为application.yml的数据库配置格式写错了:
- url、driver、username、password都是单个值,不该用列表的
-前缀,而且你写的-jdbc:...里-和值之间没空格,YAML解析器直接无法正确解析 - 本地运行应用时,不能用Docker Compose里的服务名
database当数据库地址,本地主机得用localhost
修正后的application.yml
ktor: application: modules: - com.activity.ApplicationKt.module deployment: port: 8080 database: url: jdbc:postgresql://localhost:5432/project1 driver: org.postgresql.Driver username: user password: 123456
额外提醒
- 确认Docker容器已经启动(执行
docker-compose up -d),本地5432端口没被其他程序占用 - 要是以后把Ktor也放进Docker Compose一起跑,再把数据库地址改回
database(容器间能通过服务名通信) - 你用的PostgreSQL驱动
42.1.4版本太老,建议更新到最新稳定版(比如42.7.3),减少兼容性问题
内容的提问来源于stack exchange,提问作者Bahram Afandi
相关产品推荐
相关产品推荐

