I modified the code to include the "extra" member in the following statement:fprintf(stderr,
"ASYNC NOTIFY of '%s' received from backend PID %d: %s\n",
notify->relname, notify->be_pid, notify->extra);I was unable to locate any example of how to retrieve the payload in C.
Since psql does it correctly that is a good place to find code.
Yes, your modification should work. Looking at the history that extra field is 18 years old. I’m not in a position to confirm whether or not this is somehow broken on head but has gone undiscovered, but it seems unlikely. Only advice I can think of besides waiting for a more experienced hacker is to check the relevant header files and breakpoint/trace the code and see what “notify” actually looks like. Or start from scratch on a clean setup and try again confirming you have checked out master/head from the official repository.
David J.