我正在使用 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...
这段代码现在出现了问题,并且意外地开始在我的数据库的默认公共(public)方案中创建一个名为“my_scheme.my_table”的表,而不是预期的 my_schema.my_table。
有没有其他人注意到这种行为,是否有解决方案(除了使用默认的 postgresql 方案,这在我的情况下不实用)?
最佳答案
为此,我建议使用 copy_to()
而不是 dbWriteTable()
: copy_to(con, iris, in_schema("production", "iris "))
关于r - dbplyr in_schema() 函数行为异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49970290/