Обсуждение: Temp tables and copy

Поиск
Список
Период
Сортировка

Temp tables and copy

От
"Konstantin Goudkov"
Дата:
I posted it to the pgsql-hackers list, but I did not seem to get through.

Not even sure if this is a bug or a feature :)

When I create a temp table and then try to copy some data into the
table, if the data is corrupt and the synchronization is lost - the
table also seems to get lost.

For example
create temp table words(aa varchar(254));
copy words from stdin;
some stuff
more stuff
corrupt line\tline\tline
more\tstuff
and yet more stuff
\.

(replace ''\t'' with the real tabs to break the synchronization)

after that,

select * from words;
ERROR:  Relation "words" does not exist

Running:
> Welcome to psql 7.3.4, the PostgreSQL interactive terminal.
on
> FreeBSD dev1.idftech.com 4.6-RELEASE FreeBSD 4.6-RELEASE #2: Sun Jun  8
04:57:54 EDT 2003


Konstantin Goudkov
IDF Technologies, LLC.
bcc@idftech.com



Re: Temp tables and copy

От
Richard Huxton
Дата:
On Wednesday 10 September 2003 02:22, Konstantin Goudkov wrote:
> I posted it to the pgsql-hackers list, but I did not seem to get through.
>
> Not even sure if this is a bug or a feature :)
>
> When I create a temp table and then try to copy some data into the
> table, if the data is corrupt and the synchronization is lost - the
> table also seems to get lost.

A message like this?
  lost synchronization with server, resetting connection

Temporary tables get removed when the connection is broken. In any case, all
or nothing of the COPY ... FROM should work, so you can't check what was the
first item that failed.

If you use the \i from psql's command line you can get line numbers for the
file, or "psql -f filename" will do the same.

PS - I've found that writing a small Perl script to process import files and
fix bugs saves me time. It takes longer the first time, but if I need to
re-import (and it seems I always do) then I can just run the perl over my
source data.

--
  Richard Huxton
  Archonet Ltd

Re: Temp tables and copy

От
"Konstantin Goudkov"
Дата:
> A message like this?
>   lost synchronization with server, resetting connection
>

Yeah, like that.
I get pissed way too often when people miss simplest things and bug me with
stupid questions, and now it's me.
Sorry guys.