Re: Fwd: Procedural Languages
От | Darren Duncan |
---|---|
Тема | Re: Fwd: Procedural Languages |
Дата | |
Msg-id | 4FC7C71D.8090606@darrenduncan.net обсуждение исходный текст |
Ответ на | Fwd: Procedural Languages (Michael Nolan <htfoot@gmail.com>) |
Список | pgsql-general |
Michael Nolan wrote: > On Thu, May 31, 2012 at 2:23 PM, Darren Duncan <darren@darrenduncan.net> wrote: > Michael Nolan wrote: > > PL/pgSQL and PL/perlu are the only ones I use. I use PL/perlu > primarily to launch shell scripts from triggers, for example to > update an external website when a row in a table has been > inserted, deleted or updated. > > There is also another way to do what you describe that might be more > secure. > > Rather than having the DBMS launch shell scripts directly, instead > use LISTEN/NOTIFY messaging, where the trigger posts a message, and > you have an ordinary client script listening for them, and the > client script launches the shell scripts when it gets a message. > > This way, you need a persistent client script, but you don't need to > invoke the shell in the DBMS ... or use the untrusted version of > PL/Perl if that's all it was for. > > Anybody have examples of a persistent client script? Not a whole one. But you can make a simple daemon in Perl, either by hand or using some CPAN module. The Postgres-related part though, see http://search.cpan.org/dist/DBD-Pg/Pg.pm#pg_notifies for how the client script talks to Postgres for this message passing. Hopefully that'll answer the more interesting part for you. -- Darren Duncan
В списке pgsql-general по дате отправления: