J S B wrote:
I don't want to connect to the postgres database.
The scenario is something like this. Postgres database has to initiate some deamon process running is another server. The only way i could think of doing this was openeing a socket connection between postgres database and
the deamon process through a shared object dynamicall loaded in postgres.
Berkley sockets is the socket API in unix that uses
<sys/socket.h>
Don't know if there's a better way to do it. ~Jas

I have done this using PLperl (untrusted) and it works just fine. Here is a simple example that just sends a command to a popup notification daemon I use.

Win32 clients connect to the daemon and when I need to notify them of incoming files from a ProFTP server I use this function.
Works great and have never had a problem.

CREATE or REPLACE FUNCTION public.psendpopup(
text,
text)
RETURNS pg_catalog.varchar AS
$BODY$
use IO::Socket;
$sock = new IO::Socket::INET (
                             PeerAddr => 'localhost',
                             PeerPort => '13000',
                             Proto => 'tcp',
                             );
die "Could not create socket: $!\n" unless $sock;
print $sock "null\r\n";
print $sock "send_broadcast\r\n";
print $sock $_[0]."\r\n";
print $sock $_[1]."\r\n";

close($sock);
$BODY$
LANGUAGE 'plperlu' VOLATILE;



--
Tony Caduto
AM Software Design
http://www.amsoftwaredesign.com
Home of PG Lightning Admin for Postgresql
Your best bet for Postgresql Administration

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Reply via email to