sql >> Base de Datos >  >> RDS >> PostgreSQL

Cómo ejecutar archivos de consulta sql a través de RPostgreSQL

dbSendQuery o dbGetQuery es solo para la parte "SQL", no para los comandos psql como \i .
En su caso, lo más simple es usar readLines pero luego envuelva dbGetQuery en un sapply llamar.

con <- dbConnect(...)          #Fill this as usual
queries <- readLines("query.sql")
sapply(queries, function(x) dbGetQuery(con,x))
dbDisconnect(con)

Como uso esto con mucha frecuencia, tengo un atajo para esto en mi .Rprofile archivo:

dbGetQueries<-function(con,queries)sapply(queries,function(x)dbGetQuery(con,x))

Por supuesto, también puedes ir al system manera:

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