2016-12-09 7 views
0

私のアプリケーションには、AIS付きのPostgres DBがあります。 DBで変更が発生したときにはいつでも、アプリケーションのイベントを受け取ります。Postgres DBが短期間スタックされた

私は削除イベントを受け取り、イベントに「1の影響を受けた行数がありません」と表示されている間、postgres DBテーブルの行が減少しないという問題に直面しています。

DBがスタックしている可能性はありますか?

私はそのライブ環境としてオープンPostgresのDB

+1

「コミット」がありませんか? –

+1

'DELETE'を実行した後、xactの' ROLLBACK'(またはタイムアウト、または後のステートメントで 'ERROR'を取得しましたか?個人的には、トランザクション通知なので、イベント通知に 'LISTEN'と' NOTIFY'を使うべきだと思います。あなたはそれが「固まった」と思うのですか?それは後で再開するかどうかはわかりませんか? –

+1

「AIS」と書いてみたら、正確に何を参照していますか?「postgres AIS」の検索では頭字語では何も分かりません。 、海洋の自動識別システムをデータソースとして使用するのですか? –

答えて

1

することはできませんあなたがPG 9.6上にある場合、あなたはselect * from pg_stat_activity where wait_event_type is not null or wait_event is not nullを試みることができます。古いバージョンでは、select * from pg_locks where granted is not trueを試すことができます。これは、待機中のトランザクションがあることを示します。もしそうなら、あなたはさらに調査することができます。

しかし、私はDBが "積み重なっている"とは思っていません。デッドロックが発生する可能性はありますが、PostgreSQLは実際にデッドロックを見つけることができます。だから、それをシミュレートすることは非常に難しいです。

+0

ありがとう!! –

関連する問題