postgresql-dart
postgresql-dart copied to clipboard
listen to notification
Hello i am using postgress on cloud and i created triggerfunction and trigger in pgAdmin. Here is my trigger function
CREATE FUNCTION public.row_notifiy_n() RETURNS trigger LANGUAGE 'plpgsql' COST 100 VOLATILE NOT LEAKPROOF AS $BODY$ BEGIN PERFORM pg_notify( 'rowChanged', json_build_object( 'operation', TG_OP, 'record', row_to_json(new) )::text ); Return new; END; $BODY$;
ALTER FUNCTION public.row_notifiy_n() OWNER TO "abc";
and trigger is
CREATE TRIGGER notify AFTER INSERT OR DELETE OR UPDATE ON public."Logs" FOR EACH ROW EXECUTE PROCEDURE public.row_notifiy_n();
ALTER TABLE public."Logs" ENABLE ALWAYS TRIGGER notify;
How i can listen this in flutter
Apparently, in old versions, you could listen to notifications with connection.notifications.listen(), but with the replacement of Connection with PostgreSQLConnection, this feature no longer exists in created connection and no document exist for notification listening. I also filed this issue and am waiting for help
Not sure: are you looking for notification listeners? https://pub.dev/documentation/postgres/latest/postgres/Connection/channels.html https://pub.dev/documentation/postgres/latest/postgres/Channels-class.html
I read the source code almost 1 hour ago and realized how to do this, but it is better to put an example in Example so that there is no need to read the API reference or source code.