dbSendQuery
или dbGetQuery
е само за частта "SQL", а не за psql командите като \i
.
Във вашия случай най-простото наистина е да използвате readLines
но след това обвийте dbGetQuery
в sapply
обадете се.
con <- dbConnect(...) #Fill this as usual
queries <- readLines("query.sql")
sapply(queries, function(x) dbGetQuery(con,x))
dbDisconnect(con)
Тъй като използвам това много често, имам пряк път за това в моя .Rprofile
файл:
dbGetQueries<-function(con,queries)sapply(queries,function(x)dbGetQuery(con,x))
Разбира се, можете също да преминете към system
начин:
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