mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
Clarify that COPY FREEZE is not a hard rule.
Remove message when FREEZE not honoured, clarify reasons in comments and docs.
This commit is contained in:
@ -186,17 +186,19 @@ COPY { <replaceable class="parameter">table_name</replaceable> [ ( <replaceable
|
||||
<term><literal>FREEZE</literal></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies copying the data with rows already frozen, just as they
|
||||
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.
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
Note that all sessions will immediately be able to see the data
|
||||
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.
|
||||
|
Reference in New Issue
Block a user