PostgreSQL提供了client端之间通过服务器端进行消息通信的机制。这种机制是通过listen和notify命令来完成的。
session1:
postgres=# listen postgres;
LISTEN
postgres=# listen liming
postgres-# ;
LISTEN
session2:
postgres=# notify postgres,'hello word';
NOTIFY
postgres=# notify liming,'hello liming';
NOTIFY
postgres=#
session1;
postgres=# select 1; --随便执行了一个命令
?column?
----------
1
(1 row)
Asynchronous notification "postgres" with payload "hello word" received from server process with PID 12241.
Asynchronous notification "liming" with payload "hello liming" received from server process with PID 12241.
postgres=#
listen和notify的相关命令:
1. listen:监听消息通道
2. unlisten:取消先前的监听
3. notify:发送消息到消息通道中
4. pg_notify():与notify命令功能相同
5. pg_listening_channels():调用此函数可以查询当前session已注册了哪些消息监听
PostgreSQL学习第十四篇 listen与notify
最新推荐文章于 2024-02-18 23:45:00 发布