आप Postgres-XL की तुलना मुख्य PostgreSQL दस्तावेज़ों से कर रहे हैं। दो अलग-अलग उत्पाद, एक साझा इतिहास के साथ। Postgres-XL में बहुत सारे हैं स्टॉक PostgreSQL से परिवर्तन की।
CREATE TRIGGER
पीजी डॉक्स में सूचीबद्ध होना चाहिए और नहीं है, हालांकि, और यह एक निरीक्षण है।
स्रोत कोड पर एक त्वरित नज़र डालने से पता चलता है कि CREATE TRIGGER
एक ShareRowExclusiveLock
लेता है , इसलिए इस मामले में XL का प्रलेखन PostgreSQL के व्यवहार से मेल खाता है।
आप कुछ ऐसा करके स्रोतों को देखे बिना इसे स्वयं देख सकते हैं:
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;
... जो दर्शाता है कि मैं स्रोतों को पढ़ने में गलत था, क्योंकि:
locktype | relation
mode | AccessExclusiveLock
इसने AccessExclusiveLock लिया।