Multiple NOTIFY is ignored

Поиск
Список
Период
Сортировка
От Markus Kolb
Тема Multiple NOTIFY is ignored
Дата
Msg-id 1d93a4c81b288c594c6b4c5a9ae39169@127.0.0.1
обсуждение исходный текст
Ответы Re: Multiple NOTIFY is ignored  (Adrian Klaver <adrian.klaver@aklaver.com>)
Re: Multiple NOTIFY is ignored  ("David G. Johnston" <david.g.johnston@gmail.com>)
Re: Multiple NOTIFY is ignored  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
Hi,

I've a question to the pgsql NOTIFY feature...

I use something like

SELECT dblink_connect('{0}', '{1}'); SELECT dblink('{2}', '{3}'); SELECT
dblink_disconnect('{4}');
where {3} is
NOTIFY upd_pgm, '0|UPDATE|A|'

SELECT dblink_connect('{0}', '{1}'); SELECT dblink('{2}', '{3}'); SELECT
dblink_disconnect('{4}');
where {3} is
NOTIFY upd_pgm, '0|DELETE|A|'

This works. Both notify are recognized.

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.

For further explanation... the working solution uses separate dblink
connections and calls for each notify.
Where as the not working tries to use only one dblink connection and
call.

As far as I can read from the documentation...
"If the same channel name is signaled multiple times from the same
transaction with identical payload strings, the database server can
decide to deliver a single notification only. On the other hand,
notifications with distinct payload strings will always be delivered as
distinct notifications."
(https://www.postgresql.org/docs/current/static/sql-notify.html)

Here the channel name is identical, but the payload differs with
UPDATE/DELETE.

So why the 2nd notify is not delivered/recognized?

Thanks
Markus


В списке pgsql-general по дате отправления:

Предыдущее
От: Anton Ananich
Дата:
Сообщение: Re: GIN Indexes: Extensibility
Следующее
От: Alex Ignatov
Дата:
Сообщение: Re: Uber migrated from Postgres to MySQL