PostgreSQLでデッドロックプロセスをオフにする方法
751 ワード
使用するPostgreSQLデータベースのため、資料がありません。Googleを行うしかない。
最終的に英語のフォーラムで解決方法を発見しました。
以下のとおりです
1.デッドロックプロセスのIDを検索する
2.プロセスを殺す
ps:データベースの自分の関数リストを調べたら、pg_を発見しました。テルミニbackend関数はプロセスを殺すこともできます。
公式サイトで提供された内容:http://www.postgresql.org/docs/9.0/static/functions-admin.html
最終的に英語のフォーラムで解決方法を発見しました。
以下のとおりです
1.デッドロックプロセスのIDを検索する
SELECT * FROM pg_stat_activity WHERE datname=' ID ';
検索したフィールドの中で、「wating」フィールドは、データがtのあれです。つまり、デッドロックのプロセスです。対応する「procpid」列の値が見つかりました。2.プロセスを殺す
SELECT pg_cancel_backend(' procpid ');
結果:運行が終わったら、再度この表を更新して、sqlは順調に実行します。ps:データベースの自分の関数リストを調べたら、pg_を発見しました。テルミニbackend関数はプロセスを殺すこともできます。
公式サイトで提供された内容:http://www.postgresql.org/docs/9.0/static/functions-admin.html