My concern is how, after LISTENing in psql, I can tell it what to do when the NOTItFY is received.
As far as I am aware you cannot.
Yes, and psql is not designed to do anything of its own accord, so I think the answer is really "use another program”.
psql would be running on *nix.
Let’s suppose for a moment that I piped the output of a psql instance to awk or some similar program, configured to detect the NOTIFY. That program would then spawn a process to actually perform the work, parameters being whatever is part of the NOTIFY. Both this psql instance and the awk script would be dedicated to this task.
Given this is not intended in any way to be production quality code - in fact, it’s intended to deliver XML to the client server for validation (xmllint) in a development/test environment - do you see anything that clearly won’t work? Also, this would be a very low volume connection. Perhaps one NOTIFY in five minutes - or longer.