session1
myDB=# listen bai;
LISTEN
myDB=# select pg_listening_channels();
pg_listening_channels
-----------------------
bai
(1 row)
session2
myDB=# notify bai, 'haha';
NOTIFY
myDB=# select pg_notify('bai','ssss');
pg_notify
-----------
(1 row)
一定要注意必须写; 否则不报错,但是也无效。
如果事物回滚了,那么notify是不会被发送的,同时相同的通道,相同的消息会被去重。要注意消息队列的大小,超过限制会出错。