Another useful tool for monitoring database activity is the
<structname>pg_locks</structname> system table. It allows the
database administrator to view information about the outstanding
locks in the lock manager. For example, this capability can be used
to:
この他に、データベース活動状況の監視に役立つツールとしてpg_locks
システムテーブルがあります。
これにより、データベース管理者はロックマネージャ内の未解決のロックに関する情報を参照することができます。
例えば、この機能を使用すると以下のことができます。
View all the locks currently outstanding, all the locks on relations in a particular database, all the locks on a particular relation, or all the locks held by a particular <productname>PostgreSQL</productname> session. 現在未解決のロック、特定データベース内のリレーション上のロック、特定のリレーションのロック、または特定のPostgreSQLセッションが保持するロックを全て表示する。
Determine the relation in the current database with the most ungranted locks (which might be a source of contention among database clients). 最も許可されにくいロック(データベースクライアント間で競合の原因になる可能性がある)を持つ、現在のデータベースにおけるリレーションを表示する。
Determine the effect of lock contention on overall database performance, as well as the extent to which contention varies with overall database traffic. 競合によって変動するデータベースの全トラフィックの範囲に加えて、全体的なデータベースの性能に対するロック競合の影響を判断する。
Details of the <structname>pg_locks</structname> view appear in
<xref linkend="view-pg-locks"/>.
For more information on locking and managing concurrency with
<productname>PostgreSQL</productname>, refer to <xref linkend="mvcc"/>.
pg_locks
ビューの詳細は、52.12にあります。
PostgreSQLのロックと同時実行性についての詳細は、第13章を参照してください。