Thanks Ajin for the reply. We "Create/Install" these trigger function at the time of "Create publication", (CreatePublication()) but If I create a replication slot using something like "select * from pg_create_logical_replication_slot('test1', 'test_decoding')" we would not install these triggers in the system, so we dont get DDLs decoded, right ?
I am a bit new to this postgres, is there anything missing in my understanding ? thanks Raejsh On Tue, Nov 29, 2022 at 9:55 AM Ajin Cherian <itsa...@gmail.com> wrote: > > On Tue, Nov 29, 2022 at 1:29 PM rajesh singarapu > <rajesh.rs0...@gmail.com> wrote: > > > > One question, > > > > I understand that we create/enable triggers on create publication command > > flow. > > I am wondering how this works in case of logical replication using slots. > > > > > > thanks > > Rajesh > > > Rajesh, > > The triggers functions when invoked write these ddl commands to WAL > and the logical decoding WAL sender which is > registered for that replication slot decodes the WAL logged DDL > commands and sends them as logical replication > messages to the subscriber side. The apply worker on the subscriber > side, then converts these messages to actual > DDL commands and executes them. > > regards, > Ajin Cherian > Fujitsu Australia