From: | Philip Alger <paalger0(at)gmail(dot)com> |
---|---|
To: | jian he <jian(dot)universality(at)gmail(dot)com> |
Cc: | Jim Jones <jim(dot)jones(at)uni-muenster(dot)de>, Andrew Dunstan <andrew(at)dunslane(dot)net>, Cary Huang <cary(dot)huang(at)highgo(dot)ca>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: [PATCH] Add pg_get_trigger_ddl() to retrieve the CREATE TRIGGER statement |
Date: | 2025-10-22 22:08:57 |
Message-ID: | CAPXBC8J5KGtw50HHXm-ypx4x7-Sdna05jSk0+Xk6DiwYLx1c8A@mail.gmail.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi Jian
doc said trigger name can not be schema-qualified,
>> we can not do:
>> CREATE TRIGGER public.modified_a BEFORE UPDATE OF a ON main_table
>> FOR EACH ROW WHEN (OLD.a <> NEW.a) EXECUTE PROCEDURE
>> trigger_func('modified_a');
>
>
>
>> + nameList = textToQualifiedNameList(trgName);
>>
>>
I am wondering if adding an error message if someone inserted a schema name
would be advantageous?
nameList = textToQualifiedNameList(trgName);
if (list_length(nameList) != 1)
ereport(ERROR,
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
errmsg("trigger name cannot be schema qualified")));
select pg_get_trigger_ddl('main_table', 'public.modified_a');
ERROR: trigger name cannot be schema qualified
STATEMENT: select pg_get_trigger_ddl('main_table', 'public.modified_a');
ERROR: trigger name cannot be schema qualified
As of now, it would just drop `public`, or any schema name, from the
trigger name. It would specifically look for the trigger name under the
named relation. If there is a trigger name `modified_a` under `main_table`
it will give you the DDL.
select pg_get_trigger_ddl('main_table', 'public.modified_a');
pg_get_trigger_ddl
---------------------------------------------------------------------------------------------------------------------------------------------------
CREATE TRIGGER modified_a BEFORE UPDATE OF a ON test.main_table FOR EACH
ROW WHEN ((old.a <> new.a)) EXECUTE FUNCTION trigger_func('modified_a');
(1 row)
--
Best,
Phil Alger
From | Date | Subject | |
---|---|---|---|
Next Message | Masahiko Sawada | 2025-10-22 22:25:39 | Add copyright notice to 048_vacuum_horizon_floor.pl |
Previous Message | Masahiko Sawada | 2025-10-22 21:55:13 | Re: POC: enable logical decoding when wal_level = 'replica' without a server restart |