Postgresql Schema连接的绑定

时间:2014-01-16 19:02:39

标签: java sql database postgresql database-connection

我们有一个java gui处理postgresql数据库的演示文稿。

在演示服务器上,我们有一些模式,其中一个是为我们的组保留的。

我现在的问题是将Schema绑定到连接,以便在整个过程中绑定模式。这是我到目前为止,但c.setSchema()似乎没有实现,也许还有其他方法。

Class.forName("org.postgresql.Driver");

    c = DriverManager.getConnection("jdbc:postgresql://" + host + ":"
    + port + "/" + databaseName, username, password);

    c.setAutoCommit(false);
    c.setSchema("b7");

感谢Stefan Sprenger

编辑(第一次尝试):

c = DriverManager.getConnection("jdbc:postgresql://" + host + ":"
            + port + "/" + databaseName+"?searchpath=b7", username, password);

没有错误但没有工作

2 个答案:

答案 0 :(得分:1)

此网址格式jdbc:postgresql://localhost:5432/mydatabase?searchpath=myschema似乎从未进入官方驱动程序,相反,您必须在建立连接后执行此语句set search_path to 'schema'

答案 1 :(得分:1)

我通过简单地添加一个schema.table来解决这个问题。

作为示例,我将模式作为输入参数并将其存储到String模式。

如果我调用类似的查询:

Select * from TABLE;

现在看起来像

Select * from schema.TABLE;

它有效;)