Я подключаюсь к базе данных PostgreSQL и хотел бы использовать команды psql (особенно команду \copy
) изнутри R.
Я в Windowsклиент использует драйверы ODBC для подключения к базе данных.По сути, любой основной пакет ODBC в R, включая пакет «rpg», работает для подключения к базе данных, чтения и записи таблиц и т. Д.
Помимо размещения обычных запросов SQL, пакет «rpg» позволяетиспользовать команды psql.Функция «copy_to» должна отправлять команду psql «\ copy» в базу данных.
Однако при запуске функции выдается ошибка: „psql not found“
У меня также установлен pgAdmin III.,Здесь выполнение команды \copy
не представляет никакой проблемы.
Копание глубже Я обнаружил, что функция rpg :: copy_to сначала запускает Sys.which(„psql“)
, которая возвращает: ""
, что приводит к указанной ошибке.
Чтение этой ветки заставило меня подумать, что добавление пути к pgAdmin psql.exe поможет.Поэтому я добавил строку
psql=C:\Program Files (x86)\pgAdmin III\1.16\psql.exe
в среде R.
Запуск Sys.which(„psql“)
по-прежнему возвращает ""
, в то время как Sys.getenv()
правильно показывает путь к pqsl.exe, который яуказан.
Как заставить Sys.which () найти файл psql.exe?Учитывая, что это правильный способ решить эту проблему, в первую очередь.
Буду признателен за любую помощь!