Я хочу импортировать несколько тысяч файлов в свою базу данных postgres, которая работает на macbook. Мне нужен другой способ импортировать все эти файлы эффективным образом. В настоящее время это не удается, поскольку список аргументов слишком длинный.
Я дал команду:
COPY pwned from PROGRAM 'cat /Volumes/Secret/Collection/1/*.txt' DELIMITER '|';
Ошибка, которую я получаю:
ERROR: program "cat /Volumes/Secret/Collection/1/*.txt" failed
DETAIL: command not executable
Причина в том, что я не могу просмотреть файлы:
cat /Volumes/Secret/Collection/1/*.txt
-bash: /bin/cat: Argument list too long
Как я могу импортировать все свои файлы?
Спасибо





Если вы подключаетесь к xargs, ваша проблема должна быть решена:
COPY pwned from PROGRAM 'cat /Volumes/Secret/Collection/1/*.txt | xargs -n1' DELIMITER '|';
Причина использования -n1 заключается в том, что вам нужно ограничить его до 1 аргумента на командную строку, иначе вы получите ошибку при импорте, поскольку он попытается вставить более одной строки копии для строки в вашей таблице, что в большинстве случаев потерпит неудачу.