我正在使用in_schema()
包中的dbplyr
函数在R的postgresql数据库的命名模式中创建一个表。
这不是一段新的代码,它曾经按预期工作=创建一个名为' my_table'在架构' my_schema'。
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方案,在我的情况下这是不实际的)?
答案 0 :(得分:0)
为此,我建议使用copy_to()
而不是dbWriteTable()
:copy_to(con, iris, in_schema("production", "iris"))