dbSendQuery
ou dbGetQuery
est juste pour la partie "SQL", pas les commandes psql telles que \i
.
Dans votre cas le plus simple est bien d'utiliser readLines
mais enveloppez ensuite dbGetQuery
dans un sapply
appeler.
con <- dbConnect(...) #Fill this as usual
queries <- readLines("query.sql")
sapply(queries, function(x) dbGetQuery(con,x))
dbDisconnect(con)
Comme je l'utilise très souvent, j'ai un raccourci pour cela dans mon .Rprofile
fichier :
dbGetQueries<-function(con,queries)sapply(queries,function(x)dbGetQuery(con,x))
Bien sûr, vous pouvez également accéder au system
façon :
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