Thread: COPY form stdin and file

COPY form stdin and file

From
"senges"
Date:
Hi all,
when untaring a pg_dumped tar file the data gets populated like this:

-----------------
COPY mytable (id, attr1, attr2) FROM stdin;
\.
copy mytable (id, attr1, attr2)  from '$$PATH$$/2387.dat' ;
-----------------

where $$PATH$$ gets replaced by the current path.

Anyone knows whats the aim of this ?
The ".\" throws an error within the pgadmin sql query window:
ERROR:  syntax error at or near "\" at character

Isn't it correct just to call:
# copy mytable (id, attr1, attr2)  from '$$PATH$$/2387.dat' ; ?


Its kind of unrelaxed to untar a restored db (which i need to untar
from time to time because of changing libraries) and always need to
change the above lines of code.


Thanks for any info about this,
Chris


Re: COPY form stdin and file

From
Tom Lane
Date:
"senges" <csengstock@gmail.com> writes:
> when untaring a pg_dumped tar file the data gets populated like this:

> -----------------
> COPY mytable (id, attr1, attr2) FROM stdin;
> \.
> copy mytable (id, attr1, attr2)  from '$$PATH$$/2387.dat' ;
> -----------------

Not here ... I only see 'FROM stdin' cases.  Please provide a test case,
and mention which PG version you are dealing with.

> The ".\" throws an error within the pgadmin sql query window:
> ERROR:  syntax error at or near "\" at character

You'd need to complain to the pgadmin people about that.

            regards, tom lane

Re: COPY form stdin and file

From
Richard Huxton
Date:
senges wrote:
> Hi all,
> when untaring a pg_dumped tar file the data gets populated like this:
>
> -----------------
> COPY mytable (id, attr1, attr2) FROM stdin;
> \.
> copy mytable (id, attr1, attr2)  from '$$PATH$$/2387.dat' ;
> -----------------
>
> where $$PATH$$ gets replaced by the current path.
>
> Anyone knows whats the aim of this ?
> The ".\" throws an error within the pgadmin sql query window:
> ERROR:  syntax error at or near "\" at character

The "\." on a separate line ends the COPY ... FROM stdin above it.

I'm not sure pgadmin has a "stdin" to process data from though.

pg_restore is probably the tool you want to use.

--
   Richard Huxton
   Archonet Ltd