On Tue, Oct 14, 2025 at 9:59 AM Philip Alger <paalger0@gmail.com> wrote:
>
> Hello,
>
> I am submitting patch as a part of a larger Retail DDL functions project described by Andrew Dunstan here:
https://www.postgresql.org/message-id/945db7c5-be75-45bf-b55b-cb1e56f2e3e9%40dunslane.net
>
> This patch creates a function pg_get_trigger_ddl, designed to retrieve the full DDL statement for a trigger. Users
canobtain the DDL by providing the table and trigger names, like the following:
>
> SELECT pg_get_trigger_ddl('my_table_name', 'my_trigger_name');
>
> While pg_get_triggerdef currently provides a similar SQL statement, it requires the trigger's OID, making it less
convenient.This function simplifies this by allowing direct input of the table and trigger names, eliminating the need
tofind the OID beforehand. I opted not to include the "pretty" formatting capability that pg_get_triggerdef offers.
>
> This patch includes documentation, comments, and regression tests, all of which have run successfully.
>
I just did a quick test.
src1=# SELECT pg_get_trigger_ddl(2, 'foo_trigger');
ERROR: trigger "foo_trigger" for table "(null)" does not exist
src1=# SELECT pg_get_trigger_ddl(0, 'foo_trigger');
ERROR: trigger "foo_trigger" for table "(null)" does not exist
this error message is use facing, is the above error message what we expected?