dblink_exec: can it perform a remote function?

From: Thiemo Kellner <thiemo(at)gelassene-pferde(dot)biz>
To: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: dblink_exec: can it perform a remote function?
Date: 2016-03-22 11:33:23
Message-ID: 56F12D83.9040102@gelassene-pferde.biz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi all

I am trying to execute a function on a remote server using dblink to
test stuff.

My function is:
create or replace function /*LOGGER.*/WARN(in P_MESSAGE text)
returns void as
$warn$
begin
raise debug '%', P_MESSAGE;
raise log '%', P_MESSAGE;
raise info '%', P_MESSAGE;
raise notice '%', P_MESSAGE;
raise warning '%', P_MESSAGE;
end;
$warn$ language PLPGSQL;

I try to execute it with:
do language PLPGSQL
$anonymous$
begin
set session client_min_messages to log;
perform dblink_connect_u('pragma','dbname=thiemo password=XXX');
perform dblink_exec('pragma','perform WARN(P_MESSAGE := ''Raise
dblink test'');');
perform dblink_exec('pragma','commit;');
perform dblink_disconnect('pragma');
end;
$anonymous$

I get the error:
psql:test_02.sql:22: ERROR: syntax error at or near "perform"
CONTEXT: Error occurred on dblink connection named "pragma": could not
execute command.
SQL statement "SELECT dblink_exec('pragma','perform WARN(P_MESSAGE :=
''Raise dblink test'');')"
PL/pgSQL function inline_code_block line 12 at PERFORM

If I try to execute it with:
do language PLPGSQL
$anonymous$
begin
set session client_min_messages to log;
perform dblink_connect_u('pragma','dbname=thiemo password=XXX');
perform dblink_exec('pragma','select WARN(P_MESSAGE := ''Raise
dblink test'');');
perform dblink_exec('pragma','commit;');
perform dblink_disconnect('pragma');
end;
$anonymous$

Isn't it possible to execute funtions through dblink? Any hint is
appreciated.

Kind regards

Thiemo

--
Auf Gelassene Pferde kann man bauen!
+49 (0)1578-772 37 37
+41 (0)78 947 36 21
SIP/iptel.org: thiemo.kellner
http://www.gelassene-pferde.biz
Mitglied bei http://www.keep-it-natural.org
Öffentlicher PGP-Schlüssel:
http://pgp.mit.edu/pks/lookup?op=get&search=0x8F70EFD2D972CBEF

Attachment Content-Type Size
thiemo.vcf text/x-vcard 693 bytes

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Thiemo Kellner 2016-03-22 11:39:29 Re: dblink_exec: can it perform a remote function?
Previous Message David G. Johnston 2016-03-22 01:51:04 Re: Request - repeat value of \pset title during \watch interations