metric_name,metric_type,interval,unit_name,per_unit_name,description,orientation,integration,short_name,curated_metric,sample_tags postgresql.active_queries,gauge,,,,"Enabled with `collect_activity_metrics`. The number of active queries in this database. This metric (by default) is tagged with db, app, user.",0,postgres,active queries,, postgresql.active_waiting_queries,gauge,,,,"Enabled with `collect_activity_metrics`. The number of waiting queries in this database in state active. This metric (by default) is tagged with db, app, user.",0,postgres,transactions active_waiting queries,, postgresql.activity.backend_xid_age,gauge,,transaction,,"The age of the oldest backend's xid relative to latest stable xid. This metric (by default) is tagged with db, app, user.",-1,postgres,activity xid,, postgresql.activity.backend_xmin_age,gauge,,transaction,,"The age of the oldest backend's xmin horizon relative to latest stable xid. This metric (by default) is tagged with db, app, user.",-1,postgres,activity xmin,, postgresql.activity.wait_event,gauge,,,,"The number of wait events at the time of the check. This metric is tagged by user. This metric is tagged by user, db, app and backend_type",0,postgres,wait_event,, postgresql.activity.xact_start_age,gauge,,second,,"The age of the oldest active transactions. This metric (by default) is tagged with db, app, user.",-1,postgres,activity xact,, postgresql.analyze.child_tables_done,gauge,,,,"Number of child tables scanned. This counter only advances when the phase is acquiring inherited sample rows. This metric is tagged with db, table, child_relation, phase.",0,postgres,postgres analyze child done,, postgresql.analyze.child_tables_total,gauge,,,,"Number of child tables. This metric is tagged with db, table, child_relation, phase.",0,postgres,postgres analyze child total,, postgresql.analyze.ext_stats_computed,gauge,,,,"Number of extended statistics computed. This counter only advances when the phase is computing extended statistics. This metric is tagged with db, table, child_relation, phase.",0,postgres,postgres analyze stats computed,, postgresql.analyze.ext_stats_total,gauge,,,,"Number of extended statistics. This metric is tagged with db, table, child_relation, phase.",0,postgres,postgres analyze stats total,, postgresql.analyze.sample_blks_scanned,gauge,,block,,"Number of heap blocks scanned. This metric is tagged with db, table, child_relation, phase.",0,postgres,postgres analyze blks scanned,, postgresql.analyze.sample_blks_total,gauge,,block,,"Total number of heap blocks that will be sampled. This metric is tagged with db, table, child_relation, phase.",0,postgres,postgres analyze blks total,, postgresql.analyzed,count,,,,"Enabled with `relations`. The number of times this table has been manually analyzed. This metric is tagged with db, schema, table.",0,postgres,analyze,, postgresql.archiver.archived_count,count,,,,Number of WAL files that have been successfully archived.,0,postgres,archived cnt,, postgresql.archiver.failed_count,count,,,,Number of failed attempts for archiving WAL files.,-1,postgres,failed archived cnt,, postgresql.autoanalyzed,count,,,,"Enabled with `relations`. The number of times this table has been analyzed by the autovacuum daemon. This metric is tagged with db, schema, table.",0,postgres,auto analyze,, postgresql.autovacuumed,count,,,,"Enabled with `relations`. The number of times this table has been vacuumed by the autovacuum daemon. This metric is tagged with db, schema, table.",0,postgres,auto vac,, postgresql.before_xid_wraparound,gauge,,transaction,,The number of transactions that can occur until a transaction wraparound. This metric is tagged with db.,0,postgres,tx before xid wraparound,, postgresql.bgwriter.buffers_alloc,count,,,,The number of buffers allocated,0,postgres,bgw buff alloc,, postgresql.bgwriter.buffers_backend,count,,buffer,,The number of buffers written directly by a backend.,0,postgres,bgw buff bkend,, postgresql.bgwriter.buffers_backend_fsync,count,,,,The of times a backend had to execute its own fsync call instead of the background writer.,0,postgres,bgw buff bkend fsync,, postgresql.bgwriter.buffers_checkpoint,count,,,,The number of buffers written during checkpoints.,0,postgres,bgw buff cp,, postgresql.bgwriter.buffers_clean,count,,,,The number of buffers written by the background writer.,0,postgres,bgw buff clean,, postgresql.bgwriter.checkpoints_requested,count,,,,The number of requested checkpoints that were performed.,0,postgres,bgw cp req,, postgresql.bgwriter.checkpoints_timed,count,,,,The number of scheduled checkpoints that were performed.,0,postgres,bgw cp timed,, postgresql.bgwriter.maxwritten_clean,count,,,,The number of times the background writer stopped a cleaning scan due to writing too many buffers.,0,postgres,bgw maxwr clean,, postgresql.bgwriter.sync_time,count,,millisecond,,The total amount of checkpoint processing time spent synchronizing files to disk.,0,postgres,bgw sync time,, postgresql.bgwriter.write_time,count,,millisecond,,The total amount of checkpoint processing time spent writing files to disk.,0,postgres,bgw wrt time,, postgresql.blk_read_time,count,,millisecond,,Time spent reading data file blocks by backends in this database if track_io_timing is enabled. This metric is tagged with db.,0,postgres,db blk read,, postgresql.blk_write_time,count,,millisecond,,Time spent writing data file blocks by backends in this database if track_io_timing is enabled. This metric is tagged with db.,0,postgres,db blk write,, postgresql.buffer_hit,rate,,hit,second,"The number of times disk blocks were found in the buffer cache, preventing the need to read from the database. This metric is tagged with db.",1,postgres,buff hit,, postgresql.buffercache.dirty_buffers,gauge,,buffer,,"Number of dirty shared buffers. pg_buffercache extension needs to be installed. This metric is tagged by db, schema and relation.",0,postgres,buffercache dirty buffers,, postgresql.buffercache.pinning_backends,gauge,,,,"Number of backends pinning shared buffers. pg_buffercache extension needs to be installed. This metric is tagged by db, schema and relation.",0,postgres,buffercache pinning backends,, postgresql.buffercache.unused_buffers,gauge,,buffer,,Number of unused shared buffers. pg_buffercache extension needs to be installed.,0,postgres,buffercache unused buffers,, postgresql.buffercache.usage_count,gauge,,,,"Sum of shared buffers' usage_count. pg_buffercache extension needs to be installed. This metric is tagged by db, schema and relation.",0,postgres,buffercache usage count,, postgresql.buffercache.used_buffers,gauge,,buffer,,"Number of shared buffers. pg_buffercache extension needs to be installed. This metric is tagged by db, schema and relation.",0,postgres,buffercache buffers,, postgresql.checksums.checksum_failures,count,,,,The number of checksum failures in this database. This metric is tagged with db.,0,postgres,checksums,, postgresql.checksums.enabled,count,,,,Whether database checksums are enabled. Value is always 1 and tagged with enabled:true or enabled:false. This metric is tagged with db.,0,postgres,checksums.enabled,, postgresql.cluster_vacuum.heap_blks_scanned,gauge,,block,,"Number of heap blocks scanned. This counter only advances when the phase is seq scanning heap. Only available with PostgreSQL 12 and newer. This metric is tagged with db, table, command, phase, index.",0,postgres,postgres cluster blk_scanned,, postgresql.cluster_vacuum.heap_blks_total,gauge,,block,,"Total number of heap blocks in the table. This number is reported as of the beginning of seq scanning heap. Only available with PostgreSQL 12 and newer. This metric is tagged with db, table, command, phase, index.",0,postgres,postgres cluster blk_total,, postgresql.cluster_vacuum.heap_tuples_scanned,gauge,,,,"Number of heap tuples scanned. This counter only advances when the phase is seq scanning heap, index scanning heap or writing new heap. Only available with PostgreSQL 12 and newer. This metric is tagged with db, table, command, phase, index.",0,postgres,postgres cluster tuple_scanned,, postgresql.cluster_vacuum.heap_tuples_written,gauge,,,,"Number of heap tuples written. This counter only advances when the phase is seq scanning heap, index scanning heap or writing new heap. Only available with PostgreSQL 12 and newer. This metric is tagged with db, table, command, phase, index.",0,postgres,postgres cluster tuple_written,, postgresql.cluster_vacuum.index_rebuild_count,gauge,,,,"Number of indexes rebuilt. This counter only advances when the phase is rebuilding index. Only available with PostgreSQL 12 and newer. This metric is tagged with db, table, command, phase, index.",0,postgres,postgres cluster rebuild_count,, postgresql.commits,rate,,transaction,second,The number of transactions that have been committed in this database. This metric is tagged with db.,0,postgres,commits,, postgresql.conflicts.bufferpin,count,,query,,Number of queries in this database that have been canceled due to pinned buffers. Buffer pin conflicts will occur when the walreceiver process tries to apply a buffer cleanup like HOT chain pruning. This require a complete lock of the buffer and any query pinning the buffer will conflict with the cleaning. This metric is tagged with db.,-1,postgres,cfl bufferpin,, postgresql.conflicts.deadlock,count,,query,,"Number of queries in this database that have been canceled due to deadlocks. Deadlock conflicts will happen when the walreceiver tries to apply a buffer like HOT chain pruning. If the conflict takes more than deadlock_timeout seconds, a deadlock check will be triggered and conflicting queries will be canceled until the buffer is unpinned. This metric is tagged with db.",-1,postgres,cfl deadlock,, postgresql.conflicts.lock,count,,query,,Number of queries in this database that have been canceled due to lock timeouts. This will occur when the walreceiver process tries to apply a change requiring an ACCESS EXCLUSIVE lock while a query on the replica is reading the table. The conflicting query will be killed after waiting up to max_standby_streaming_delay seconds. This metric is tagged with db.,-1,postgres,cfl lock,, postgresql.conflicts.snapshot,count,,query,,"Number of queries in this database that have been canceled due to old snapshots. Snapshot conflict will occur when a VACUUM is replayed, removing tuples currently read on a standby. This metric is tagged with db.",-1,postgres,cfl snapshot,, postgresql.conflicts.tablespace,count,,query,,Number of queries in this database that have been canceled due to dropped tablespaces. This will occur when a temp_tablespace is dropped while being used on a standby. This metric is tagged with db.,-1,postgres,cfl tablespace,, postgresql.connections,gauge,,connection,,The number of active connections to this database.,0,postgres,conns,, postgresql.connections_by_process,gauge,,connection,,"The number of active connections to this database, broken down by process-level attributes. This metric is tagged with state, application, user, and db. (DBM only)",0,postgres,conns,, postgresql.control.checkpoint_delay,gauge,,second,,The time since the last checkpoint.,0,postgres,control checkpoint,, postgresql.control.checkpoint_delay_bytes,gauge,,byte,,The amount of WAL bytes written since the last checkpoint.,0,postgres,control checkpoint byte,, postgresql.control.redo_delay_bytes,gauge,,byte,,The amount of WAL bytes written since the last redo point.,0,postgres,control redo byte,, postgresql.control.timeline_id,gauge,,,,The current timeline id.,0,postgres,control tid,, postgresql.create_index.blocks_done,gauge,,,,"Number of blocks already processed in the current phase. Only available with PostgreSQL 12 and newer. This metric is tagged with db, table, index, command, phase.",0,postgres,postgres index blocks done,, postgresql.create_index.blocks_total,gauge,,,,"Total number of blocks to be processed in the current phase. Only available with PostgreSQL 12 and newer. This metric is tagged with db, table, index, command, phase.",0,postgres,postgres index blocks total,, postgresql.create_index.lockers_done,gauge,,,,"Number of lockers already waited for. Only available with PostgreSQL 12 and newer. This metric is tagged with db, table, index, command, phase.",0,postgres,postgres index lockers done,, postgresql.create_index.lockers_total,gauge,,,,"Total number of lockers to wait for, when applicable. Only available with PostgreSQL 12 and newer. This metric is tagged with db, table, index, command, phase.",0,postgres,postgres index lockers total,, postgresql.create_index.partitions_done,gauge,,,,"When creating an index on a partitioned table, this column is set to the number of partitions on which the index has been created. This field is 0 during a REINDEX. Only available with PostgreSQL 12 and newer. This metric is tagged with db, table, index, command, phase.",0,postgres,postgres index partitions done,, postgresql.create_index.partitions_total,gauge,,,,"When creating an index on a partitioned table, this column is set to the total number of partitions on which the index is to be created. This field is 0 during a REINDEX. Only available with PostgreSQL 12 and newer. This metric is tagged with db, table, index, command, phase.",0,postgres,postgres index partitions total,, postgresql.create_index.tuples_done,gauge,,,,"Number of tuples already processed in the current phase. Only available with PostgreSQL 12 and newer. This metric is tagged with db, table, index, command, phase.",0,postgres,postgres index tuples done,, postgresql.create_index.tuples_total,gauge,,,,"Total number of tuples to be processed in the current phase. Only available with PostgreSQL 12 and newer. This metric is tagged with db, table, index, command, phase.",0,postgres,postgres index tuples total,, postgresql.database_connections,gauge,,connection,,The number of connections being made to this database instance as a fraction of the maximum number of allowed connections per logical database.,0,postgres,db conns,, postgresql.database_size,gauge,,byte,,The disk space used by this database. This metric is tagged with db.,0,postgres,db size,, postgresql.db.count,gauge,,item,,The number of available databases.,0,postgres,db cnt,, postgresql.dead_rows,gauge,,row,,"Enabled with `relations`. The estimated number of dead rows. This metric is tagged with db, schema, table.",0,postgres,dead rows,, postgresql.deadlocks,rate,,lock,second,The rate of deadlocks detected in this database. This metric is tagged with db.,-1,postgres,deadlocks,, postgresql.deadlocks.count,count,,lock,,The number of deadlocks detected in this database. This metric is tagged with db.,-1,postgres,deadlocks.count,, postgresql.disk_read,rate,,block,second,The number of disk blocks read in this database. This metric is tagged with db.,0,postgres,disk read,, postgresql.function.calls,rate,,,,"Enabled with `collect_function_metrics`. The number of calls made to a function. This metric is tagged with db, schema, function.",0,postgres,postgres_function_calls,, postgresql.function.self_time,rate,,,,"Enabled with `collect_function_metrics`. Total time spent in this function itself, not including other functions called by it. This metric is tagged with db, schema, function.",0,postgres,postgres_function_self_time,, postgresql.function.total_time,rate,,,,"Enabled with `collect_function_metrics`. Total time spent in this function and all other functions called by it. This metric is tagged with db, schema, function.",0,postgres,postgres_function_total_time,, postgresql.heap_blocks_hit,gauge,,hit,second,"Enabled with `relations`. The number of buffer hits in this table. This metric is tagged with db, schema, table.",0,postgres,heap blks hit,, postgresql.heap_blocks_read,gauge,,block,second,"Enabled with `relations`. The number of disk blocks read from this table. This metric is tagged with db, schema, table.",0,postgres,heap blks read,, postgresql.index.index_blocks_hit,gauge,,hit,second,"Enabled with `relations`. The number of buffer hits for a specific index. This metric is tagged with db, schema, table, index.",0,postgres,index blks hit,, postgresql.index.index_blocks_read,gauge,,block,second,"Enabled with `relations`. The number of disk blocks for a specific index. This metric is tagged with db, schema, table, index.",0,postgres,index blks read,, postgresql.index_bloat,gauge,,percent,,"Enabled with `collect_bloat_metrics`. The estimated percentage of index bloat. This metric is tagged with db, schema, table, index.",0,postgres,ibloat,, postgresql.index_blocks_hit,gauge,,hit,second,"Enabled with `relations`. The number of buffer hits in all indexes on this table. This metric is tagged with db, schema, table.",0,postgres,idx blks hit,, postgresql.index_blocks_read,gauge,,block,second,"Enabled with `relations`. The number of disk blocks read from all indexes on this table. This metric is tagged with db, schema, table.",0,postgres,idx blks read,, postgresql.index_rel_rows_fetched,gauge,,row,second,"Enabled with `relations`. The number of live rows fetched by index scans. This metric is tagged with db, schema, table.",0,postgres,idx rows fetch,, postgresql.index_rel_scans,gauge,,scan,second,"Enabled with `relations`. The overall number of index scans initiated on this table. This metric is tagged with db, schema, table.",0,postgres,idx scans,, postgresql.index_rows_fetched,gauge,,row,second,"Enabled with `relations`. The number of live rows fetched by index scans. This metric is tagged with db, schema, table, index.",0,postgres,idx rows fetch,, postgresql.index_rows_read,gauge,,row,second,"Enabled with `relations`. The number of index entries returned by scans on this index. This metric is tagged with db, schema, table, index.",0,postgres,idx rows read,, postgresql.index_scans,gauge,,scan,second,"Enabled with `relations`. The number of index scans initiated on this table. This metric is tagged with db, schema, table, index",0,postgres,idx scans,, postgresql.index_size,gauge,,byte,,"Enabled with `relations`. The total disk space used by indexes attached to the specified table. This metric is tagged with db, schema, table.",0,postgres,idx size,, postgresql.individual_index_size,gauge,,byte,,"The disk space used by a specified index. This metric is tagged with db, schema, table, index.",0,postgres,idx size,, postgresql.io.evictions,count,,millisecond,,"The number of times a block has been written out from a shared or local buffer in order to make it available for another use. This metric is tagged with backend_type, context, object. Only available with PostgreSQL 16 and newer. (DBM only)",0,postgres,io evictions,, postgresql.io.extend_time,count,,millisecond,,"The time spent in extend operations (if track_io_timing is enabled, otherwise zero). This metric is tagged with backend_type, context, object. Only available with PostgreSQL 16 and newer. (DBM only)",0,postgres,io extend time,, postgresql.io.extends,count,,,,"The number of relation extend operations. This metric is tagged with backend_type, context, object. Only available with PostgreSQL 16 and newer. (DBM only)",0,postgres,io extends,, postgresql.io.fsync_time,count,,millisecond,,"The time spent in fsync operations (if track_io_timing is enabled, otherwise zero). This metric is tagged with backend_type, context, object. Only available with PostgreSQL 16 and newer. (DBM only)",0,postgres,io fsync time,, postgresql.io.fsyncs,count,,,,"The number of fsync calls. This metric is tagged with backend_type, context, object. Only available with PostgreSQL 16 and newer. (DBM only)",0,postgres,io fsyncs,, postgresql.io.hits,count,,millisecond,,"The number of times a desired block was found in a shared buffer. This metric is tagged with backend_type, context, object. Only available with PostgreSQL 16 and newer. (DBM only)",0,postgres,io hits,, postgresql.io.read_time,count,,millisecond,,"The time spent in read operations (if track_io_timing is enabled, otherwise zero). This metric is tagged with backend_type, context, object. Only available with PostgreSQL 16 and newer. (DBM only)",0,postgres,io read time,, postgresql.io.reads,count,,,,"The number of read operations. This metric is tagged with backend_type, context, object. Only available with PostgreSQL 16 and newer. (DBM only)",0,postgres,io reads,, postgresql.io.write_time,count,,millisecond,,"The time spent in write operations (if track_io_timing is enabled, otherwise zero). This metric is tagged with backend_type, context, object. Only available with PostgreSQL 16 and newer. (DBM only)",0,postgres,io write time,, postgresql.io.writes,count,,,,"The number of write operations. This metric is tagged with backend_type, context, object. Only available with PostgreSQL 16 and newer. (DBM only)",0,postgres,io writes,, postgresql.last_analyze_age,gauge,,second,,"Last time at which this table was manually analyzed. This metric is tagged with db, schema, table.",0,postgres,age analyze,, postgresql.last_autoanalyze_age,gauge,,second,,"Last time at which this table was analyzed by the autovacuum daemon. This metric is tagged with db, schema, table.",0,postgres,age autoanalyze,, postgresql.last_autovacuum_age,gauge,,second,,"Last time at which this table was vacuumed by the autovacuum daemon. This metric is tagged with db, schema, table.",0,postgres,age autovacuum,, postgresql.last_vacuum_age,gauge,,second,,"Last time at which this table was manually vacuumed (not counting VACUUM FULL). This metric is tagged with db, schema, table.",0,postgres,age vacuum,, postgresql.live_rows,gauge,,row,,"Enabled with `relations`. The estimated number of live rows. This metric is tagged with db, schema, table.",0,postgres,live rows,, postgresql.locks,gauge,,lock,,"Enabled with `relations`. The number of locks active for this database. This metric is tagged with db, lock_mode, lock_type, schema, table, granted.",0,postgres,locks,, postgresql.locks.idle_in_transaction_age,gauge,,second,,Transaction age of idle in transaction sessions holding exclusive relation locks.,0,postgres,idle tx age with locks,,"pid,db,session_user,app,client_hostname,lock_mode,relation,relation_owner" postgresql.max_connections,gauge,,connection,, The maximum number of client connections allowed to this database.,0,postgres,max conns,, postgresql.percent_database_usage_connections,gauge,,fraction,,The number of connections being made to this database as a fraction of the maximum number of allowed connections per logical database,0,postgres,pct db usg conns,, postgresql.percent_usage_connections,gauge,,fraction,,The number of connections to this database as a fraction of the maximum number of allowed connections.,0,postgres,pct usg conns,, postgresql.pg_stat_statements.dealloc,count,,,,The number of times pg_stat_statements had to evict least executed queries because pg_stat_statements.max was reached.,-1,postgres,pgss dealloc,, postgresql.queries.blk_read_time,count,,nanosecond,,"Total time spent reading blocks per query_signature, db, and user. (DBM only)",0,postgres, postgres queries block read time,, postgresql.queries.blk_write_time,count,,nanosecond,,"Total time spent writing blocks per query_signature, db, and user. (DBM only)",0,postgres, postgres queries block write time,, postgresql.queries.count,count,,query,,"The total query execution count per query_signature, db, and user. (DBM only)",0,postgres,postgres queries count,, postgresql.queries.duration.max,gauge,,nanosecond,,"The age of the longest executed query per user, db and app. (DBM only)",0,postgres,postgres queries duration max,, postgresql.queries.duration.sum,gauge,,nanosecond,,"The sum of the age of all executed queries per user, db and app. (DBM only)",0,postgres,postgres queries duration sum,, postgresql.queries.local_blks_dirtied,count,,block,,"Total number of local blocks dirtied per query_signature, db, and user. (DBM only)",0,postgres,postgres queries local blocks dirtied,, postgresql.queries.local_blks_hit,count,,block,,"Total number of local block cache hits per query_signature, db, and user. (DBM only)",0,postgres,postgres queries local blocks hit,, postgresql.queries.local_blks_read,count,,block,,"Total number of local blocks read per query_signature, db, and user. (DBM only)",0,postgres,postgres queries local blocks read,, postgresql.queries.local_blks_written,count,,block,,"Total number of local blocks written per query_signature, db, and user. (DBM only)",0,postgres,postgres queries local blocks written,, postgresql.queries.rows,count,,row,,"The total number of rows retrieved or affected per query_signature, db, and user. (DBM only)",0,postgres,postgres queries rows,, postgresql.queries.shared_blks_dirtied,count,,block,,"Total number of shared blocks dirtied per query_signature, db, and user. (DBM only)",0,postgres,postgres queries shared blocks dirtied,, postgresql.queries.shared_blks_hit,count,,block,,"Total number of shared block cache hits per query_signature, db, and user. (DBM only)",0,postgres,postgres queries shared blocks hit,, postgresql.queries.shared_blks_read,count,,block,,"Total number of shared blocks read per query_signature, db, and user. (DBM only)",0,postgres,postgres queries shared blocks read,, postgresql.queries.shared_blks_written,count,,block,,"Total number of shared blocks written per query_signature, db, and user. (DBM only)",0,postgres,postgres queries shared blocks written,, postgresql.queries.temp_blks_read,count,,block,,"Total number of temp blocks read per query_signature, db, and user. (DBM only)",0,postgres,postgres queries temp blocks read,, postgresql.queries.temp_blks_written,count,,block,,"Total number of temp blocks written per query_signature, db, and user. (DBM only)",0,postgres,postgres queries temp blocks written,, postgresql.queries.time,count,,nanosecond,,"The total query execution time per query_signature, db, and user. (DBM only)",0,postgres,postgres queries time,, postgresql.recovery_prefetch.block_distance,gauge,,block,,How many blocks ahead the prefetcher is looking.,0,postgres,prefetch block_distance,, postgresql.recovery_prefetch.hit,count,,block,,Number of blocks not prefetched because they were already in the buffer pool.,0,postgres,prefetch hit,, postgresql.recovery_prefetch.io_depth,gauge,,,,How many prefetches have been initiated but are not yet known to have completed.,0,postgres,prefetch io_depth,, postgresql.recovery_prefetch.prefetch,count,,block,,Number of blocks prefetched because they were not in the buffer pool.,0,postgres,prefetch prefetch,, postgresql.recovery_prefetch.skip_fpw,count,,block,,Number of blocks not prefetched because a full page image was included in the WAL.,0,postgres,prefetch skip_fpw,, postgresql.recovery_prefetch.skip_init,count,,block,,Number of blocks not prefetched because they would be zero-initialized.,0,postgres,prefetch skip_init,, postgresql.recovery_prefetch.skip_new,count,,block,,Number of blocks not prefetched because they didn't exist yet.,0,postgres,prefetch skip_new,, postgresql.recovery_prefetch.skip_rep,count,,block,,Number of blocks not prefetched because they were already recently prefetched.,0,postgres,prefetch skip_rep,, postgresql.recovery_prefetch.wal_distance,gauge,,byte,,How many bytes ahead the prefetcher is looking.,0,postgres,prefetch wal_distance,, postgresql.relation.all_visible,gauge,,,,"Number of pages that are marked as all visible in the table's visibility map. This is only an estimation used by the planner and is updated by VACUUM or ANALYZE. This metric is tagged with db, schema, table, partition_of",0,postgres,relation all_visible,, postgresql.relation.pages,gauge,,,,"Size of a table in pages (1 page == 8KB by default). This is only an estimation used by the planner and is updated by VACUUM or ANALYZE. This metric is tagged with db, schema, table, partition_of.",0,postgres,relation pages,, postgresql.relation.tuples,gauge,,,,"Number of live rows in the table. This is only an estimation used by the planner and is updated by VACUUM or ANALYZE. If the table has never been vacuumed or analyze, -1 will be reported. This metric is tagged with db, schema, table, partition_of",0,postgres,relation tuples,, postgresql.relation.xmin,gauge,,,,"Transaction ID of the latest relation's modification in pg_class. This metric is tagged with db, schema, table",0,postgres,relation xmin,, postgresql.relation_size,gauge,,byte,,"The disk space used by the specified table. TOAST data, indexes, free space map and visibility map are not included. This metric is tagged with db, schema, table.",0,postgres,relation size,, postgresql.replication.backend_xmin_age,gauge,,,,The age of the standby server's xmin horizon (relative to latest stable xid) reported by hot_standby_feedback.,-1,postgres,repl backend xmin,, postgresql.replication.flush_lsn_delay,gauge,,byte,,The delay in bytes between the current WAL position and the last location flushed by the standby server,-1,postgres,flush delay,, postgresql.replication.replay_lsn_delay,gauge,,byte,,The delay in bytes between the current WAL position and the last location replayed by the standby server,-1,postgres,replay delay,, postgresql.replication.sent_lsn_delay,gauge,,byte,,The delay in bytes between the current WAL position and the last location sent by the standby server,-1,postgres,sent delay,, postgresql.replication.wal_flush_lag,gauge,,second,,Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written and flushed it (but not yet applied it). This can be used to gauge the delay that synchronous_commit level on incurred while committing if this server was configured as a synchronous standby. Only available with postgresql 10 and newer.,-1,postgres,repl flush lag,, postgresql.replication.wal_replay_lag,gauge,,second,,"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written, flushed and applied it. This can be used to gauge the delay that synchronous_commit level remote_apply incurred while committing if this server was configured as a synchronous standby. Only available with postgresql 10 and newer.",-1,postgres,repl replay lag,, postgresql.replication.wal_write_lag,gauge,,second,,Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written it (but not yet flushed it or applied it). This can be used to gauge the delay that synchronous_commit level remote_write incurred while committing if this server was configured as a synchronous standby. Only available with postgresql 10 and newer.,-1,postgres,repl write lag,, postgresql.replication.write_lsn_delay,gauge,,byte,,The delay in bytes between the current WAL position and the last location written by the standby server,-1,postgres,write delay,, postgresql.replication_delay,gauge,,second,,The current replication delay in seconds. Only available with postgresql 9.1 and newer,-1,postgres,repl delay,, postgresql.replication_delay_bytes,gauge,,byte,,The current replication delay in bytes. Only available with postgresql 9.2 and newer,-1,postgres,repl delay bytes,, postgresql.replication_slot.catalog_xmin_age,gauge,,transaction,,"The age of the oldest transaction affecting the system catalogs that this slot needs the database to retain. VACUUM cannot remove catalog tuples deleted by any later transaction. This metric is tagged with slot_name, slot_type, slot_persistence, slot_state.",-1,postgres,repslot catalog_xmin,, postgresql.replication_slot.confirmed_flush_delay_bytes,gauge,,byte,,"The delay in bytes between the current WAL position and last position this slot's consumer confirmed. This is only available for logical replication slots. This metric is tagged with slot_name, slot_type, slot_persistence, slot_state.",-1,postgres,repslot flush,, postgresql.replication_slot.restart_delay_bytes,gauge,,byte,,"The amount of WAL bytes that the consumer of this slot may require and won't be automatically removed during checkpoints unless it exceeds max_slot_wal_keep_size parameter. Nothing is reported if there's no WAL reservation for this slot. This metric is tagged with slot_name, slot_type, slot_persistence, slot_state.",-1,postgres,repslot restart,, postgresql.replication_slot.spill_bytes,count,,byte,,"Amount of decoded transaction data spilled to disk while performing decoding of changes from WAL for this slot. This and other spill counters can be used to gauge the I/O occurred during logical decoding and allow tuning logical_decoding_work_mem. Extracted from pg_stat_replication_slots. Only available with PostgreSQL 14 and newer. This metric is tagged with slot_name, slot_type, slot_state.",-1,postgres,repslot spill_byte,, postgresql.replication_slot.spill_count,count,,,,"Number of times transactions were spilled to disk while decoding changes from WAL for this slot. This counter is incremented each time a transaction is spilled, and the same transaction may be spilled multiple times. Extracted from pg_stat_replication_slots. Only available with PostgreSQL 14 and newer. This metric is tagged with slot_name, slot_type, slot_state.",-1,postgres,repslot spill_cnt,, postgresql.replication_slot.spill_txns,count,,transaction,,"Number of transactions spilled to disk once the memory used by logical decoding to decode changes from WAL has exceeded logical_decoding_work_mem. The counter gets incremented for both top-level transactions and subtransactions. Extracted from pg_stat_replication_slots. Only available with PostgreSQL 14 and newer. This metric is tagged with slot_name, slot_type, slot_state.",-1,postgres,repslot spill_txn,, postgresql.replication_slot.stream_bytes,count,,byte,,"Amount of transaction data decoded for streaming in-progress transactions to the decoding output plugin while decoding changes from WAL for this slot. Extracted from pg_stat_replication_slots. Only available with PostgreSQL 14 and newer. This metric is tagged with slot_name, slot_type, slot_state.",-1,postgres,repslot stream_bytes,, postgresql.replication_slot.stream_count,count,,,,"Number of times in-progress transactions were streamed to the decoding output plugin while decoding changes from WAL for this slot. Extracted from pg_stat_replication_slots. Only available with PostgreSQL 14 and newer. This metric is tagged with slot_name, slot_type, slot_state.",-1,postgres,repslot stream_count,, postgresql.replication_slot.stream_txns,count,,transaction,,"Number of in-progress transactions streamed to the decoding output plugin after the memory used by logical decoding to decode changes from WAL for this slot has exceeded logical_decoding_work_mem. Extracted from pg_stat_replication_slots. Only available with PostgreSQL 14 and newer. This metric is tagged with slot_name, slot_type, slot_state.",-1,postgres,repslot stream_txn,, postgresql.replication_slot.total_bytes,count,,byte,,"Amount of transaction data decoded for sending transactions to the decoding output plugin while decoding changes from WAL for this slot. Extracted from pg_stat_replication_slots. Only available with PostgreSQL 14 and newer. This metric is tagged with slot_name, slot_type, slot_state.",0,postgres,repslot total_bytes,, postgresql.replication_slot.total_txns,count,,transaction,,"Number of decoded transactions sent to the decoding output plugin for this slot. Extracted from pg_stat_replication_slots. Only available with PostgreSQL 14 and newer. This metric is tagged with slot_name, slot_type, slot_state.",0,postgres,repslot total_txn,, postgresql.replication_slot.xmin_age,gauge,,transaction,,"The age of the oldest transaction that this slot needs the database to retain. Only physical replication slot will have a xmin. Orphaned replication slot (no consumer or consumer is not connected) will prevent the xmin horizon from progressing. This metric is tagged with slot_name, slot_type, slot_persistence, slot_state.",-1,postgres,repslot xmin,, postgresql.rollbacks,rate,,transaction,second,The number of transactions that have been rolled back in this database. This metric is tagged with db.,-1,postgres,rollbacks,, postgresql.rows_deleted,rate,,row,second,Enabled with `relations`. The number of rows deleted by queries in this database. This metric is tagged with db.,0,postgres,rows del,, postgresql.rows_fetched,rate,,row,second,The number of rows fetched by queries in this database. This metric is tagged with db.,0,postgres,rows fetch,, postgresql.rows_hot_updated,rate,,row,second,"Enabled with `relations`. The number of rows HOT updated, meaning no separate index update was needed. This metric is tagged with db, schema, table.",0,postgres,rows hot updated,, postgresql.rows_inserted,rate,,row,second,Enabled with `relations`. The number of rows inserted by queries in this database. This metric is tagged with db.,0,postgres,rows insrt,, postgresql.rows_returned,rate,,row,second,The number of rows returned by queries in this database. This metric is tagged with db.,0,postgres,rows ret,, postgresql.rows_updated,rate,,row,second,Enabled with `relations`. The number of rows updated by queries in this database. This metric is tagged with db.,0,postgres,rows updt,, postgresql.running,gauge,,,,The number of instances running.,0,postgres,running,, postgresql.seq_rows_read,gauge,,row,second,"Enabled with `relations`. The number of live rows fetched by sequential scans. This metric is tagged with db, schema, table.",0,postgres,seq rows rd,, postgresql.seq_scans,gauge,,scan,second,"Enabled with `relations`. The number of sequential scans initiated on this table. This metric is tagged with db, schema, table.",0,postgres,seq scans,, postgresql.sessions.abandoned,count,,session,,Number of database sessions to this database that were terminated because connection to the client was lost. This metric is tagged with db.,-1,postgres,postgres sessions abandoned,, postgresql.sessions.active_time,count,,millisecond,,"Time spent executing SQL statements in this database, in milliseconds (this corresponds to the states active and fastpath function call in pg_stat_activity). This metric is tagged with db.",0,postgres,postgres active time,, postgresql.sessions.count,count,,session,,Total number of sessions established to this database. This metric is tagged with db.,0,postgres,postgres sessions,, postgresql.sessions.fatal,count,,session,,Number of database sessions to this database that were terminated by fatal errors. This metric is tagged with db.,-1,postgres,postgres sessions fatal,, postgresql.sessions.idle_in_transaction_time,count,,millisecond,,"Time spent idling while in a transaction in this database, in milliseconds (this corresponds to the states idle in transaction and idle in transaction (aborted) in pg_stat_activity). This metric is tagged with db.",0,postgres,postgres idle time,, postgresql.sessions.killed,count,,session,,Number of database sessions to this database that were terminated by operator intervention. This metric is tagged with db.,-1,postgres,postgres sessions killed,, postgresql.sessions.session_time,count,,millisecond,,"Time spent by database sessions in this database, in milliseconds (note that statistics are only updated when the state of a session changes, so if sessions have been idle for a long time, this idle time won't be included). This metric is tagged with db.",0,postgres,postgres session time,, postgresql.slru.blks_exists,count,,block,,Number of blocks checked for existence for SLRU (simple least-recently-used) cache. Only CommitTs and MultiXactOffset caches are checking if blocks are already present on disk. This metric is tagged with slru_name.,0,postgres,postgres slru exists,, postgresql.slru.blks_hit,count,,block,,"Number of times disk blocks were found already in the SLRU (simple least-recently-used), so that a read was not necessary (this only includes hits in the SLRU, not the operating system's file system cache). This metric is tagged with slru_name.",0,postgres,postgres slru hit,, postgresql.slru.blks_read,count,,block,,"Number of disk blocks read for SLRU (simple least-recently-used) cache. SLRU caches are created with a fixed number of pages. When all pages are used, the least recently used block is dumped on disk to create space. Access to the evicted block will require data to be read from the disk and loaded back in an SLRU cache page, increasing the block read count. This metric is tagged with slru_name.",-1,postgres,postgres slru read,, postgresql.slru.blks_written,count,,block,,"Number of disk blocks written for SLRU (simple least-recently-used) cache. SLRU caches are created with a fixed number of pages. When all pages are used, the least recently used block is dumped on disk to create space. A block eviction doesn't necessarily generate disk write as the block could have been written in a previous eviction. This metric is tagged with slru_name.",-1,postgres,postgres slru written,, postgresql.slru.blks_zeroed,count,,block,,"Number of blocks zeroed during initializations of SLRU (simple least-recently-used) cache. SLRU caches are created with a fixed number of pages. For Subtrans, Xact and CommitTs caches, the global transactionId is used to get the page number. Thus, it will increase with the transaction throughput. This metric is tagged with slru_name.",0,postgres,postgres slru zeroed,, postgresql.slru.flushes,count,,,,"Number of flush of dirty data for SLRU (simple least-recently-used) cache. CommitTs, MultiXact, Subtrans, Xact caches flush will happen during checkpoint. MultiXact cache flush may happen during vacuum. This metric is tagged with slru_name.",0,postgres,postgres slru flushes,, postgresql.slru.truncates,count,,,,"Number of truncates for SLRU (simple least-recently-used) cache. For CommitTs, Xact and MultiXact, truncates will happen when the frozenID progresses. For Subtrans, a truncate can occur during restartpoint and a checkpoint. This metric is tagged with slru_name.",0,postgres,postgres slru truncates,, postgresql.snapshot.xip_count,gauge,,,,Report the number of active transactions based on pg_snapshot_xip(pg_current_snapshot()).,0,postgres,snapshot xip,, postgresql.snapshot.xmax,gauge,,,,Report the next transaction ID that will be assigned based on pg_snapshot_xmax(pg_current_snapshot()).,0,postgres,snapshot xmax,, postgresql.snapshot.xmin,gauge,,,,"Report the lowest transaction ID still active based on pg_snapshot_xmin(pg_current_snapshot()). All transaction IDs less than xmin are either committed and visible, or rolled back and dead.",0,postgres,snapshot xmin,, postgresql.subscription.apply_error,count,,,,Number of errors that occurred while applying changes. Extracted from pg_stat_subscription_stats. Only available on PostgreSQL 15 or higher. This metric is tagged with subscription_name.,-1,postgres,sub apply_error,, postgresql.subscription.last_msg_receipt_age,gauge,,second,,Age of receipt time of the last message received from origin WAL sender. Extracted from pg_stat_subscription. Only available on PostgreSQL 12 or higher. This metric is tagged with subscription_name.,-1,postgres,sub last_received,, postgresql.subscription.last_msg_send_age,gauge,,second,,Age of last message received from origin WAL sender. Extracted from pg_stat_subscription. Only available on PostgreSQL 12 or higher. This metric is tagged with subscription_name.,-1,postgres,sub last_send,, postgresql.subscription.latest_end_age,gauge,,second,,Age of last write-ahead log location reported to origin WAL sender. Extracted from pg_stat_subscription. Only available on PostgreSQL 12 or higher. This metric is tagged with subscription_name.,-1,postgres,sub latest_end,, postgresql.subscription.state,gauge,,,,"State of a subscription per relation and subscription. Extracted from pg_subscription_rel. Only available on PostgreSQL 14 or higher. This metric is tagged with subscription_name, relation, state.",0,postgres,sub state,, postgresql.subscription.sync_error,count,,,,Number of errors that occurred during the initial table synchronization. Extracted from pg_stat_subscription_stats. Only available on PostgreSQL 15 or higher. This metric is tagged with subscription_name.,-1,postgres,sub sync_error,, postgresql.table.count,gauge,,table,,"The number of user tables in this database. This metric is tagged with db, schema.",0,postgres,tbl count,, postgresql.table_bloat,gauge,,percent,,"Enabled with `collect_bloat_metrics`. The estimated percentage of table bloat. This metric is tagged with db, schema, table.",0,postgres,tbloat,, postgresql.table_size,gauge,,byte,,"Enabled with `relations`. The disk space used by the specified table with TOAST data. Free space map and visibility map are not included. This metric is tagged with db, schema, table.",0,postgres,tbl size,, postgresql.temp_bytes,rate,,byte,second,The amount of data written to temporary files by queries in this database. This metric is tagged with db.,0,postgres,temp bytes,, postgresql.temp_files,rate,,file,second,The number of temporary files created by queries in this database. This metric is tagged with db.,0,postgres,temp files,, postgresql.toast.autovacuumed,count,,,,"Enabled with `relations`. The number of times the toast table of a relation has been autovacuumed. This metric is tagged with db, schema, table.",0,postgres,toast autovacuumed,, postgresql.toast.dead_rows,gauge,,,,"Enabled with `relations`. The number of dead rows on the toast table of a relation. This metric is tagged with db, schema, table.",0,postgres,toast dead rows,, postgresql.toast.index_scans,count,,,,"Enabled with `relations`. The number of index scans done on the toast table of a relation. This metric is tagged with db, schema, table.",0,postgres,toast idx scans,, postgresql.toast.last_autovacuum_age,gauge,,second,,"Last time at which the toast table of this table was vacuumed by the autovacuum daemon. This metric is tagged with db, schema, table.",0,postgres,toast age autovacuum,, postgresql.toast.last_vacuum_age,gauge,,second,,"Last time at which the toast table of this table was manually vacuumed (not counting VACUUM FULL). This metric is tagged with db, schema, table.",0,postgres,toast age vacuum,, postgresql.toast.live_rows,gauge,,,,"Enabled with `relations`. The number of live rows on the toast table of a relation. This metric is tagged with db, schema, table.",0,postgres,toast live rows,, postgresql.toast.rows_deleted,count,,,,"Enabled with `relations`. The number of deleted rows on the toast table of a relation. This metric is tagged with db, schema, table.",0,postgres,toast rows deleted,, postgresql.toast.rows_fetched,count,,,,"Enabled with `relations`. The number of fetched rows on the toast table of a relation. This metric is tagged with db, schema, table.",0,postgres,toast rows fetched,, postgresql.toast.rows_inserted,count,,,,"Enabled with `relations`. The number of inserted rows on the toast table of a relation. This metric is tagged with db, schema, table.",0,postgres,toast rows inserted,, postgresql.toast.vacuumed,count,,,,"Enabled with `relations`. The number times the toast table of a relation has been vacuumed. This metric is tagged with db, schema, table.",0,postgres,toast vacuumed,, postgresql.toast_blocks_hit,gauge,,hit,second,"Enabled with `relations`. The number of buffer hits in this table's TOAST table. This metric is tagged with db, schema, table.",0,postgres,toast blks hit,, postgresql.toast_blocks_read,gauge,,block,second,"Enabled with `relations`. The number of disk blocks read from this table's TOAST table. This metric is tagged with db, schema, table.",0,postgres,toast blks read,, postgresql.toast_index_blocks_hit,gauge,,block,second,"Enabled with `relations`. The number of buffer hits in this table's TOAST table index. This metric is tagged with db, schema, table.",0,postgres,toast idx blks hit,, postgresql.toast_index_blocks_read,gauge,,block,second,"Enabled with `relations`. The number of disk blocks read from this table's TOAST table index. This metric is tagged with db, schema, table.",0,postgres,toast idx blks read,, postgresql.toast_size,gauge,,byte,,"The total disk space used by the toast table attached to the specified table. This metric is tagged with db, schema, table.",0,postgres,toast size,, postgresql.total_size,gauge,,byte,,"Enabled with `relations`. The total disk space used by the table, including indexes and TOAST data. This metric is tagged with db, schema, table.",0,postgres,tot size,, postgresql.transactions.duration.max,gauge,,nanosecond,,"The age of the longest running transaction per user, db and app. (DBM only)",0,postgres,postgres transactions duration max,, postgresql.transactions.duration.sum,gauge,,nanosecond,,"The sum of the age of all running transactions per user, db and app. (DBM only)",0,postgres,postgres transactions duration sum,, postgresql.transactions.idle_in_transaction,gauge,,transaction,,"Enabled with `collect_activity_metrics`. The number of 'idle in transaction' transactions in this database. This metric (by default) is tagged with db, app, user.",0,postgres,transactions idle_in_transaction,, postgresql.transactions.open,gauge,,transaction,,"Enabled with `collect_activity_metrics`. The number of open transactions in this database. This metric (by default) is tagged with db, app, user.",0,postgres,transactions open,, postgresql.uptime,gauge,,second,,The uptime of the server in seconds.,0,postgres,postgres uptime,, postgresql.vacuum.heap_blks_scanned,gauge,,block,,"Number of heap blocks scanned. Because the visibility map is used to optimize scans, some blocks will be skipped without inspection; skipped blocks are included in this total, so that this number will eventually become equal to heap_blks_total when the vacuum is complete. This counter only advances when the phase is scanning heap. This metric is tagged with db, table, phase.",0,postgres,postgres vacuum heap_scanned,, postgresql.vacuum.heap_blks_total,gauge,,block,,"Total number of heap blocks in the table. This number is reported as of the beginning of the scan; blocks added later will not be (and need not be) visited by this VACUUM. This metric is tagged with db, table, phase.",0,postgres,postgres vacuum heap_total,, postgresql.vacuum.heap_blks_vacuumed,gauge,,block,,"Number of heap blocks vacuumed. Unless the table has no indexes, this counter only advances when the phase is vacuuming heap. Blocks that contain no dead tuples are skipped, so the counter may sometimes skip forward in large increments. This metric is tagged with db, table, phase.",0,postgres,postgres vacuum heap_scanned,, postgresql.vacuum.index_vacuum_count,gauge,,block,,"Number of completed index vacuum cycles. This metric is tagged with db, table, phase.",0,postgres,postgres vacuum index_count,, postgresql.vacuum.max_dead_tuples,gauge,,,,"Number of dead tuples that we can store before needing to perform an index vacuum cycle, based on maintenance_work_mem. This metric is tagged with db, table, phase.",0,postgres,postgres vacuum max_dead,, postgresql.vacuum.num_dead_tuples,gauge,,,,"Number of dead tuples collected since the last index vacuum cycle. This metric is tagged with db, table, phase.",0,postgres,postgres vacuum num_dead,, postgresql.vacuumed,count,,,,"Enabled with `relations`. The number of times this table has been manually vacuumed. This metric is tagged with db, schema, table.",0,postgres,vac,, postgresql.waiting_queries,gauge,,,,"Enabled with `collect_activity_metrics`. The number of waiting queries in this database. This metric (by default) is tagged with db, app, user.",0,postgres,transactions waiting queries,, postgresql.wal.buffers_full,count,,,,"Number of times WAL data was written to disk because WAL buffers became full. WAL changes are stored in WAL buffers first. If the buffer is full, WAL insertions will be blocked until buffer is flushed. The size of this buffer is set by wal_buffers configuration. By default, it will use 3% of the shared_buffers value.",-1,postgres,postgres wal buffer full,, postgresql.wal.bytes,count,,byte,,Total amount of WAL generated in bytes.,0,postgres,postgres wal bytes,, postgresql.wal.full_page_images,count,,page,,Total number of WAL full page images generated. Full page write will happen when a block is modified for the first time after a checkpoint.,0,postgres,postgres wal fpi,, postgresql.wal.records,count,,record,,Total number of WAL records generated.,0,postgres,postgres wal records,, postgresql.wal.sync,count,,,,Number of times WAL files were synced to disk.,0,postgres,postgres wal sync,, postgresql.wal.sync_time,count,,millisecond,,"Total amount of time spent syncing WAL files to disk, in milliseconds (if track_wal_io_timing is enabled, fsync is on, and wal_sync_method is either fdatasync, fsync or fsync_writethrough, otherwise zero).",-1,postgres,postgres wal sync time,, postgresql.wal.write,count,,write,,Number of times WAL buffers were written out to disk.,0,postgres,postgres wal write,, postgresql.wal.write_time,count,,millisecond,,"Total amount of time spent writing WAL buffers to disk, in milliseconds (if track_wal_io_timing is enabled, otherwise zero).",-1,postgres,postgres wal write time,, postgresql.wal_age,gauge,,second,,Enabled with `collect_wal_metrics`. The age in seconds of the oldest WAL file.,0,postgres,wal age,, postgresql.wal_count,gauge,,,,The number WAL files on disk.,-1,postgres,wal count,, postgresql.wal_receiver.connected,gauge,,,,The status of the WAL receiver. This metric will be set to 1 with a 'status:disconnected' tag if the instance doesn't have a running WAL receiver. Otherwise it will use status value from pg_stat_wal_receiver. This metric is tagged with status.,0,postgres,wal receiver connected,, postgresql.wal_receiver.last_msg_receipt_age,gauge,,second,,Time since the reception of the last message from the WAL sender. This metric is tagged with status.,0,postgres,wal receiver receipt age,, postgresql.wal_receiver.last_msg_send_age,gauge,,second,,The age of the latest message's send time received from the WAL sender. This metric is tagged with status.,0,postgres,wal receiver send age,, postgresql.wal_receiver.latest_end_age,gauge,,second,,Time since the reception of the last message from the WAL sender with an WAL location update. This metric is tagged with status.,0,postgres,wal receiver latest end,, postgresql.wal_receiver.received_timeline,gauge,,,,"Timeline number of last write-ahead log location received and flushed to disk, the initial value of this field being the timeline number of the first log location used when WAL receiver is started. This metric is tagged with status.",0,postgres,wal receiver tli,, postgresql.wal_size,gauge,,byte,,The sum of all WAL files on disk.,-1,postgres,wal size,,