Re: Sockets and posgtres - Mailing list pgsql-general

From Tony Caduto
Subject Re: Sockets and posgtres
Date
Msg-id 451AA9B3.1030508@amsoftwaredesign.com
Whole thread Raw
In response to Re: Sockets and posgtres  (Jim Nasby <jim@nasby.net>)
List pgsql-general
Jim Nasby wrote:
>
> If I'm understanding what you're trying to do (have a function connect
> to an external process?), I don't think anything exists right now. But
> it shouldn't be too hard to write something to do that. You might want
> to create a generic utility and put it on pgFoundry in case others
> find it useful. Oracle has a package that allows for TCP (as well as
> other communications) from the database; looking at their interface
> might be useful.
> --
> Jim Nasby                                            jim@nasby.net
> EnterpriseDB      http://enterprisedb.com      512.569.9461 (cell)
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: Have you checked our extensive FAQ?
>
>               http://www.postgresql.org/docs/faq
>
You can easily do that with PLperl

The funtion then connects to the server running on localhost, and sends
some commands terminated with CRLF.

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 => '32000',
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


pgsql-general by date:

Previous
From: Casey Duncan
Date:
Subject: Re: postgress 8.1.4 deadlocking??
Next
From: Kai Hessing
Date:
Subject: Re: Dead Lock problem with 8.1.3