I'm using RPostgreSQL to read and write data. Reading from any schema works perfectly, but I'm not able to write to non-public schemas. For example, the following code places a table in the public
schema, with the name myschema.tablex
# write dataframe to postgres drv <- dbDriver("PostgreSQL") con <- dbConnect(drv, host="localhost", user="postgres", password="zzzz", dbname="mydatabase", port="5436") if(dbExistsTable(con,"myschema.tablex")) { dbRemoveTable(con,"myschema.vkt_tablex")} dbWriteTable(con,"myschema.tablex", dataframe, row.names=F)
What I want to do, is to place the table tablex
in the schema myschema
. I've also tried to name the schema in the connection: dbname="mydatabase.myschema"
and trying the argument schemaname
which I saw referred to in an earlier bug.
None of these approaches work, so I'm wondering if there is another method that I can use.
Use this:
library(RPostgreSQL) drv <- dbDriver("PostgreSQL") con <- dbConnect(drv, dbname = "db", host = "host", port = 5432, user = "user", password = "pwd") dbWriteTable(con, c("yourschema", "yourtable"), value = yourRdataframe) dbDisconnect(con)
More details: https://stat.ethz.ch/pipermail/r-sig-db/2011q1/001043.html
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With