PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Cách thực thi các tệp truy vấn sql qua RPostgreSQL

dbSendQuery hoặc dbGetQuery chỉ dành cho phần "SQL", không phải các lệnh psql như \i .
Trong trường hợp của bạn, cách đơn giản nhất là sử dụng readLines nhưng sau đó bọc dbGetQuery trong một sapply cuộc gọi.

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

Vì tôi sử dụng cái này rất thường xuyên, tôi có một phím tắt cho cái này trong .Rprofile của mình tệp:

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

Tất nhiên, bạn cũng có thể truy cập hệ thống system cách:

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgresql GROUP_CONCAT tương đương?

  2. Rails Postgresql nhiều lược đồ và cùng một tên bảng

  3. Truy vấn theo tọa độ mất quá nhiều thời gian - các tùy chọn để tối ưu hóa?

  4. MySQL và PostgreSQL cho các ứng dụng web

  5. Tìm n Hàng xóm Gần nhất cho Điểm đã cho bằng PostGIS?