Re: [PATCH] Add pg_get_trigger_ddl() to retrieve the CREATE TRIGGER statement

Soumya S Murali <soumyamurali.work@gmail.com>

From: Soumya S Murali <soumyamurali.work@gmail.com>
To: Philip Alger <paalger0@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2026-05-06T05:54:44Z
Lists: pgsql-hackers
Hi Philip,

Thank you for the clarification and feedback.

On Wed, May 6, 2026 at 3:40 AM Philip Alger <paalger0@gmail.com> wrote:
>
>
>>
>> In support of this, I have tried testing after making a small change
>> in the function pg_get_trigger_ddl() in ruleutils.c:
>>
>> Instead of this:
>> /*Parse the trigger name to handle quoted identifiers */
>> nameList = textToQualifiedNameList(trgName);
>> if (list_length(nameList) != 1)
>>     ereport(ERROR,
>>                 (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
>>                  errmsg("trigger name cannot be schema qualified")));
>>  DeconstructQualifiedName(nameList, &schemaName, &objName);
>>
>
> Thanks for taking a look Soumya.
>
> I believe these DDL functions now live in ddlutils.c and include a new parameter for adding a "pretty" flag is required. I am in the middle of developing a patch for that, but I took your fix into consideration.
>

Thank you for considering my fix. I understand that the DDL-related
functions are being moved to ddlutils.c and I think introducing a new
parameter for adding "pretty" flag makes sense.

>>
>> Do: objName = text_to_cstring(trgName); to treat the trigger name
>
>
> I think this makes sense.
>
> I also will need to make a few adjustments to get the pretty printing functionality working. Since my patch essentially borrows from pg_get_triggerdef_worker, it will need some work.

I am glad that the observation regarding quoted trigger names was
useful. I’ll continue following the discussion and testing newer
versions of the patch as they evolve.


Regards,
Soumya