PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come eseguire file di query sql tramite RPostgreSQL

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