都知道可以通過(guò)數(shù)據(jù)庫(kù)查到pid,然后kill -9就可以強(qiáng)制殺會(huì)話了,如果用Oracle和MySQL的認(rèn)知做pg數(shù)據(jù)庫(kù)的操作,那就大錯(cuò)特錯(cuò)了。
kill -9的危害
Pg 看到一個(gè)被支持的被終止kill -9。它知道后端可能已經(jīng)損壞了共享內(nèi)存——例如,因?yàn)槟憧梢栽趯㈨?yè)面寫(xiě)入 shm 或修改頁(yè)面的過(guò)程中中斷它——所以當(dāng)它注意到后端突然消失時(shí),它會(huì)終止并重新啟動(dòng)所有其他后端并以非零錯(cuò)誤代碼退出。
正確的方法是通過(guò)下列2種方式殺進(jìn)程
1. 庫(kù)里調(diào)用存儲(chǔ)過(guò)程
可以根據(jù)pg_stat_activity的幾個(gè)字段找到需要?dú)⒌舻臅?huì)話
通過(guò)SELECT pg_terminate_backend(pid)可以殺掉想要的會(huì)話。
yxptest=# SELECT pg_terminate_backend(38531);
會(huì)話端會(huì)出現(xiàn)如下界面
2. 庫(kù)外使用pg_ctl命令
pg_ctl kill SIGNALNAME PID
SIGNALNAME 的含義
千萬(wàn)不要kill -9?。?!
pg建用戶很簡(jiǎn)單,和我們經(jīng)常操作的一樣,但是刪除的時(shí)候,可能讓很多人頭疼不已,因?yàn)闀?huì)報(bào)很多依賴關(guān)系的錯(cuò)誤。
有一個(gè)方式可以把用戶的依賴全部刪除,相應(yīng)的后果就是用戶相關(guān)的對(duì)象一并刪除,屬于高危操作。
下面我建一個(gè)簡(jiǎn)單用戶和一個(gè)測(cè)試表
yxptest=# create user test ENCRYPTED password Hb_bss2021;
yxptest=# c yxptest
yxptest=# create schema test authorization test;
yxptest=# create table t1(id int);
這里我們可以看到schema和talbe的owner都是test。
我們做下刪除操作
這樣的刪除操作,是會(huì)報(bào)依賴關(guān)系的錯(cuò)誤。
常規(guī)辦法,是一個(gè)個(gè)解除依賴,但是pg有個(gè)快速的方法,如下所示
yxptest=# drop owned by test cascade;
yxptest=# drop user test;
這樣的方法雖然省事,但是有個(gè)致命的問(wèn)題,我們需要知道。
drop owned by test cascade 會(huì)把所有對(duì)象的owner是test的刪除,包括數(shù)據(jù)之類的。
這點(diǎn)我們需要再三確認(rèn),如果不是很確定,可以先做一個(gè)如下操作。
這樣可以確保這個(gè)用戶下的對(duì)象的保留。
運(yùn)維的坑總會(huì)不經(jīng)意間出現(xiàn),記得填好自己。
更多精彩干貨分享
點(diǎn)擊下方名片關(guān)注
IT那活兒
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/129804.html
最近偶然想學(xué)習(xí)下webpack的配置,于是走上了webpack4踩坑的不歸路。。。 webpack4默認(rèn)的特性: 配置默認(rèn)初始化一些配置, 比如 entry 默認(rèn) ./src 開(kāi)發(fā)模式和發(fā)布模式, 插件默認(rèn)內(nèi)置 CommonsChunk 配置簡(jiǎn)化 使用 ES6 語(yǔ)法,比如 Map, Set, includes 新增 WebAssembly 構(gòu)建支持 如果要使用 webpack cli 命令,...
摘要:本文主要介紹在移動(dòng)端項(xiàng)目中如何使用及其配置使用腳手架生成的項(xiàng)目,后運(yùn)行彈出配置項(xiàng),該命令不可逆哦。使用了作為計(jì)算依據(jù),因此需要在中貼上以下代碼,并沒(méi)有使用淘寶的方案使用的設(shè)計(jì)圖是的哦配置的按需加載當(dāng)然了,你需要先。 本文主要介紹在react移動(dòng)端項(xiàng)目中如何使用antd-mobile2及其配置 使用 create-react-app腳手架生成的項(xiàng)目,后運(yùn)行npm run eject 彈出...
摘要:本文主要介紹在移動(dòng)端項(xiàng)目中如何使用及其配置使用腳手架生成的項(xiàng)目,后運(yùn)行彈出配置項(xiàng),該命令不可逆哦。使用了作為計(jì)算依據(jù),因此需要在中貼上以下代碼,并沒(méi)有使用淘寶的方案使用的設(shè)計(jì)圖是的哦配置的按需加載當(dāng)然了,你需要先。 本文主要介紹在react移動(dòng)端項(xiàng)目中如何使用antd-mobile2及其配置 使用 create-react-app腳手架生成的項(xiàng)目,后運(yùn)行npm run eject 彈出...
摘要:的使用屬性允許你訪問(wèn)一個(gè)對(duì)象。它與相似,不同之處在于里面存儲(chǔ)的數(shù)據(jù)沒(méi)有過(guò)期時(shí)間設(shè)置,而存儲(chǔ)在里面的數(shù)據(jù)在頁(yè)面會(huì)話結(jié)束時(shí)會(huì)被清除。頁(yè)面會(huì)話在瀏覽器打開(kāi)期間一直保持,并且重新加載或恢復(fù)頁(yè)面仍會(huì)保持原來(lái)的頁(yè)面會(huì)話。 sessionStorge的使用 sessionStorage 屬性允許你訪問(wèn)一個(gè) session Storage 對(duì)象。它與 localStorage 相似,不同之處在于 lo...
閱讀 1356·2023-01-11 13:20
閱讀 1707·2023-01-11 13:20
閱讀 1215·2023-01-11 13:20
閱讀 1906·2023-01-11 13:20
閱讀 4165·2023-01-11 13:20
閱讀 2757·2023-01-11 13:20
閱讀 1402·2023-01-11 13:20
閱讀 3671·2023-01-11 13:20