PostgreSQL的视图pg_stat_user_tables

2024-06-07 14:36

本文主要是介绍PostgreSQL的视图pg_stat_user_tables,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

PostgreSQL的视图pg_stat_user_tables

pg_stat_user_tables 是 PostgreSQL 中的一个系统视图,用于显示用户定义的表的统计信息。这些统计信息包括表的访问情况、修改情况以及很多其他的性能指标。这个视图为数据库管理员提供了丰富的数据,可以帮助他们进行表的监控和性能分析。

pg_stat_user_tables 视图的主要列和其含义

列名类型描述
relidOID表的对象标识符。
schemanamename表所在的模式。
relnamename表的名字。
seq_scanbigint序列扫描(全表扫描)的次数。
seq_tup_readbigint通过序列扫描读取的行数。
idx_scanbigint通过索引扫描读取的次数。
idx_tup_fetchbigint通过索引读取的行数。
n_tup_insbigint插入的行数。
n_tup_updbigint更新的行数。
n_tup_delbigint删除的行数。
n_tup_hot_updbigint使用 HOT(Heap-Only Tuple)更新的行数,这类更新不需要修改索引。
n_live_tupbigint表中当前活跃的(未删除)行数。
n_dead_tupbigint表中当前死行的数量,等待VACUUM清理。
n_mod_since_analyzebigint自最后一次ANALYZE以来插入、更新或删除的行数。
last_vacuumtimestamp最后一次手动执行VACUUM操作的时间。
last_autovacuumtimestamp最后一次自动执行VACUUM操作的时间。
last_analyzetimestamp最后一次手动执行ANALYZE操作的时间。
last_autoanalyzetimestamp最后一次自动执行ANALYZE操作的时间。
vacuum_countbigint执行的手动VACUUM操作次数。
autovacuum_countbigint执行的自动VACUUM操作次数。
analyze_countbigint执行的手动ANALYZE操作次数。
autoanalyze_countbigint执行的自动ANALYZE操作次数。

示例查询

显示所有用户表的基本统计信息
SELECT schemaname, relname, seq_scan, seq_tup_read, idx_scan, idx_tup_fetch, n_tup_ins, n_tup_upd, n_tup_del, n_live_tup, n_dead_tup 
FROM pg_stat_user_tables;
获取特定表的统计信息
SELECT * 
FROM pg_stat_user_tables 
WHERE schemaname = 'public' AND relname = 'your_table_name';
获取所有表的索引使用情况
SELECT schemaname, relname, idx_scan, idx_tup_fetch 
FROM pg_stat_user_tables 
WHERE idx_scan > 0;
获取表的更新/插入/删除操作统计信息
SELECT schemaname, relname, n_tup_ins AS inserts, n_tup_upd AS updates, n_tup_del AS deletes 
FROM pg_stat_user_tables 
ORDER BY inserts DESC;
查看需要进行 VACUUM 的表(死行数较多)
SELECT schemaname, relname, n_live_tup, n_dead_tup 
FROM pg_stat_user_tables 
WHERE n_dead_tup > 1000;  -- 此处条件可根据实际需求调整

统计信息的维护

常规的 VACUUMANALYZE 操作可以帮助维护 pg_stat_user_tables中的统计信息:

  • 手动执行 VACUUM:

    VACUUM FULL your_table_name;
    
  • 手动执行 ANALYZE:

    ANALYZE your_table_name;
    
  • 自动执行 VACUUM 和 ANALYZE: PostgreSQL 具有自动执行 VACUUMANALYZE 的功能,可以通过配置参数调整这些操作的频率和策略。

通过 pg_stat_user_tables 视图,数据库管理员可以详细了解表的使用情况和性能指标,从而更好地进行数据库的性能调优和维护。

这篇关于PostgreSQL的视图pg_stat_user_tables的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1039449

相关文章

数据视图(AngularJS)

<!DOCTYPE html><html ng-app="home.controller"><head><meta charset="utf-8"><title>数据视图</title><link href="page/common/css/bootstrap.min.css" rel="stylesheet"><script src="page/common/js/angular.js"></

PostgreSQL核心功能特性与使用领域及场景分析

PostgreSQL有什么优点? 开源和免费 PostgreSQL是一个开源的数据库管理系统,可以免费使用和修改。这降低了企业的成本,并为开发者提供了一个活跃的社区和丰富的资源。 高度兼容 PostgreSQL支持多种操作系统(如Linux、Windows、macOS等)和编程语言(如C、C++、Java、Python、Ruby等),并提供了多种接口(如JDBC、ODBC、ADO.NET等

PostgreSQL中的多版本并发控制(MVCC)深入解析

引言 PostgreSQL作为一款强大的开源关系数据库管理系统,以其高性能、高可靠性和丰富的功能特性而广受欢迎。在并发控制方面,PostgreSQL采用了多版本并发控制(MVCC)机制,该机制为数据库提供了高效的数据访问和更新能力,同时保证了数据的一致性和隔离性。本文将深入解析PostgreSQL中的MVCC功能,探讨其工作原理、使用场景,并通过具体SQL示例来展示其在实际应用中的表现。 一、

PostgreSQL入门介绍

一、PostgreSQL 背景及主要功能介绍 1、背景 PG数据库,全称为PostgreSQL数据库,是一款开源的关系型数据库管理系统(RDBMS)。其起源可以追溯到20世纪80年代末和90年代初,由加拿大的计算机科学家Michael Stonebraker及其团队在加州大学伯克利分校启动。该项目旨在创建一个强大的、开源的关系型数据库管理系统,作为早期关系型数据库系统Ingres的继承者。Mi

12C 新特性,MOVE DATAFILE 在线移动 包括system, 附带改名 NID ,cdb_data_files视图坏了

ALTER DATABASE MOVE DATAFILE  可以改名 可以move file,全部一个命令。 resue 可以重用,keep好像不生效!!! system照移动不误-------- SQL> select file_name, status, online_status from dba_data_files where tablespace_name='SYSTEM'

架构全景视图

文章目录 一、战略规划二、业务架构Business Architecture2.1业务架构定义2.2 业务架构组成2.3 TOGAF2.3.1 Archimate建模(重要) 三、数据架构Data Architecture3.1 数据架构定义3.2 数据架构组成 四、应用架构Application Architecture4.1 应用架构定义4.2 应用架构组成 五、技术架构Technol

2409wtl,切换视图

原文 介绍 我从一个基于SDI(单文档接口)WTL向导的应用开始,添加了一些从控件继承的窗口和一些对话框窗口(表单视图),然后才发现我必须,使SDI框架动态加载和卸载子窗口. 本文演示了两个可用来完成的技术:在SDI应用中的视图间动态切换.这是我使用的两个. 技术 1技术:第一个方法涉及按需析构和重建视图实例.这更简单,且在不介意析构和重建窗口对象时效果很好. 2:按需创建视图,然后用

PostgreSQL索引介绍

梦中彩虹   博客园首页新随笔联系管理 随笔 - 131  文章 - 1  评论 - 14 PostgreSQL索引介绍 INDEX 索引是增强数据库性能的常用方法。索引使得数据库在查找和检索数据库的特定行的时候比没有索引快的多。但索引也增加了整个数据库系统的开销,所以应该合理使用。 介绍 假设我们有一个类似这样的表: CREATE TABLE test1 (id integ

PostgreSQL分区表(partitioning)应用实例详解

https://www.jb51.net/article/97937.htm   PostgreSQL分区表(partitioning)应用实例详解  更新时间:2016年11月22日 10:25:58   作者:小灯光环    我要评论   这篇文章主要为大家详细介绍了PostgreSQL分区表(partitioning)应用实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

PostgreSql中WITH语句的使用

https://blog.csdn.net/chuan_day/article/details/44809125 PostgreSql中WITH语句的使用 With语句是为庞大的查询语句提供了辅助的功能。这些语句通常是引用了表表达式或者CTEs(一种临时数据的存储方式),可以看做是一个查询语句的临时表。在With语句中可以使用select,insert,update,delete语句。当然wit