[PostgreSQL 8] Импорт дампа
От: Dimonka Верблюд  
Дата: 19.06.18 14:29
Оценка:
Нужно импортировать дамп PostgreSQL (что-то вроде 180бм) и там где импорт данных находится такая интересная фигня:
COPY tablename (id, name, description, html, status) FROM stdin;

А после неё идёт что-то вроде:
1234    TEST    \N    f    
5678    Production    \N    f    
\.

Я понимаю, что это что-то вроде TAB-Delimited CSV без заголовка, но как заставить PostgreSQL это прожевать?
pgAdmin такое не понимает, импорт командной строкой тоже сыпет ошибками..
Re: [PostgreSQL 8] Импорт дампа
От: Ops Россия  
Дата: 19.06.18 15:03
Оценка:
Здравствуйте, Dimonka, Вы писали:

D>Я понимаю, что это что-то вроде TAB-Delimited CSV без заголовка, но как заставить PostgreSQL это прожевать?

D>pgAdmin такое не понимает, импорт командной строкой тоже сыпет ошибками..

DataGrip или IDE от JB (все или большинство) умеют TSV, попробуй через них.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[2]: [PostgreSQL 8] Импорт дампа
От: Dimonka Верблюд  
Дата: 19.06.18 15:14
Оценка:
Здравствуйте, Ops, Вы писали:

D>>Я понимаю, что это что-то вроде TAB-Delimited CSV без заголовка, но как заставить PostgreSQL это прожевать?

D>>pgAdmin такое не понимает, импорт командной строкой тоже сыпет ошибками..

Ops>DataGrip или IDE от JB (все или большинство) умеют TSV, попробуй через них.


А сам PostgreSQL такой формат не поддерживает? Подозреваю, что та тулза, которая сгенерировала дамп каким-то образом сама импортирует файл без особых преобразований.

Я сохранил ради пробы дамп одной таблицы в файл. Пробую из pgAdmin следующее:
copy tablename (id, name, description, html, status)
    from 'C:/Users/Public/Documents/test_import.csv' 
    with delimiter E'\t'

И он пишет, что не может конвертировать "1234" в число для "id". Т.е. по идее импортировать должен, просто чего-то не хватает.
Re: [PostgreSQL 8] Импорт дампа
От: Dimonka Верблюд  
Дата: 19.06.18 16:12
Оценка:
Всё решилось само магическим образом.
Дамп стал импортироваться из командной строки. Возможно помогла смена языка базы данных на английский.
Re[3]: [PostgreSQL 8] Импорт дампа
От: Ops Россия  
Дата: 19.06.18 17:20
Оценка:
Здравствуйте, Dimonka, Вы писали:

D>А сам PostgreSQL такой формат не поддерживает? Подозреваю, что та тулза, которая сгенерировала дамп каким-то образом сама импортирует файл без особых преобразований.


А хрен знает. Если у тебя, как я предположил, разовая задача, то проще не париться, а взять инструмент, который гарантированно это умеет. Или накатать внешний скрипт для импорта/преобразования.

D>Я сохранил ради пробы дамп одной таблицы в файл. Пробую из pgAdmin следующее:

D>
copy tablename (id, name, description, html, status)
D>    from 'C:/Users/Public/Documents/test_import.csv' 
D>    with delimiter E'\t'

D>И он пишет, что не может конвертировать "1234" в число для "id". Т.е. по идее импортировать должен, просто чего-то не хватает.

Может, поле уникальное, и уже есть?
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.