Re: COPY FREEZE has no warning

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: PostgreSQL-development <pgsql-hackers(at)postgreSQL(dot)org>
Subject: Re: COPY FREEZE has no warning
Date: 2013-01-24 22:09:51
Message-ID: 20130124220951.GD21914@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Jan 23, 2013 at 02:02:46PM -0500, Bruce Momjian wrote:
> As a reminder, COPY FREEZE still does not issue any warning/notice if
> the freezing does not happen:
>
> Requests copying the data with rows already frozen, just as they
> would be after running the <command>VACUUM FREEZE</> command.
> This is intended as a performance option for initial data loading.
> Rows will be frozen only if the table being loaded has been created
> in the current subtransaction, there are no cursors open and there
> are no older snapshots held by this transaction. If those conditions
> are not met the command will continue without error though will not
> freeze rows. It is also possible in rare cases that the request
> cannot be honoured for internal reasons, hence <literal>FREEZE</literal>
> is more of a guideline than a hard rule.
>
> Note that all other sessions will immediately be able to see the data
> once it has been successfully loaded. This violates the normal rules
> of MVCC visibility and by specifying this option the user acknowledges
> explicitly that this is understood.
>
> Didn't we want to issue the user some kind of feedback?

As no one wanted to write this patch, I have developed the attached
version.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ It's impossible for everything to be true. +

Attachment Content-Type Size
freeze.diff text/x-diff 2.0 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2013-01-24 22:12:02 Re: [HACKERS] BUG #6572: The example of SPI_execute is bogus
Previous Message Alvaro Herrera 2013-01-24 21:57:15 autovacuum not prioritising for-wraparound tables