| From: | Thiemo Kellner <thiemo(at)gelassene-pferde(dot)biz> |
|---|---|
| To: | pgsql-general(at)postgresql(dot)org |
| Subject: | Re: dblink_exec: can it perform a remote function? |
| Date: | 2016-03-22 11:39:29 |
| Message-ID: | 56F12EF1.1060207@gelassene-pferde.biz |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
Oh, I just noticed, I forgot to post the error message of the second
try. This one, I can understand.
psql:test_02.sql:21: ERROR: statement returning results not allowed
CONTEXT: SQL statement "SELECT dblink_exec('pragma','select
WARN(P_MESSAGE := ''Raise dblink test'');')"
On 22.03.2016 12:33, Thiemo Kellner wrote:
> 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 |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Diogo Kiss | 2016-03-22 13:06:10 | Fwd: Unable to make postgres + pam_ldap to work agains LDAP server using ldaps schema |
| Previous Message | Thiemo Kellner | 2016-03-22 11:33:23 | dblink_exec: can it perform a remote function? |