Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 动态更改模式_Java_Postgresql_Spring Jdbc - Fatal编程技术网

Java 动态更改模式

Java 动态更改模式,java,postgresql,spring-jdbc,Java,Postgresql,Spring Jdbc,如何在Java中动态设置Postgres模式?我试着做: this.getDataSource().getConnection().setSchema("mySchema"); 我使用的是SpringJDBC,这是一个JdbcDaoSupport实例 注意:我不想两次访问数据库,因此设置search\u path并不能有效地解决我的问题。运行以下语句: set schema 'myschema'; 更改当前架构的步骤 或者只需设置搜索路径,即可访问public和myschema中的表: se

如何在Java中动态设置Postgres模式?我试着做:

this.getDataSource().getConnection().setSchema("mySchema");
我使用的是SpringJDBC,
这是一个
JdbcDaoSupport
实例

注意:我不想两次访问数据库,因此设置
search\u path
并不能有效地解决我的问题。

运行以下语句:

set schema 'myschema';
更改当前架构的步骤

或者只需设置搜索路径,即可访问public和myschema中的表:

set search_path to public, myschema;
(请注意在两条语句中指定架构名称的方式不同:第一条语句必须使用单引号,第二条语句不使用单引号)


您还可以使用
alter user…
永久更改特定用户的搜索路径

设置
搜索路径的更多方法
:这样,我需要进入数据库两次。一个用于设置模式,另一个用于运行查询。我只想确定架构并转到数据库一次。@SinanGedik您在会话中只设置一次,只要连接打开(或再次更改架构),更改就会生效。您不需要对每个查询都这样做。如果您更改了用户,则无需再次执行此操作。所以,也许改变用户才是你想要的。