通过 RPostgreSQL 将转储文件导入 PostgreSQL
Import dump file into PostgreSQL through RPostgreSQL
我想知道是否有办法通过 R (RPostgreSQL) 将 PostgreSQL 转储导入 PostgreSQL 数据库。
我理解这是我们通过 RPostgreSQL 将 R 中的 csv 或数据表写入 PostgreSQL 的方式。
dbWriteTable(con, 'mtcars', mtcars)
这是我们可以在终端中将转储导入 PostgreSQL 数据库的方法。
\i /Users/Downloads/mypostgres.dump
有没有一种方法可以通过 R 包将转储导入 PostgreSQL,这样我就不必离开 R 界面?
您可以使用 system
并调用 psql
:
system('psql my_new_db < /Users/Downloads/mypostgres.dump')
你可以试试:
library("RPostgreSQL")
drv <- dbDriver("PostgreSQL")
con <- dbConnect(drv, dbname = "postgres",
host = "localhost", port = 5432,
user = "openpg", password = "password")
dbWriteTable(con, "cartable", value = mtcars, append = TRUE, row.names = FALSE)
#Test if it is there
head(dbGetQuery(con, "SELECT * from cartable"))
# mpg cyl disp hp drat wt qsec vs am gear carb
#1 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
#2 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
#3 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
#4 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
#5 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
#6 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
我想知道是否有办法通过 R (RPostgreSQL) 将 PostgreSQL 转储导入 PostgreSQL 数据库。
我理解这是我们通过 RPostgreSQL 将 R 中的 csv 或数据表写入 PostgreSQL 的方式。
dbWriteTable(con, 'mtcars', mtcars)
这是我们可以在终端中将转储导入 PostgreSQL 数据库的方法。
\i /Users/Downloads/mypostgres.dump
有没有一种方法可以通过 R 包将转储导入 PostgreSQL,这样我就不必离开 R 界面?
您可以使用 system
并调用 psql
:
system('psql my_new_db < /Users/Downloads/mypostgres.dump')
你可以试试:
library("RPostgreSQL")
drv <- dbDriver("PostgreSQL")
con <- dbConnect(drv, dbname = "postgres",
host = "localhost", port = 5432,
user = "openpg", password = "password")
dbWriteTable(con, "cartable", value = mtcars, append = TRUE, row.names = FALSE)
#Test if it is there
head(dbGetQuery(con, "SELECT * from cartable"))
# mpg cyl disp hp drat wt qsec vs am gear carb
#1 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
#2 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
#3 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
#4 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
#5 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
#6 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1