pgsql: Reduce lock levels for ALTER TABLE SET autovacuum storage option

Started by Simon Riggsalmost 11 years ago2 messagescomitters
Jump to latest
#1Simon Riggs
simon@2ndQuadrant.com

Reduce lock levels for ALTER TABLE SET autovacuum storage options

Reduce lock levels down to ShareUpdateExclusiveLock for all autovacuum-related
relation options when setting them using ALTER TABLE.

Add infrastructure to allow varying lock levels for relation options in later
patches. Setting multiple options together uses the highest lock level required
for any option. Works for both main and toast tables.

Fabrízio Mello, reviewed by Michael Paquier, mild edit and additional regression
tests from myself

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/47167b7907a802ed39b179c8780b76359468f076

Modified Files
--------------
doc/src/sgml/ref/alter_table.sgml | 4 +
src/backend/access/common/reloptions.c | 144 +++++++++++++++++++++++------
src/backend/commands/tablecmds.c | 6 +-
src/include/access/reloptions.h | 3 +
src/test/regress/expected/alter_table.out | 67 ++++++++++++--
src/test/regress/sql/alter_table.sql | 38 ++++++++
6 files changed, 219 insertions(+), 43 deletions(-)

--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

#2Michael Paquier
michael@paquier.xyz
In reply to: Simon Riggs (#1)
Re: pgsql: Reduce lock levels for ALTER TABLE SET autovacuum storage option

On Fri, Aug 14, 2015 at 10:20 PM, Simon Riggs <simon@2ndquadrant.com> wrote:

Reduce lock levels for ALTER TABLE SET autovacuum storage options

Reduce lock levels down to ShareUpdateExclusiveLock for all autovacuum-related
relation options when setting them using ALTER TABLE.

Add infrastructure to allow varying lock levels for relation options in later
patches. Setting multiple options together uses the highest lock level required
for any option. Works for both main and toast tables.

Thanks for the last push!
--
Michael

--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers