Проблемы с драйвером RS-DBI в R

У меня возникла проблема с выяснением, почему я не могу подключиться к базе данных PSql из R. Я могу получить доступ к базе данных с терминала с помощью команды psql, но при подключении через DBI и R я получаю следующее сообщение [с некоторыми информация отредактирована]:

Драйвер RS-DBI: (не удалось подключить [имя пользователя] @ [URI базы данных] к имени базы данных «[имя базы данных]»

Строка базы данных отлично работает как с терминалом, так и этот код отлично работает на машине, с которой я его портирую. Я переустановил версии библиотек, которые соответствуют тому, что было на машине разработчика, и у меня все еще есть проблемы.

Любой совет?

Изменить: мне удалось заставить его работать, возясь с операторами библиотеки (...). Похоже, изменение порядка библиотек DBI и RPostgreSQL имеет эффект. RPostgreSQL требует DBI, но при импорте только RPostgreSQL по-прежнему возникает ошибка «Не удалось подключиться».

Будущим читателям с этой проблемой: поиграйте с порядком, это может помочь!


person Jeremy Freeman    schedule 08.06.2016    source источник


Ответы (1)


Просто обоснованное предположение: ваш psql с того же компьютера, поэтому использует локальное соединение. Методы на основе DBI, использующие библиотеку Postgresql, будут использовать сетевое соединение, поэтому вам действительно нужно открыть соответствующий файл конфигурации.

См., Например, здесь о pg_hba.conf.

person Dirk Eddelbuettel    schedule 08.06.2016
comment
Я ценю ввод, но будет ли это иметь значение, если я провожу аутентификацию как имя пользователя и пароль через библиотеку? Я не совсем уверен, как библиотека pg обрабатывает auth. - person Jeremy Freeman; 09.06.2016
comment
Я использую Postgresql с 1990-х годов, и я почти уверен, что это ваша проблема. Существует дополнительный переключатель, который вы обычно должны включить для прослушивания сетевого подключения - он ортогонален аутентификации / паролю, поскольку он определяет где он прослушивает, а не кого он предоставляет доступ. - person Dirk Eddelbuettel; 09.06.2016