create function notify_data_change() returns trigger
language plpgsql
as
$$
DECLARE
payload JSON;
BEGIN
payload = json_build_object(
'table', TG_TABLE_NAME,
'operation', TG_OP,
'data', row_to_json(NEW)
);
PERFORM pg_notify('data_changed', payload::text);
RETURN NEW;
END;
$$;
alter function notify_data_change() owner to workshopuser;
-- auto-generated definition
create trigger data_change_trigger
after insert or update
on books
for each row
execute procedure notify_data_change();