• [转]PostgreSQL教程(十六):系统视图详解


    这篇文章主要介绍了PostgreSQL教程(十六):系统视图详解,本文讲解了pg_tables、pg_indexes、pg_views、pg_user、pg_roles、pg_rules、pg_settings等视图的作用和字段含义等内容,需要的朋友可以参考下
     
    一、pg_tables:

        该视图提供了对有关数据库中每个表的有用信息地访问。

    名字 类型 引用 描述
    schemaname name pg_namespace.nspname 包含表的模式名字。
    tablename name pg_class.relname 表的名字。
    tableowner name pg_authid.rolname 表的所有者的名字。
    tablespace name pg_tablespace.spcname 包含表的表空间名字(如果是数据库缺省,则为 NULL)。
    hasindexes bool pg_class.relhasindex 如果表拥有(或者最近拥有)任何索引,则为真。
    hasrules bool pg_class.relhasrules 如果表存在规则,则为真。
    hastriggers bool pg_class.reltriggers 如果表有触发器,则为真。

    二、pg_indexes:

        该视图提供对数据库中每个索引的有用信息的访问。

    名字 类型 引用 描述
    schemaname name pg_namespace.nspname 包含表和索引的模式的名字。
    tablename name pg_class.relname 索引所在表的名字。
    indexname name pg_class.relname 索引的名字。
    tablespace name pg_tablespace.spcname 包含索引的表空间名字(如果是数据库缺省,则为NULL)。
    indexdef text   索引定义(一个重建的创建命令)。

    三、pg_views:

        该视图提供了对数据库里每个视图的有用信息的访问途径。

    名字 类型 引用 描述
    schemaname name pg_namespace.nspname 包含此视图的模式名字。
    viewname name pg_class.relname 视图的名字。
    viewowner name pg_authid.rolname 视图的所有者的名字。
    definition text   视图定义(一个重建的SELECT查询)。

    四、pg_user:

        该视图提供了对数据库用户的相关信息的访问。 这个视图只是pg_shadow表的公众可读的部分的视图化,但是不包含口令字段。

    名字 类型 引用 描述
    usename name   用户名。
    usesysid int4   用户ID(用于引用这个用户的任意数字)。
    usecreatedb bool   用户是否可以创建数据库。
    usesuper bool   用户是否是一个超级用户。
    usecatupd bool   用户是否可以更新系统表。(即使超级用户也不能这么干,除非这个字段为真。)
    passwd text   口令(可能加密了)。
    valuntil abstime   口令失效的时间(只用于口令认证)。
    useconfig text[]   运行时配置参数的会话缺省。

    五、pg_roles:

        该视图提供访问数据库角色有关信息的接口。这个视图只是pg_authid表的公开可读部分的视图化,同时把口令字段用空白填充。

    名字 类型 引用 描述
    rolname name   角色名。
    rolsuper bool   是否有超级用户权限的角色。
    rolcreaterole bool   是否可以创建更多角色的角色。
    rolcreatedb bool   是否可以创建数据库的角色。
    rolcatupdate bool   是否可以直接更新系统表的角色。
    rolcanlogin bool   如果为真,表示是可以登录的角色。
    rolpassword text   不是口令(总是 ********)。
    rolvaliduntil timestamptz   口令失效日期(只用于口令认证);如果没有失效期,为NULL。
    rolconfig text[]   运行时配置变量的会话缺省。

    六、pg_rules:

        该视图提供对查询重写规则的有用信息访问的接口。

    名字 类型 引用 描述
    schemaname name pg_namespace.nspname 包含表的模式的名字。
    tablename name pg_class.relname 规则施加影响的表的名字。
    rulename name pg_rewrite.rulename 规则的名字。
    definition text   规则定义(一个重新构造的创建命令)。

    七、pg_settings:

        该视图提供了对服务器运行时参数的访问。它实际上是SHOW和SET命令的另外一种方式。它还提供一些用SHOW不能直接获取的参数的访问,比如最大和最小值。

    名字 类型 引用 描述
    name text   运行时配置参数名。
    setting text   参数的当前值。
    category text   参数的逻辑组。
    short_desc text   参数的一个简短的描述。
    extra_desc text   有关参数的额外的、更详细的信息。
    context text   设置这个参数的值要求的环境。
    vartype text   参数类型(bool、integer、real和string)。
    source text   当前参数值的来源。
    min_val text   该参数允许的最小值(非数字值为NULL)。
    max_val text   该参数允许的最大值(非数字值为NULL)。  

        我们不能对pg_settings视图进行插入或者删除, 只能更新。对pg_settings中的一行进行UPDATE等效于在该命名参数上执行SET命令。这个修改值影响当前会话使用的数值。如果在一个最后退出的事务中发出了UPDATE命令,那么UPDATE命令的效果将在事务回滚之后消失。一旦包围它的事务提交,这个效果将固化,直到会话结束。

    (原文地址:http://www.jb51.net/article/65394.htm)

  • 相关阅读:
    Linux中history执行历史命令方法
    Linux中返回上一次目录
    Linux的vi编辑模式下常用快捷键
    [Android] TextView上同时显示图标和文字
    [Android] macOS的Android Studio快捷键
    [Android] 转-RxJava+MVP+Retrofit+Dagger2+Okhttp大杂烩
    [iOS] 测试设备解决自签名证书问题
    [macOS] keychain的跳坑之旅!git拉取的权限问题
    [PHP] swoole在daemonize模式下,chdir失效问题
    [macOS] macOS下,VirtualBox安装CentOS7.4, 搭建nginx, mysql, PHP5.6&PHP7.1
  • 原文地址:https://www.cnblogs.com/jianyungsun/p/6632820.html
Copyright © 2020-2023  润新知