Re: COPY enhancements - Mailing list pgsql-hackers

From Tom Lane
Subject Re: COPY enhancements
Date
Msg-id 25829.1255019831@sss.pgh.pa.us
Whole thread Raw
In response to Re: COPY enhancements  ("Joshua D. Drake" <jd@commandprompt.com>)
Responses Re: COPY enhancements
Re: COPY enhancements
List pgsql-hackers
"Joshua D. Drake" <jd@commandprompt.com> writes:
> Couldn't you just commit each range of subtransactions based on some
> threshold?

> COPY foo from '/tmp/bar/' COMMIT_THRESHOLD 1000000;

> It counts to 1mil, commits starts a new transaction. Yes there would be
> 1million sub transactions but once it hits those clean, it commits.

Hmm, if we were willing to break COPY into multiple *top level*
transactions, that would avoid my concern about XID wraparound.
The issue here is that if the COPY does eventually fail (and there
will always be failure conditions, eg out of disk space), then some
of the previously entered rows would still be there; but possibly
not all of them, depending on whether we batch rows.  The latter
property actually bothers me more than the former, because it would
expose an implementation detail to the user.  Thoughts?

Also, this does not work if you want the copy to be part of a bigger
transaction, vizBEGIN;do something;COPY ...;do something else;COMMIT;
        regards, tom lane


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Writeable CTEs and side effects
Next
From: "David E. Wheeler"
Date:
Subject: Re: Issues for named/mixed function notation patch