I find it annoying to have to specifically exclude pg_backend_pid() from pg_stat_activity if I'm trying to kill a bunch of backends at once, and I can't think of any reason why you'd ever want to call a pg_cancel_* function with your own PID.
That's a rather easy way of testing that you're handling FATAL errors correctly from a driver/whatever.
I'm having trouble thinking of a PC name for the function we create that should do this; while changing the pg_cancel_* functions to operate more safely.
We could add a second parameter to the current functions: allow_own_pid DEFAULT false. To me that seems better than an entirely separate set of functions.
+1 to add a second parameter to current functions.
--
Fabrízio de Royes Mello Consultoria/Coaching PostgreSQL