Postgresql Передача пути к файлу .txt - PullRequest
0 голосов
/ 07 сентября 2018

Торжественное открытие первого поста. Yay.

Я сейчас работаю над проектом базирования данных на моей стажировке, который требует использования postgresql, с которым я, к сожалению, незнаком.

В настоящее время я написал командный файл, целью которого является автоматизация импорта данных из файла CSV в базу данных.

Основная команда выглядит следующим образом:

psql -p "% port%" -d "% dbname%" -U "% имя пользователя%" -f "% SQLFilePath%" -v v1 = "% CSVFilePath%"

Здесь я передаю параметр v1 в мой файл .txt, указанный после -f.

В моем файле .txt у меня есть команда \ echo: v1, которая точно отображает путь к файлу, указанный в командном файле.

Однако при выполнении функции копирования, которая копирует содержимое файла .csv в таблицу tmp для вставки в мою текущую таблицу, я сталкиваюсь с этой ошибкой:

psqlC: / имя произвольного файла / имя произвольного файла .txt :: неверный аргумент

Команда, которую я использую в своем файле .txt, который приводит к этой ошибке:

\ COPY tmp_table FROM: 'v1' DELIMITER ',';

Надеясь быть просветленным здесь.

Полный код в моем файле .txt выглядит следующим образом:

CREATE TEMP TABLE tmp_table AS ВЫБРАТЬ * ОТ public.test Без данных;

\ COPY tmp_table FROM: 'v1' DELIMITER ',';

Вставить в таблицу ВЫБЕРИТЕ DISTINCT ON (colu1) * ОТ tmp_table ПО КОНФЛИКТУ НИЧЕГО НЕ ДЕЛАЕТ;

DROP TABLE tmp_table;

...