使用R在postgres中设置架构名称

Sah*_*shi 5 postgresql r

我正在使用R连接到PostgreSQL数据库。使用以下功能进行连接:

dbConnect(m, dbname=dbname, host=host, port=port, user=user, password=password)
Run Code Online (Sandbox Code Playgroud)

m 是驱动程序(postgres)。

但是它不允许我设置表所在的特定模式名称。我如何连接到特定的架构,以便每次不必在表名之前添加架构名称?

R中是否有等效的语句set search_path = 'myschema'

Sca*_*bee 5

您可以使用:

dbConnect(
  m,
  dbname=dbname,
  host=host,
  port=port,
  user=user,
  password=password,
  options="-c search_path=myschema"
)
Run Code Online (Sandbox Code Playgroud)

它可以与RPostgreSQLRPostgres一起使用

  • 对于 RPostgres 用户:在我看来,这绝对是 dbConnect 文档中的一个缺陷。这仅对我有用,就像上面一样,并且没有 `options=` 参数名称,即使文档将其放入 `...` 中也是如此。`...` 的描述是针对“其他名称-值对”,它会将您链接到 PostgreSQL 文档以获取命令行选项,但这显然会让您相信 `search_path = "myschema"` 是预期的语法。基本上,“options”是必需的参数。尽管它没有列出,而且 R 名称-值对根本不起作用。 (2认同)