dbSendQuery
eller dbGetQuery
är bara för "SQL"-delen, inte psql-kommandon som \i
.
I ditt fall är det enklaste att använda readLines
men radera sedan dbGetQuery
i en sapply
ring.
con <- dbConnect(...) #Fill this as usual
queries <- readLines("query.sql")
sapply(queries, function(x) dbGetQuery(con,x))
dbDisconnect(con)
Eftersom jag använder detta väldigt ofta har jag en genväg för detta i min .Rprofile
fil:
dbGetQueries<-function(con,queries)sapply(queries,function(x)dbGetQuery(con,x))
Naturligtvis kan du också gå till system
sätt:
system("psql -U username -d database -h 127.0.0.1 -p 5432 -f query.sql") #Remember to use your actual username, database, host and port