Re: Multiple NOTIFY is ignored

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: Markus Kolb <markus(dot)kolb+postgres(at)tower-net(dot)de>
Cc: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Multiple NOTIFY is ignored
Date: 2016-07-28 15:05:19
Message-ID: CAKFQuwZg9wZukLekpBDjH=Ju4OG05=oKDQMNPksEHWEjJCqMaw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Thu, Jul 28, 2016 at 10:29 AM, Markus Kolb <
markus(dot)kolb+postgres(at)tower-net(dot)de> wrote:

> If I only do one
> SELECT dblink_connect('{0}', '{1}'); SELECT dblink('{2}', '{3}'); SELECT
> dblink_disconnect('{4}');
> where {3} is
> NOTIFY upd_pgm, '0|UPDATE|A|'; NOTIFY upd_pgm, '0|DELETE|A|'
>
> only the notify with UPDATE is recognized.
>

​"​
dblink executes a query (usually a SELECT, but it can be any SQL statement
that returns rows) in a remote database.
​"​

https://www.postgresql.org/docs/9.3/static/contrib-dblink-function.html

​As defined in the dblink docs your query isn't supported - its doesn't
return rows. I don't know the interaction that makes the separate
executions succeed by I'd advise simply bypassing the issue and doing:

WHERE {3} is
SELECT pg_notify('{2}','{UPDATE NOTIFY}), pg_notify('{3}','{DELETE
NOTIFY}');

Not tested and I've never used NOTIFY but the select makes it return rows.

I'm not positive how execution order plays out here, you may want to try
"VALUES()" instead of multiple columns.

David J.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Igor Neyman 2016-07-28 15:09:32 Re: Uber migrated from Postgres to MySQL
Previous Message Alex Ignatov 2016-07-28 14:59:28 Re: Uber migrated from Postgres to MySQL