Hi, Adrian, On Mon, Dec 3, 2018 at 5:15 PM Adrian Klaver <adrian.klaver@xxxxxxxxxxx> wrote: > > On 12/3/18 3:00 PM, Igor Korot wrote: > > Hi, Adrian, > > > > On Mon, Dec 3, 2018 at 4:10 PM Adrian Klaver <adrian.klaver@xxxxxxxxxxx> wrote: > >> > >> On 12/3/18 1:53 PM, Igor Korot wrote: > >>> Hi, Adrian, > >> > >>>> Why? Just create the trigger once in a script. Event triggers are an > >>>> attribute of the database and stay with it until they are dropped. If > >>>> you want to turn then on and off use the ALTER EVENT TRIGGER > >>>> ENABLE/DISABLE. If you insist on recreating them on each connection then: > >>>> > >>>> https://www.postgresql.org/docs/10/sql-dropeventtrigger.html > >>>> DROP EVENT TRIGGER [ IF EXISTS ] name [ CASCADE | RESTRICT ] > >>>> CREATE EVENT TRIGGER ... > >>> > >>> I was hoping to create a software which will be just "install-and-use". > >>> No additional script running or database changes is required. > >> > >> After I hit reply my subconscious kicked in and pointed out something:) > >> > >> If there are no database changes why do you need to track schema changes? > > > > That was a bad word selection. ;-) > > > > What I mean to say was "no schema changes/server changes that comes > > independently > > of the program install". Or something to that extent. > > Which circles back around to the same question: > > If there are to be no schema changes after the install why track them on > subsequent connections? > > Or maybe an explanation of what you are trying to achieve would make > things clearer? Ok, it probably will make things clearer. So I install my program perform some queries and exit. At the same time if the user will create or delete a table the program should pick up those changes and act accordingly. I was hoping to do the watching initialization dynamically, but it looks as it is more pain and I can probably try to execute the script during the installation. So basically I will create the function in C, compile it and then during the program installation create a trigger with that function. Then in my program I will execute "LISTEN" command and act accordingly. Am I right? And executing LISTEN will also work for ODBC connection, right? Thank you. > > > > > > > Sorry, ESL person here. > > > > Thank you. > > > >> > >>> > >>> But I will probably create it on every connection and delete on the > >>> disconnect (see above). > >>> > >> > >> -- > >> Adrian Klaver > >> adrian.klaver@xxxxxxxxxxx > > > > > -- > Adrian Klaver > adrian.klaver@xxxxxxxxxxx