zoukankan      html  css  js  c++  java
  • Postgresql统计所有表的基本信息(如行数、大小等)

    目录 pg_class 记录表和几乎所有具有列或者像表的东西。这包括索引(但还要参见 pg_index )、序列、视图、物化视图、组合类型和TOAST表,参见 relkind 。下面,当我们提及所有这些类型的对象时我们使用“关系”。并非所有列对于所有关系类型都有意义。

        pg_class 中的一些逻辑标志被以一种懒惰的方式维护:在正确状态时它们被保证为真,但是当条件不再为真时它们并不会被立刻重置为假。例如, relhasindex 由 CREATE INDEX 设置,但它从不会被DROP INDEX 清除。作为替代, VACUUM 会在找到无索引表后清除其 relhasindex 。这种安排避免了竞争条件并且提高了并发性。

    具体内容见下:

    名称

    类型

    参考

    描述

    oid

    oid

    行标识符(隐藏属性;必须明确选择)

    relname

    name

    表格,索引,视图等的名称

    relnamespace

    oid

    pg_namespace.oid

    包含此relation的名称空间的oid

    reltype

    oid

    pg_type .oid

    与此表行类型对应的数据类型的oid(如果有的话)(对于没有pg_type条目的索引,为零 )

    reloftype

    oid

    pg_type .oid

    对于类型表,基础复合类型的oid,对于所有其他relation为零

    relowner

    oid

    pg_authid.oid

    relation的所有者

    relam

    oid

    pg_am.oid

    如果这是一个索引,则使用的访问方法(B-树,散列等)

    relfilenode

    oid

    该relation的磁盘文件的名称; 零表示这是一个“映射”relation,其磁盘文件名由低级状态决定

    reltablespace

    oid

    pg_tablespace.oid

    存储该relation的表空间。如果为零,则隐含数据库的默认表空间。(如果relation没有磁盘上的文件,则无意义。)

    relpages

    int4

    该表的磁盘表示的大小(页面大小为BLCKSZ)。这只是计划者使用的估计值。它由 VACUUM,ANALYZE和一些DDL命令(如 CREATE INDEX)更新。

    reltuples

    float4

    表中的行数。这只是计划者使用的估计值。它由VACUUM,ANALYZE和一些DDL命令(如CREATE INDEX)更新。

    relallvisible

    int4

    在表格的可见性图中标记为全部可见的页面数。这只是计划者使用的估计值。它由VACUUM,ANALYZE和一些DDL命令(如CREATE INDEX)更新。

    reltoastrelid

    oid

    pg_class .oid

    与此表关联的TOAST表的oid,如果没有,则为0。TOAST表在“辅助表”中存储“超出行”的大型属性 。

    relhasindex

    bool

    如果这是一个表并且它有(或最近有)任何索引,则为真

    relisshared

    bool

    如果此表在群集中的所有数据库之间共享,则为true。只有某些系统目录(如 pg_database)被共享。

    relpersistence

    char

    p =永久表, u =未记录表,t =临时表

    relkind

    char

    r =普通表, i =索引,S =序列,v =视图,m =物化视图, c =复合类型,t = TOAST表,f =外部表

    relnatts

    int2

    relation中的用户列数(系统列未计数)。pg_attribute中必须有许多相应的条目。另见pg_attribute.attnum。

    relchecks

    int2

    表上CHECK约束的数量; 请参阅pg_constraint目录

    relhasoids

    bool

    如果我们为relation的每一行生成oid,则为真

    relhaspkey

    bool

    如果表具有(或曾经有)主键,则为真

    relhasrules

    bool

    如果表具有(或曾经有)规则,则为真; 请参阅pg_rewrite目录

    relhastriggers

    bool

    如果表具有(或曾经有)触发器,则为真; 请参阅 pg_trigger目录

    relhassubclass

    bool

    如果表有(或曾经有过)任何继承孩子,则为真

    relrowsecurity

    bool

    如果表已启用行级安全性,则为true; 请参阅 pg_policy目录

    relforcerowsecurity

    bool

    如果行级别安全性(启用时)也为true,则也适用于表所有者; 请参阅pg_policy目录

    relispopulated

    bool

    如果relation被填充,则为真(对于除某些实例化视图之外的所有relation都是如此)

    relreplident

    char

    用于为行构成“副本标识”的列:d = default(主键,如果有的话),n =无,f =所有列 i =具有indisreplident set的索引或default

    relfrozenxid

    xid

    在此表之前的所有交易ID已被替换为永久(“冻结”)交易ID。这用于跟踪是否需要将表抽真空以防止事务ID环绕或允许缩小pg_clog。零(InvalidTransactionId)如果relation不是一个表。

    relminmxid

    xid

    在此表之前的所有多重作业ID已由该事务ID替换。这用于跟踪是否需要将表抽真空以防止多轴实现ID 绕回或允许缩小pg_multixact。零(InvalidMultiXactId)如果relation不是一个表。

    relacl

    aclitem[]

    访问权限; 看到GRANTREVOKE的细节

    reloptions

    text[]

    特定于访问方法的选项,如“keyword = value”字符串

  • 相关阅读:
    sweetalert 1.0多次回调函数bug
    ThinkPHP添加扩展配置失败
    记一次相机内存卡数据恢复
    流量监控脚本监控网卡
    ip网关配置
    centos7【防火墙】常用规则-docker服务防火墙规则
    ssh服务及安全配置
    代码库
    linux计划任务防暴力破解脚本+免密操作
    阿里去短信接口包
  • 原文地址:https://www.cnblogs.com/itsone/p/13602999.html
Copyright © 2011-2022 走看看