Faça um túnel SSH para outro computador via R para acessar a tabela postgreSQL

Como parte do meu fluxo de trabalho do R para um dos meus projetos, carrego dados de uma tabela postgreSQL localizada em um servidor remoto.

Meu código se parece com isso (credenciais anônimas).

Abri primeiro uma conexão ssh com o servidor remotono terminal.

ssh -p Port -L LocalPort:IP:RemotePort servername"

Em seguida, conecto ao banco de dados postgres em R.

# Load the RPostgreSQL package
library("RPostgreSQL")

# Create a connection
Driver <- dbDriver("PostgreSQL") # Establish database driver
Connection <- dbConnect(Driver, dbname = "DBName", host = "localhost", port = LocalPort, user = "User")

# Download the data
Data<-dbGetQuery(Connection,"SELECT * FROM remote_postgres_table")

Essa abordagem funciona bem e eu posso fazer o download dos dados sem problemas.

No entanto, eu gostaria de dar o primeiro passo - ou seja, criar a conexão ssh - no R, e não no terminal. Aqui está minha tentativa de fazê-lo, com o erro que o acompanha.

# Open the ssh connection in R
system("ssh -T -p Port -L LocalPort:IP:RemotePort servername")

# Load the RPostgreSQL package
library("RPostgreSQL")

# Create a connection
Driver <- dbDriver("PostgreSQL") # Establish database driver
Connection <- dbConnect(Driver, dbname = "DBName", host = "localhost", port = LocalPort, user = "User")

# Download the data
Data<-dbGetQuery(Connection,"SELECT * FROM remote_postgres_table")

Error in postgresqlExecStatement(conn, statement, ...) : 
RS-DBI driver: (could not Retrieve the result : server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.

Para esclarecer minha pergunta, eu gostaria de executar todo esse fluxo de trabalho (estabelecer uma conexão, fazer o download dos dados do postgreSQL) inteiramente no R, sem nenhuma etapa no terminal.

questionAnswers(2)

yourAnswerToTheQuestion