溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

postgresql學(xué)習(xí)筆記(三)連接管理

發(fā)布時(shí)間:2020-06-24 14:51:54 來源:網(wǎng)絡(luò) 閱讀:779 作者:corasql 欄目:數(shù)據(jù)庫

使用以下三個(gè)SQL語句來取消正在運(yùn)行的查詢并終止連接

(1)查出活動(dòng)連接列表及其進(jìn)程ID

select * from pg_stat_activity;

(2)取消連接上的活動(dòng)查詢

select pg_cancel_backend(procid);

該操作不會(huì)終止連接本身

(3)終止該連接

select pg_terminate_backend(procid);

如果你未停止某個(gè)連接上正在執(zhí)行的語句就直接終止該連接,那么這些語句此時(shí)也會(huì)被停止掉。在上述步驟2執(zhí)行完畢后,客戶端應(yīng)用的掛起狀態(tài)被解除,即客戶端可以重新執(zhí)行語句,有些著急的用戶會(huì)在此時(shí)再次執(zhí)行剛剛被終止掉的語句,這又會(huì)導(dǎo)致系統(tǒng)陷入之前的狀態(tài)。為了避免此種情況的發(fā)生,可以采用直接

終止連接的方式。


如果你希望一次性終止某個(gè)用戶的所有連接,那么在9.2版及之后的版本上可以執(zhí)行以下語句:

   select pg_terminate_backend(pid) from pg_stat_activity where username='some_role';

在9.2版之前的版本上可以執(zhí)行以下語句:

  select pg_terminate_backend(procpid) from pg_stat_activity where username='some_role';


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI