Hacker News new | ask | show | jobs
by jkingsman 17 days ago
Query cancels are out of band from the query connection so PGBouncer has to land it on the right server and the right connection. So PGBouncer serves a bogus-but-tracked cancel PID+secret to the client, which then goes to PGBouncer and PGBouncer figures out the right server/process to send the actual PID+secret to. PGBouncer also has to make sure that the connection/PID is still actually running the query; strictly speaking, a client can believe a query is still running when PGBouncer knows it's already complete and the connection has been reused.