powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Импорт файлов в таблицы PostgreSQL
6 сообщений из 6, страница 1 из 1
Импорт файлов в таблицы PostgreSQL
    #39005915
DenLaDenPro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток.

Для реализации очередного проекта необходимо реализовать некоторую функциональность ETL средствами PostgreSQL, а именно импорт файлов *.scv и *.txt в БД.
Согласно описанию документации по PostgreSQL ( http://www.postgresql.org/docs/9.3/static/sql-copy.html ), составил команду:
Код: plsql
1.
COPY public.tt6d0b2 (ses, v) FROM 'c:\1.csv' WITH (DELIMITER ';', FORMAT CSV, ENCODING 'UTF-8');


Для тестового импорта тестового файлика в БД, содержащего всего одну строку и два столбца. При выполнении возникает ошибка:
авторОШИБКА: не удалось открыть файл "c:\1.csv" для чтения: Нет такого файла или каталога
********** Ошибка **********

ОШИБКА: не удалось открыть файл "c:\1.csv" для чтения: Нет такого файла или каталога
SQL-состояние: 58P01
Вариация параметров "WITH" ошибку не меняет. Подскажите, пожалуйста, в чем может быть проблема?

Поиск выдаёт не особо информативные темы. Может я что-то пропускаю очевидное?
...
Рейтинг: 0 / 0
Импорт файлов в таблицы PostgreSQL
    #39005918
tadmin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DenLaDenPro,

Видимо, файл должен быть на сервере, а не на клиенте.
...
Рейтинг: 0 / 0
Импорт файлов в таблицы PostgreSQL
    #39005944
DenLaDenPro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tadminDenLaDenPro,

Видимо, файл должен быть на сервере, а не на клиенте.

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

Код: plsql
1.
COPY PUBLIC."FILEIMPORT" ("ID", "NUM") FROM '\\NAS\upload\1.csv' WITH (DELIMITER ';', FORMAT CSV, ENCODING 'UTF-8');


Ошибка та же:
PostgreSQLОШИБКА: не удалось открыть файл "\\NAS\upload\1.csv" для чтения: Нет такого файла или каталога
********** Ошибка **********

ОШИБКА: не удалось открыть файл "\\NAS\upload\1.csv" для чтения: Нет такого файла или каталога
SQL-состояние: 58P01
...
Рейтинг: 0 / 0
Импорт файлов в таблицы PostgreSQL
    #39005950
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DenLaDenProtadminDenLaDenPro,

Видимо, файл должен быть на сервере, а не на клиенте.

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

Код: plsql
1.
COPY PUBLIC."FILEIMPORT" ("ID", "NUM") FROM '\\NAS\upload\1.csv' WITH (DELIMITER ';', FORMAT CSV, ENCODING 'UTF-8');


Ошибка та же:
PostgreSQLОШИБКА: не удалось открыть файл "\\NAS\upload\1.csv" для чтения: Нет такого файла или каталога
********** Ошибка **********

ОШИБКА: не удалось открыть файл "\\NAS\upload\1.csv" для чтения: Нет такого файла или каталога
SQL-состояние: 58P01

Читаем документацию по COPY ( http://www.postgresql.org/docs/9.4/static/sql-copy.html) и видим
"Windows users might need to use an E'' string and double any backslashes used in the path name."

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
Импорт файлов в таблицы PostgreSQL
    #39006072
DenLaDenPro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxim BogukЧитаем документацию по COPY ( http://www.postgresql.org/docs/9.4/static/sql-copy.html ) и видим
"Windows users might need to use an E'' string and double any backslashes used in the path name."

Спасибо за участие в решении проблемы.

Я забыл указать в первом сообщении, что обратные слеши перепробовал и с кодировкой экспериментировал, не получилось - ошибки: либо файла нет, либо синтаксис неверен.

Блуждая по инету, наткнулся на следующую подсказку:
анонимПри подготовке к импорту файла проследите за тем, чтобы этот файл был доступен для чтения процессом postmaster (то есть пользователем, запустившим PostgreSQL).
Но, т.к. у меня нет доступа к серверу, на котором располагается БД, в ближайшую неделю (пока админ не вернется из отпуска) не смогу этого проверить. :(
...
Рейтинг: 0 / 0
Импорт файлов в таблицы PostgreSQL
    #39006098
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DenLaDenPro,

Сделайте маленькую тестовую табличку, pg_dump-ните ее и посмотрите как это делается через `COPY ... FROM stdin;`
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Импорт файлов в таблицы PostgreSQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]