psql \copy command runs as a transcation?

Started by Ow Mun Hengover 18 years ago3 messagesgeneral
Jump to latest
#1Ow Mun Heng
Ow.Mun.Heng@wdc.com

Hi,

Does the psql's \copy command run as a transaction? I think it does, but
somehow when I cancel (in a script) a running import, "seems" (I can't
seem to duplicate it on the cli though) like a few lines/rows gets
inserted anyway..

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Ow Mun Heng (#1)
Re: psql \copy command runs as a transcation?

Ow Mun Heng <Ow.Mun.Heng@wdc.com> writes:

Does the psql's \copy command run as a transaction?

Certainly.

I think it does, but
somehow when I cancel (in a script) a running import, "seems" (I can't
seem to duplicate it on the cli though) like a few lines/rows gets
inserted anyway..

Hmm. Some client-side software is written to split an import into
multiple short copy commands, but I don't believe there's any such thing
in psql. Are you sure those rows didn't come from someplace else?

regards, tom lane

#3Ow Mun Heng
Ow.Mun.Heng@wdc.com
In reply to: Tom Lane (#2)
Re: psql \copy command runs as a transcation?

On Mon, 2007-08-27 at 18:41 -0400, Tom Lane wrote:

Ow Mun Heng <Ow.Mun.Heng@wdc.com> writes:

Does the psql's \copy command run as a transaction?

Certainly.

I think it does, but
somehow when I cancel (in a script) a running import, "seems" (I can't
seem to duplicate it on the cli though) like a few lines/rows gets
inserted anyway..

Hmm. Some client-side software is written to split an import into
multiple short copy commands, but I don't believe there's any such thing
in psql. Are you sure those rows didn't come from someplace else?

nope.. the software is actually a perl script which does a system('psql
-U -d -c "\copy"') command.

Again... I've not been able to duplicate it yet.. so I was just asking
here to confirm correct behaviour of \copy.

Thanks