pg-notify - 如何从 pg_notify 获取事件名称
问题描述
我正在使用 pg_channels 从 pg_notify 和 python 获取事件(删除或创建),但我需要设置一个 if 来检查触发的事件是删除还是创建,而不是我可以应用规则但我不知道如何获取事件名称。谢谢你们的帮助。
pcg = pg_channels.connect(host='', database='', user='', password='', port='5432')
# listening an event
pcg.listen('xgracco')
#loop to watch events from posgres pg_notify
for event in pcg.events():
info = json.loads(event.payload)
我的功能和触发器
create or replace function public.notify() returns
trigger as $BODY$
begin
if new.tp_status = 'ERRO' then
perform pg_notify('xgracco', row_to_json(NEW)::text);
end if;
return new;
end
$BODY$
language 'plpgsql';
create trigger after_insert
after insert or update
on "tb_fila"
for each row
execute procedure public.notify()
create or replace function public.notify_delete() returns
trigger as $BODY$
begin
if old.tp_status = 'ERRO' then
perform pg_notify('xgracco', row_to_json(OLD)::text);
end if;
return old;
end
$BODY$
language 'plpgsql';
create trigger before_delete_xgracco
before delete
on "tb_fila"
for each row
execute procedure public.notify_delete()
解决方案
推荐阅读
- ldap - rbac 为 True 时气流中的 ldap 配置
- flutter - 是否有可能在下拉按钮中显示的值不在菜单中?
- php - 我想在两个 CodeIgniter 函数之间发送数据
- git - 警告:无效的凭证行——该行来自哪里?
- xamarin.forms - Xamarin Forms:是否可以使用 SettingsPlugin 保存和检索 EpubBook 数据?
- r - 文本列之间的相关矩阵
- c# - 使用 Azure Active Directory 的用户管理器
- react-native - 安装 react-native-azurenotificationhub 后任务:react-native-auth0:compileDebugJavaWithJavac FAILED
- android - 片段中 alignParentBottom="true" 处的按钮
- c# - 如何在 Xamarin iOS 上的结构中打包字段?