反转基因福娃 发表于 2024-6-10 19:55:50

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;-- 此处条件可根据实际需求调整
统计信息的维护

通例的 VACUUM 和 ANALYZE 操作可以帮助维护 pg_stat_user_tables中的统计信息:


[*] 手动执行 VACUUM:
VACUUM FULL your_table_name;

[*] 手动执行 ANALYZE:
ANALYZE your_table_name;

[*] 自动执行 VACUUM 和 ANALYZE: PostgreSQL 具有自动执行 VACUUM 和 ANALYZE 的功能,可以通过设置参数调整这些操作的频率和策略。
通过 pg_stat_user_tables 视图,数据库管理员可以详细了解表的使用环境和性能指标,从而更好地举行数据库的性能调优和维护。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: PostgreSQL的视图pg_stat_user_tables