PG資料庫死鎖無法insert和update操作

2021-10-09 06:59:17 字數 781 閱讀 2996

目前由於系統公升級,資料庫系統從mssql2012變成開源的pg11.4。新環境出現資料無法入資料庫,操作人員無法修改訂單,需要查詢死鎖的點,早處理,最終還是要找到問題的sql解決。

1.-- 查詢activity的狀態等資訊

select t.pid, t.state, t.query, t.wait_event_type, t.wait_event,

t.query_start

from pg_stat_activity t

where t.datname = 't_station';

上面查詢結果中:pid就是activity的唯一標識,state就是活動狀態,query就是正在執行的sql語句,query——start就是開始執行的時間。

2.-- 查詢死鎖的activity

select t.pid, t.state, t.query, t.wait_event_type, t.wait_event,

t.query_start

from pg_stat_activity t

where t.datname = 't_station'

and t.wait_event_type = 'lock';

3.將第二條查詢語句的pid欄位的數字值記錄下來,執行下面的查詢語句可以解鎖:

-- 通過pid解鎖對應的activity

select pg_cancel_backend('6984');

上面的查詢語句,執行了pg_cancel_backend()函式,該函式是取消後台操作,回滾未提交事物的用途。

gp資料庫與pg資料庫

以前專案採用的都是oracle或者是mysql的資料庫,新的專案採用了gp資料庫 greenplum 在這之前只聽說過pg資料庫 postgresql gp資料庫官網 pg資料庫官網 經過學習和查詢,得知greenplum是利用了postgre資料庫的框架,也就相當於說是,gp資料庫是基於pg資料庫...

pg資料庫連線命令

psql help 命令可檢視資料庫連線幫助文件。pg dump 命令可檢視導數幫助文件。dyb為庫名,username為資料庫使用者 方法一,需要手動輸入密碼 psql u username h 196.128.0.19 p 5432 d dyb enter passwd for username...

python操作pg資料庫

描述 寫道postgresql 至少有至少 3 個 python 介面程式可 以訪問 posgresql psycopg,pypgsql 和 pygresql.第四個,popy,現在已經被廢棄 2003年,它 貢獻出自己的 與pygresql整合在一起 這三個介面程式各有長處,各有缺點,根據實踐結 ...