---------- Forwarded message ----------
From: Michael Nolan <htfoot@xxxxxxxxx>
Date: Thu, May 31, 2012 at 2:49 PM
Subject: Re: Procedural Languages
To: Darren Duncan <darren@xxxxxxxxxxxxxxxx>
Anybody have examples of a persistent client script?
--
Mike Nolan
From: Michael Nolan <htfoot@xxxxxxxxx>
Date: Thu, May 31, 2012 at 2:49 PM
Subject: Re: Procedural Languages
To: Darren Duncan <darren@xxxxxxxxxxxxxxxx>
On Thu, May 31, 2012 at 2:23 PM, Darren Duncan <darren@xxxxxxxxxxxxxxxx> wrote:
Michael Nolan wrote:There is also another way to do what you describe that might be more secure.
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.
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.
-- Darren Duncan
--
Mike Nolan