Re: [PATCH] Add pg_get_trigger_ddl() to retrieve the CREATE TRIGGER statement
jian he <jian.universality@gmail.com>
From: jian he <jian.universality@gmail.com>
To: Philip Alger <paalger0@gmail.com>
Cc: pgsql-hackers@postgresql.org
Date: 2025-10-14T05:54:17Z
Lists: pgsql-hackers
On Tue, Oct 14, 2025 at 12:03 PM Philip Alger <paalger0@gmail.com> wrote: > > > > On Mon, Oct 13, 2025 at 9:28 PM jian he <jian.universality@gmail.com> wrote: >> >> >> 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? > > > Thank you for checking that. Short answer: no. > > Please see v2. The latest version should take care of the (null) relation issue now, since it is checking if the OID exists for the table. I've included a test for that as well. It should return a clearer error if the relation does not exist. > select pg_get_trigger_ddl(-1, 'h'); ERROR: relation with OID 4294967295 does not exist this error obviously is not good. we can follow the approach used by pg_get_viewdef(oid)