Как я могу подключиться к posgre sql с новым подключением в RStudio - PullRequest
2 голосов
/ 09 июля 2020

Я хочу подключить RStudio к базе данных в PostgreSQL. Итак, сначала, следуя инструкциям, я изменил файл odbcinst.ini:

[PostgreSQL Driver]
Driver          = /usr/local/lib/psqlodbcw.so

Хорошо, теперь появляется PostgreSQL, выбираемый в соединении. А затем я попытался установить соединение:

con <- dbConnect(odbc::odbc(),
                 .connection_string = "Driver={PostgreSQL Driver};",
                 dbname = 'name', 
                 host = 'host',
                 user = 'user',
                 password = 'pass',
                 port = 5432,
                 timeout = 10)

Но он возвращает мне ошибку:

rror: nanodbc/nanodbc.cpp:983: 00000: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

Я пробовал до сих пор:

drv <- dbDriver("RPostgreSQL")
con <- dbConnect(drv,
                 dbname = 'name', 
                 host = 'host',
                 user = 'user',
                 password = 'pass',
                 port = 5432)

Это работает, но я не могу перемещаться по базе данных (я имею в виду, чтобы видеть таблицы и статус подключения) в RStudio.

введите описание изображения здесь

У меня вопрос: нужно ли менять привод в odbcinst.ini? Каким будет файл .so? Любая помощь, указывающая, что делать, будет принята с благодарностью. Кстати, я работаю на Ma c, а хост на Amazon.

Ответы [ 2 ]

2 голосов
/ 09 июля 2020

После некоторых проб и ошибок это сработало для меня:

con <- dbConnect(odbc::odbc(),
                 Driver = "PostgreSQL Driver",
                 Database = 'name', 
                 Server = 'host',
                 UID = 'user',
                 PWD = 'pass',
                 Port = 5432,
                 timeout = 10)

Вуаля, теперь я могу видеть таблицы в базе данных.

1 голос
/ 09 июля 2020

Возможно, RPostgres может вам помочь

con <- RPostgres::dbConnect(RPostgres::Postgres(),
                            dbname = 'name', 
                            host = 'host',
                            user = 'user',
                            password = 'pass',
                            port = 5432)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...