Está comparando Postgres-XL con la documentación principal de PostgreSQL. Dos productos diferentes, aunque con una historia compartida. Postgres-XL tiene muchas de cambios de Stock PostgreSQL.
CREATE TRIGGER
Sin embargo, debería estar incluido en los documentos de Pg y no lo está, y eso es un descuido.
Una mirada rápida al código fuente muestra que CREATE TRIGGER
toma un ShareRowExclusiveLock
, por lo que en este caso la documentación de XL coincide con el comportamiento de PostgreSQL.
Puede verificar esto usted mismo sin mirar las fuentes haciendo algo como esto:
CREATE TABLE test();
CREATE OR REPLACE FUNCTION dummy_tg() RETURNS TRIGGER
LANGUAGE plpgsql AS $$ BEGIN END; $$;
BEGIN;
CREATE TRIGGER blah BEFORE INSERT ON test FOR EACH ROW EXECUTE PROCEDURE dummy_tg();
\x
SELECT * FROM pg_locks
WHERE pid = pg_backend_pid()
AND relation = 'test'::regclass;
ROLLBACK;
... lo que demuestra que me equivoqué en mi lectura de las fuentes, porque:
locktype | relation
mode | AccessExclusiveLock
tomó un AccessExclusiveLock.