pgsql: Improve documentation about MVCC-unsafe utility commands.
От | Tom Lane |
---|---|
Тема | pgsql: Improve documentation about MVCC-unsafe utility commands. |
Дата | |
Msg-id | E1ZQfI2-0007ad-Vi@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Improve documentation about MVCC-unsafe utility commands. The table-rewriting forms of ALTER TABLE are MVCC-unsafe, in much the same way as TRUNCATE, because they replace all rows of the table with newly-made rows with a new xmin. (Ideally, concurrent transactions with old snapshots would continue to see the old table contents, but the data is not there anymore --- and if it were there, it would be inconsistent with the table's updated rowtype, so there would be serious implementation problems to fix.) This was nowhere documented though, and the problem was only documented for TRUNCATE in a note in the TRUNCATE reference page. Create a new "Caveats" section in the MVCC chapter that can be home to this and other limitations on serializable consistency. In passing, fix a mistaken statement that VACUUM and CLUSTER would reclaim space occupied by a dropped column. They don't reconstruct existing tuples so they couldn't do that. Back-patch to all supported branches. Branch ------ REL9_1_STABLE Details ------- http://git.postgresql.org/pg/commitdiff/138f76533cdcbf4b6c61ba9f8d92dd74b332ccba Modified Files -------------- doc/src/sgml/mvcc.sgml | 46 ++++++++++++++++++++++++++----------- doc/src/sgml/ref/alter_table.sgml | 19 ++++++++++----- doc/src/sgml/ref/truncate.sgml | 23 +++++-------------- 3 files changed, 51 insertions(+), 37 deletions(-)
В списке pgsql-committers по дате отправления: