Spring Boot jdbc模板在自定义模式下的postgres中找不到表

Posted

技术标签:

【中文标题】Spring Boot jdbc模板在自定义模式下的postgres中找不到表【英文标题】:Spring boot jdbc template not finding table in postgres under custom schema 【发布时间】:2017-11-27 15:52:14 【问题描述】:

我的数据库有一些模式,我创建了一个名为应用程序的应用程序来保存我的应用程序特定的表。我将此模式添加到 postgres 的 search_path,但是当我使用 jdbc 模板进行查询时,它找不到表。如何让 jdbc 使用 search_path 来查找正在查询的表?

【问题讨论】:

【参考方案1】:

有几种选择:

1) 您可以在每个会话开始时set search_path to ..;,或

2) 你可以alter database yourdatabase set search_path to ...;,或者

3) 你可以alter role yourdbuser set search_path to ...;

选项 2 和 3 仅适用于新连接(不要忘记重新连接)。

另外,你可以在 postgresql.conf 中设置search_path,但是如果你有超过 1 个数据库,这个选项就不那么灵活了。

【讨论】:

以上是关于Spring Boot jdbc模板在自定义模式下的postgres中找不到表的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot 在自定义类中使用组件? [关闭]

使用 jdbc 模板自动装配数据源问题的 Spring Boot 自动配置

如何在自定义反序列化器 Spring Boot 中读取路径变量或 URL 参数

Spring boot,jdbc 模板在手动应用程序 jar 启动后工作,但不能通过 cron。背后的原因可能是啥?

Spring中的设计模式:模板模式

使用 Spring Boot 和 Spring JDBC 在 oracle 中设置默认模式 = SOMETHING