質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Q&A

解決済

1回答

1450閲覧

PostgreSQLのロックの総待機時間は確認可能でしょうか?

rw7721

総合スコア2

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

0グッド

0クリップ

投稿2022/05/19 13:12

データベース初心者です。
MYsqlのLock Wait Time (ms) を監視しアラート通知を飛ばす監視方法を
PostgreSQLで行う事は可能なのでしょうか?
サイト等色々調査を行ったのですがPostgreSQLでロック待機時間を確認する方法が分かりませんでしたので知恵をお貸し頂きたいです。
ロック待機時間に近いパラメータ等があるのでしょうか?
初歩的な質問で申し訳ありませんがご回答いただけますと幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

PostgreSQL ロック待ちの原因となっているSQLのセッションを特定する のSELECT結果の duration が参考になるでしょうか?
PostgreSQL 9.2 以降

投稿2022/05/19 21:10

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

rw7721

2022/05/20 14:00

ありがとうございます! 参考サイトのSQL文の内容をかみ砕きながらロック時間出力できるように頑張ります! 一点だけ追加で質問させて頂きたいのですが a.datname のa pg_locks l の l pg_stat_activity a のa 等 英数字1文字を記載するのに何か理由はあるのでしょうか? pg_stat_activity というテーブル? に datnameという情報が格納されている様な認識なのですが a.datname とは別物なのでしょうか?
Orlofsky

2022/05/20 20:56

>pg_stat_activity a a はテーブル名の別名です。 どのテーブルの列か明示するために テーブル名.列名 で記述すると冗長になるので、短く判り易いテーブル名の別名を付けて、 別名.列名 で記述します。
rw7721

2022/05/21 03:51

なるほど!ありがとうございます! pg_locks l pg_stat_activity a a.datname = pg_stat_activity のdatname という事ですね! (current_timestamp - xact_start)::interval(3) AS duration に関してはテーブルに存在しない(自分で計算をして作成している)ので a等をつけていないという事ですかね? ::interval(3) の意味も調査中なので間違っているかもしれませんが... 何度も質問してしまい申し訳ありません...
Orlofsky

2022/05/21 07:56

質問する前にググりましょう。 current_timestamp は関数でテーブルの列ではありません。 PostgreSQL 現在のシステム日付・時刻を取得する https://zukucode.com/2017/11/postgresql-now.html intervalは自分でしらべられますよね? >PostgreSQL SQL入門 でいくつかのサイトをきちんと読むなり、1冊買ってきて熟読された方が良いです。
rw7721

2022/05/22 02:40

ありがとうございます! そうですよね... すみません。 質問はどうしても解決の糸口が見つからなかった場合のみするようにします。 本当に助かりました!ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問