PostgreSQL 9.1中的SET TABLESPACE表锁定?
问题描述:
当您在PostgreSQL 9.1中将表(或者某个分区)从一个表空间移动到另一个表空间时,获取了哪种类型的表锁?PostgreSQL 9.1中的SET TABLESPACE表锁定?
我应该先执行NO INHERIT以将其从主表中分离出来吗?
答
这将对表(和它的Toast表和Toast索引,如果它们存在)采取ACCESS EXCLUSIVE
锁。
如果该表是否从另一个表中继承,则无关紧要。
如果表中有任何索引并且您也想移动这些索引,则必须使用ALTER INDEX ... SET TABLESPACE ...
明确移动它们。