POSTGRESQL 查看用戶使用情況以及殺掉相應的進程


一、查看哪些用戶在鏈接數據庫

select * from pg_stat_activity ;

  這里的pg_stat_activity其實是一個視圖,它的定義可以在postgres這個數據庫里面的視圖部分找到。

 
二、殺死進程
  現在我們找出所有連接到數據庫的進程了,那么如何去殺死那些IDEL的進程從而釋放出連接呢?如果pg的版本是 8.4及以上的,可以很簡單地用下面的語句來殺死所有IDEL進程 :
SELECT pg_terminate_backend(procpid) FROM pg_stat_activity WHERE current_query='<IDLE>'
  pg_terminate_backend是pg的內部方法,另外還有一個叫pg_cancel_backend,這個方法在8.4以前的版本中就一直存在。這兩個方法的區別在於:
  • pg_cancel_backend    只是取消當前某一個進程的查詢操作,但不能釋放數據庫連接
  • pg_terminate_backend    可以在pg的后台殺死這個進程,從而釋放出寶貴的連接資源


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM