dbSendQuery
o dbGetQuery
è solo per la parte "SQL", non per i comandi psql come \i
.
Nel tuo caso la cosa più semplice è infatti usare readLines
ma poi avvolgi dbGetQuery
in un sapply
chiama.
con <- dbConnect(...) #Fill this as usual
queries <- readLines("query.sql")
sapply(queries, function(x) dbGetQuery(con,x))
dbDisconnect(con)
Dato che lo uso molto spesso, ho una scorciatoia per questo nel mio .Rprofile
file:
dbGetQueries<-function(con,queries)sapply(queries,function(x)dbGetQuery(con,x))
Ovviamente puoi anche accedere al system
modo:
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