Accept relations of any kind in LOCK TABLE
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Tue, 27 Oct 2020 16:49:19 +0000 (13:49 -0300)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Tue, 27 Oct 2020 16:49:19 +0000 (13:49 -0300)
commit59ab4ac32460a6a93b665f4e487d7ff64979ba4d
treed785935ff51d919383cc2d51ecd2dd13d37dcd94
parent4066b642909176aede03b6c64d29734ce2a34716
Accept relations of any kind in LOCK TABLE

The restriction that only tables and views can be locked by LOCK TABLE
is quite arbitrary, since the underlying mechanism can lock any relation
type.  Drop the restriction so that programs such as pg_dump can lock
all relations they're interested in, preventing schema changes that
could cause a dump to fail after expending much effort.

Backpatch to 9.5.

Author: Álvaro Herrera <alvherre@alvh.no-ip.org>
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Reported-by: Wells Oliver <wells.oliver@gmail.com>
Discussion: https://postgr.es/m/20201021200659.GA32358@alvherre.pgsql
doc/src/sgml/ref/lock.sgml
src/backend/commands/lockcmds.c
src/test/regress/expected/lock.out
src/test/regress/sql/lock.sql