【发布时间】:2018-04-22 20:11:59
【问题描述】:
我正在使用 dbplyr 包中的 in_schema() 函数在来自 R 的 postgresql 数据库的命名模式中创建表。
这不是一段新代码,它曾经按预期工作 = 在模式“my_schema”中创建一个名为“my_table”的表。
con <- dbConnect(odbc::odbc(),
driver = "PostgreSQL Unicode",
server = "server",
port = 5432,
uid = "user name",
password = "password",
database = "dbase")
dbWriteTable(con,
in_schema('my_schema', 'my_table'),
value = whatever) # assume that 'whatever' is a data frame...
这段代码现在出现了问题,意外开始在我的数据库的默认公共方案中创建一个名为“my_scheme.my_table”的表,而不是预期的 my_schema.my_table。
有没有其他人注意到这种行为,是否有解决方案(除了使用默认的 postgresql 方案,这在我的情况下不实用)?
【问题讨论】:
-
您可以尝试专门针对 RPostgresql 的向量语法:stackoverflow.com/a/12001451 或者您可以尝试 DBI::Id(schema="my_schema", name="my_table")。
标签: r postgresql dbplyr