Why "copy ... from stdio" does not return immediately when reading invalid data?

Поиск
Список
Период
Сортировка
От Nicolas Grilly
Тема Why "copy ... from stdio" does not return immediately when reading invalid data?
Дата
Msg-id AANLkTik9uhtpp2bthp=aXt70VHPFCSCR8ma3NDnkkwKc@mail.gmail.com
обсуждение исходный текст
Ответы Re: Why "copy ... from stdio" does not return immediately when reading invalid data?  (John R Pierce <pierce@hogranch.com>)
Список pgsql-general
Hello,

I am importing gigabytes of data into PostgreSQL, and I don't want to wait 10 minutes just to discover an error in the 10th line of my input file.

I tried the command "\copy ... from stdio" in psql and it looks like psql has to read the entire input before returning a potential error, even if the invalid value is in one of the first rows.

Is it a limitation of PostgreSQL protocol, of the library lipq, or of the tool psql?

Is the copy protocol (aka PQputCopyData and PQputCopyEnd) designed to send gigabytes of data with just one "copy ... from stdio" query, and is there a way to be notified of a potential error before calling PQputCopyEnd? Or do I have to send my data in small chunks (for example batch of 10000 rows), issue a PQputCopyEnd, check for errors, and continue with the next chunk?

Thanks for your help and advice.

Regards,

Nicolas Grilly

В списке pgsql-general по дате отправления:

Предыдущее
От: Adrian Klaver
Дата:
Сообщение: Re: Streaming Rep 101 questions
Следующее
От: Chris Browne
Дата:
Сообщение: Re: Why does my DB size differ between Production and DR? (Postgres 8.4)