This commit adds a new stats kind, called PGSTAT_KIND_LOCK, implementing statistics for lock tags, as reported by pg_locks. The implementation is fixed-sized, as the data is caped based on the number of lock tags in LockTagType. The new statistics kind records the following fields, providing insight regarding lock behavior, while avoiding impact on performance-critical code paths (such as fast-path lock acquisition): - waits and wait_time: respectively track the number of times a lock required waiting and the total time spent acquiring it. These metrics are only collected once a lock is successfully acquired and after deadlock_timeout has been exceeded. fastpath_exceeded: counts how often a lock could not be acquired via the fast path due to the max_locks_per_transaction slot limits. A new view called pg_stat_lock can be used to access this data, coupled with a SQL function called pg_stat_get_lock(). Bump stat file format PGSTAT_FILE_FORMAT_ID. Bump catalog version. Author: Bertrand Drouvot <bertranddrouvot.pg@gmail.com> Reviewed-by: Andres Freund <andres@anarazel.de> Reviewed-by: Michael Paquier <michael@paquier.xyz> Discussion: https://postgr.es/m/aIyNxBWFCybgBZBS%40ip-10-97-1-34.eu-west-3.compute.internal |
||
|---|---|---|
| .github | ||
| config | ||
| contrib | ||
| doc | ||
| src | ||
| .cirrus.star | ||
| .cirrus.tasks.yml | ||
| .cirrus.yml | ||
| .dir-locals.el | ||
| .editorconfig | ||
| .git-blame-ignore-revs | ||
| .gitattributes | ||
| .gitignore | ||
| .mailmap | ||
| aclocal.m4 | ||
| configure | ||
| configure.ac | ||
| COPYRIGHT | ||
| GNUmakefile.in | ||
| HISTORY | ||
| Makefile | ||
| meson.build | ||
| meson_options.txt | ||
| README.md | ||
PostgreSQL Database Management System
This directory contains the source code distribution of the PostgreSQL database management system.
PostgreSQL is an advanced object-relational database management system that supports an extended subset of the SQL standard, including transactions, foreign keys, subqueries, triggers, user-defined types and functions. This distribution also contains C language bindings.
Copyright and license information can be found in the file COPYRIGHT.
General documentation about this version of PostgreSQL can be found at https://www.postgresql.org/docs/devel/. In particular, information about building PostgreSQL from the source code can be found at https://www.postgresql.org/docs/devel/installation.html.
The latest version of this software, and related software, may be obtained at https://www.postgresql.org/download/. For more information look at our web site located at https://www.postgresql.org/.