У меня есть 3 базы данных шарда на 3 разных Postgres серверах, и я пытаюсь подключить эти серверы и написать sql, чтобы вернуть значение в R. Я могу подключиться и написать запрос для первого, но мне нужно результат данных из трех таблиц вместе. Что я должен сделать для этого?
require("RPostgreSQL")
library(DBI)
library('dplyr')
# password
pw <- "postgres"
# loads the PostgreSQL driver
drv <- dbDriver("PostgreSQL")
# creates a connection to the postgres database
con1 <- dbConnect(
drv,
dbname = "postgres",
host = "0.0.0.0",
port = 5436,
user = "postgres",
password = pw
)
con2 <- dbConnect(
drv,
dbname = "postgres",
host = "0.0.0.0",
port = 5431,
user = "postgres",
password = pw
)
con3 <- dbConnect(
drv,
dbname = "postgres",
host = "0.0.0.0",
port = 5436,
user = "postgres",
password = pw
)
rm(pw) # removes the password
# check for connection
dbExistsTable(con1, "shard1")
dbExistsTable(con2, "shard2")
dbExistsTable(con3, "shard3")
# TRUE
# the amount of paid installs by company, which happened in May
query = "SELECT company, SUM(installs)
FROM shard1
WHERE paid= 'TRUE' AND to_char(created_at,'mm')='05'
GROUP BY company"
dsub = tbl(con1, sql(query))
dsub