【发布时间】:2018-03-05 20:39:30
【问题描述】:
我正在使用 R 连接到 PostgreSQL 数据库。使用以下函数完成连接:
dbConnect(m, dbname=dbname, host=host, port=port, user=user, password=password)
m 是驱动程序(postgres)。
但它不允许我设置我的表所在的特定模式名称。如何连接到特定架构,这样每次我不必在表名前加上架构名称前缀?
R 中是否有与set search_path = 'myschema' 等效的语句?
【问题讨论】:
-
你可以运行
ALTER ROLE username SET search_path = schema1,schema2,schema3;服务器端... -
不知道你用的是哪个包。在 RODBC 中,您可以执行
library (RODBC)加co <- odbcConnect( 'thedata' )加odbcQuery (co, 'SET search_path = myschema;') -
我使用 RPostgreSQL 包。该软件包是否有等效方法?
-
@VaoTsun ALTER ROLE username SET search_path = schema1,schema2,schema3;这是否意味着,默认情况下,我所有的表搜索和创建新表都将发生在 schema1 中?如果我明确写: set search_path = schema2;那么它会在 schema2 下进行操作(默认 schema1 是 schema1)?
标签: r postgresql