设置Vertica数据库的默认架构

Ana*_*nth 8 jpa vertica playframework

我正在使用Play构建Web应用程序!使用Vertica数据库作为后端.Vertica的JDBC连接字符串包含服务器和数据库名称,但我的表位于特定模式下(例如"dev_myschema").因此,我应该将我的表称为"dev_myschema.mytable".生产模式中的所有这些表的精确副本(例如"prod_myschema")都包含真实数据.

我想在配置文件中设置此架构名称,以便在这两个架构之间切换.现在,我在一个辅助类中有一个getConnection方法,它执行DB.getConnection()并将配置的模式设置为该连接对象的默认模式.但是,对于其中提及它的实体注释(@Entity @Table(name = dev_myschema.mytable)),其他模型类也没有用.

有没有办法可以在配置文件中指定模式名称,并通过连接方法和模型注释读取它?

谢谢.

Eam*_*ain 7

尤金得到的几乎是正确的,但缺少一个下划线.用于设置默认架构的正确Vertica SQL语法是:

set search_path to dev_myschema
Run Code Online (Sandbox Code Playgroud)

正如Eugene建议的那样,如果您使用的是低级JDBC,则只要创建Connection对象,就可以执行以下操作:

conn.createStatement().executeUpdate("set search_path to " + schemaName);
Run Code Online (Sandbox Code Playgroud)


geo*_*son 1

据我所知(我刚刚浏览了 4.1.7 文档),目前还没有办法将模式设置为默认模式。