Sometimes, you have a lot of data or perhaps insufficient hardware resources, and a query just runs for a very long time. In such a situation, you may need to stop the query—perhaps so you can implement an alternative query to get the information you need, but without the delayed response. In this section, you are going to investigate how you can stop hanging or, at least, extremely long-running queries using a secondary PostgreSQL interpreter. The following are some of the commands that you will use to kill queries:
pg_sleepis a command that allows you to tell the SQL interpreter to essentially do nothing for a specified period as defined by the input to the function in seconds.
pg_cancel_backendcommand causes the interpreter to end the query specified by the process ID (
PID). The process will be terminated cleanly, allowing for appropriate resource cleanup. Clean termination should also be the first preference as it reduces the possibility...