This article describes PostgreSQL Database Performance Counters. PostgreSQL is an object-relational database management system (ORDBMS). It is an open-source, powerful, and reliable database system that is well-suited for large web applications and data-driven websites. It is a popular choice for enterprise applications and is favoured for its reliability and robust features. PostgreSQL is a transactional database, meaning it guarantees data integrity and atomicity of transactions. It is highly scalable and can handle large amounts of data. PostgreSQL is also extensible, allowing developers to add new features and capabilities.
PostgreSQL supports a wide range of data types, including character strings, integers, floats, and dates. It also supports user-defined data types, allowing developers to create custom data types. It also provides a number of built-in functions, such as string manipulation, date/time manipulation, and mathematical functions. PostgreSQL also provides powerful data manipulation tools, such as sorting, grouping, and joining.
PostgreSQL also provides various features for data security and integrity, including authentication, authorization, encryption, and row-level security. It also provides various tools for performance tuning, such as query optimization, indexing, and caching. It is a great choice for enterprise applications as it provides high performance, scalability, reliability, and robust features. PostgreSQL is also open-source, meaning it is free to download and use. It is a great choice for developers who want to create powerful and reliable applications.
ORDBMS stands for Object-relational Database Management System. It is a type of database management system which combines the features of both traditional relational database management systems (RDBMS) and object-oriented databases. ORDBMS provides the functionality of storing complex data types, such as images and other large objects, and provides an object-oriented programming environment. ORDBMS allows for a more flexible schema design that enables data to be stored in a variety of ways, allowing for more efficient querying and retrieval. Additionally, ORDBMS provides increased scalability, allowing for more powerful queries, and improved data integrity, as transactions can be handled on a larger scale. Compared to traditional databases, ORDBMS is more flexible and powerful, but also more complex to use and manage.
Key features of PostgreSQL Database
- Object-Relational Database System: PostgreSQL is an object-relational database management system (ORDBMS). It supports data types, triggers, functions and more.
- Extensibility: PostgreSQL is highly extensible, allowing developers to add custom functions and data types.
- Open Source: PostgreSQL is open source, and anyone can contribute to its development.
- Transaction Support: PostgreSQL supports multi-version and serializable transaction isolation.
- Security: PostgreSQL includes many security features such as authentication, authorization, encryption, and more.
- High Performance: PostgreSQL is highly optimized and can handle large datasets with ease.
- Cross-Platform Support: PostgreSQL can be installed on multiple operating systems, including Windows, Linux, and macOS.
Performance Counters of PostgreSQL Database
- Current connections: The number of currently open connections.
- Connections executing requests: The number of currently open connections that are executing requests.
- Idle connections: The number of currently idle connections.
- Max connections: The maximum number of concurrent connections to the database server.
- Used connections: Connections used as a percentage of maximum connections
- Shared buffers size: The current size of shared buffers.
- Disk cache size: The current size of the disk cache buffer.
- Sort buffer size: The current size of the sort buffer.
- Work buffer size: The current size of the working requests buffer.
- Temp buffer size: The current size of the temporary buffer.
- Blocks read: Number of blocks directly read on disk.
For optimal performance, this value should be the smallest possible. If the database has to execute too many disk accesses, performance will suffer.
- Index blocks read: Number of index blocks directly read on disk.
- % Index blocks read: Percentage of index blocks directly read on disk.
- Sequence blocks read: Number of sequence blocks directly read on disk.
- Blocks read: Number of cached blocks read.
- Index blocks read: Number of cached index blocks read.
- % Index blocks read: Percentage of cached index blocks read.
For optimal performance, this value must be as large as possible. If an insufficient number of index blocks are declared in the table, it could negatively impact the performance of the Database server.
- Sequence blocks read: Number of cached sequence blocks read.
- Index read: Number of reads initiated by an index.
- Indexed rows read: Number of rows read by indexed requests.
- Indexed rows fetched: Number of live rows fetched by indexed requests.
- Rows read: Number of rows read.
- Rows fetched: Number of rows fetched.
- Inserted rows: Number of rows inserted.
- Updated rows: Number of rows updated.
- Deleted rows: Number of rows deleted.
- Committed transactions: Number of committed transactions. This value should be relatively stable, indicating that there are no performance-reducing load peaks. If applications do not commit often enough, it will lead to an overload on the database server.
- Rolled back transactions: Number of transactions rolled back.
- % Rolledback transactions: Percentage of transactions rolled back.
- Locks waiting: Number of locks waiting.
- Locks held: Number of locks held.
- Process holding locks: Number of processes holding locks.
- Server version: The current version of the PostgreSQL database server.
You may be interested:
- MySQL Performance Counters
- IBM DB2 Performance Counters
- Oracle DB Performance Counters
- MongoDB Performance Counters