Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / COPY и дубликаты строк / 4 сообщений из 4, страница 1 из 1
09.11.2016, 16:34
    #39344341
seadb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COPY и дубликаты строк
Может кто поможет с проблемой? Третью неделю поглядываю в сторону Postgresа.
Создал табличку :
create table synpi(UNIQUE(IDEN,obsr)) INHERITS (synp)
И загружаю в неё данные: copy synpi from '/pgtxt/synp.csv' WITH NULL ' -9999' delimiter ';' csv;
Естественно получаю: duplicate key value violates unique constraint "synpi_iden_obsr_key" .
И вот беда, не могу узнать, как заставить COPY игнорировать дубликаты :-(
...
Рейтинг: 0 / 0
09.11.2016, 17:18
    #39344362
vyegorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COPY и дубликаты строк
seadb,

Если вы явным образом добавляете UNIQUE constraint, то база его потом игнорировать не будет, никак.

Можно грузить данные в другую (временную) таблицу и потом двигать в нужную, уже без дубликатов.

Можно удалить уникальный ключ.
...
Рейтинг: 0 / 0
09.11.2016, 19:27
    #39344440
seadb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COPY и дубликаты строк
vyegorov, Нет, игнорировать UNIQUE мне не нужно. Мне нужно игнорировать duplicate key. В оракле такая ситуация решается максимально просто, указанием соответствующего параметра sqlloader. В MySql тоже все просто. А что,в Postgres загрузчик не может обрабатывать нарушение уникальности?!!!
Ну, ладно, допустим я загружу во временную таблицу. А оттуда в рабочую как? INSERTом? Это, боюсь будет медленно. Мне нужно примерно 4Г минут за 20
...
Рейтинг: 0 / 0
09.11.2016, 20:34
    #39344464
vyegorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COPY и дубликаты строк
seadb,

`COPY` это не загрузчик, а команда (а-ля INSERT) для прямой загрузки данных из файла (или stdin-а) в таблицу.

Из таблицы можно внести с помощью INSERT … ON CONFLICT DO NOTHING .
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / COPY и дубликаты строк / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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