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)
commit272bff6a35ef85b0226ac536c58ca24881c3c8d2
treed264040bbc98413b830c6884bacf20785776f8e4
parentd04c4a8f7066bdac71d012fa868ba9d84538632e
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