📄 catalogs.sgml
字号:
<entry></entry> <entry> Always -1 in storage, but when loaded into a row descriptor in memory this may be updated to cache the offset of the attribute within the row. </entry> </row> <row> <entry><structfield>atttypmod</structfield></entry> <entry><type>int4</type></entry> <entry></entry> <entry> <structfield>atttypmod</structfield> records type-specific data supplied at table creation time (for example, the maximum length of a <type>varchar</type> column). It is passed to type-specific input functions and length coercion functions. The value will generally be -1 for types that do not need <structfield>atttypmod</>. </entry> </row> <row> <entry><structfield>attbyval</structfield></entry> <entry><type>bool</type></entry> <entry></entry> <entry> A copy of <literal>pg_type.typbyval</> of this column's type </entry> </row> <row> <entry><structfield>attstorage</structfield></entry> <entry><type>char</type></entry> <entry></entry> <entry> Normally a copy of <literal>pg_type.typstorage</> of this column's type. For TOAST-able data types, this can be altered after column creation to control storage policy. </entry> </row> <row> <entry><structfield>attalign</structfield></entry> <entry><type>char</type></entry> <entry></entry> <entry> A copy of <literal>pg_type.typalign</> of this column's type </entry> </row> <row> <entry><structfield>attnotnull</structfield></entry> <entry><type>bool</type></entry> <entry></entry> <entry> This represents a not-null constraint. It is possible to change this column to enable or disable the constraint. </entry> </row> <row> <entry><structfield>atthasdef</structfield></entry> <entry><type>bool</type></entry> <entry></entry> <entry> This column has a default value, in which case there will be a corresponding entry in the <structname>pg_attrdef</structname> catalog that actually defines the value. </entry> </row> <row> <entry><structfield>attisdropped</structfield></entry> <entry><type>bool</type></entry> <entry></entry> <entry> This column has been dropped and is no longer valid. A dropped column is still physically present in the table, but is ignored by the parser and so cannot be accessed via SQL. </entry> </row> <row> <entry><structfield>attislocal</structfield></entry> <entry><type>bool</type></entry> <entry></entry> <entry> This column is defined locally in the relation. Note that a column may be locally defined and inherited simultaneously. </entry> </row> <row> <entry><structfield>attinhcount</structfield></entry> <entry><type>int4</type></entry> <entry></entry> <entry> The number of direct ancestors this column has. A column with a nonzero number of ancestors cannot be dropped nor renamed. </entry> </row> </tbody> </tgroup> </table> <para> In a dropped column's <structname>pg_attribute</structname> entry, <structfield>atttypid</structfield> is reset to zero, but <structfield>attlen</structfield> and the other fields copied from <structname>pg_type</> are still valid. This arrangement is needed to cope with the situation where the dropped column's data type was later dropped, and so there is no <structname>pg_type</> row anymore. <structfield>attlen</structfield> and the other fields can be used to interpret the contents of a row of the table. </para> </sect1> <sect1 id="catalog-pg-authid"> <title><structname>pg_authid</structname></title> <indexterm zone="catalog-pg-authid"> <primary>pg_authid</primary> </indexterm> <para> The catalog <structname>pg_authid</structname> contains information about database authorization identifiers (roles). A role subsumes the concepts of <quote>users</> and <quote>groups</>. A user is essentially just a role with the <structfield>rolcanlogin</> flag set. Any role (with or without <structfield>rolcanlogin</>) may have other roles as members; see <link linkend="catalog-pg-auth-members"><structname>pg_auth_members</structname></link>. </para> <para> Since this catalog contains passwords, it must not be publicly readable. <link linkend="view-pg-roles"><structname>pg_roles</structname></link> is a publicly readable view on <structname>pg_authid</structname> that blanks out the password field. </para> <para> <xref linkend="user-manag"> contains detailed information about user and privilege management. </para> <para> Because user identities are cluster-wide, <structname>pg_authid</structname> is shared across all databases of a cluster: there is only one copy of <structname>pg_authid</structname> per cluster, not one per database. </para> <table> <title><structname>pg_authid</> Columns</title> <tgroup cols=4> <thead> <row> <entry>Name</entry> <entry>Type</entry> <entry>References</entry> <entry>Description</entry> </row> </thead> <tbody> <row> <entry><structfield>rolname</structfield></entry> <entry><type>name</type></entry> <entry></entry> <entry>Role name</entry> </row> <row> <entry><structfield>rolsuper</structfield></entry> <entry><type>bool</type></entry> <entry></entry> <entry>Role has superuser privileges</entry> </row> <row> <entry><structfield>rolinherit</structfield></entry> <entry><type>bool</type></entry> <entry></entry> <entry>Role automatically inherits privileges of roles it is a member of</entry> </row> <row> <entry><structfield>rolcreaterole</structfield></entry> <entry><type>bool</type></entry> <entry></entry> <entry>Role may create more roles</entry> </row> <row> <entry><structfield>rolcreatedb</structfield></entry> <entry><type>bool</type></entry> <entry></entry> <entry>Role may create databases</entry> </row> <row> <entry><structfield>rolcatupdate</structfield></entry> <entry><type>bool</type></entry> <entry></entry> <entry> Role may update system catalogs directly. (Even a superuser may not do this unless this column is true.) </entry> </row> <row> <entry><structfield>rolcanlogin</structfield></entry> <entry><type>bool</type></entry> <entry></entry> <entry> Role may log in, that is, this role can be given as the initial session authorization identifier. </entry> </row> <row> <entry><structfield>rolconnlimit</structfield></entry> <entry><type>int4</type></entry> <entry></entry> <entry> For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit. </entry> </row> <row> <entry><structfield>rolpassword</structfield></entry> <entry><type>text</type></entry> <entry></entry> <entry>Password (possibly encrypted); NULL if none</entry> </row> <row> <entry><structfield>rolvaliduntil</structfield></entry> <entry><type>timestamptz</type></entry> <entry></entry> <entry>Password expiry time (only used for password authentication); NULL if no expiration</entry> </row> <row> <entry><structfield>rolconfig</structfield></entry> <entry><type>text[]</type></entry> <entry></entry> <entry>Session defaults for run-time configuration variables</entry> </row> </tbody> </tgroup> </table> </sect1> <sect1 id="catalog-pg-auth-members"> <title><structname>pg_auth_members</structname></title> <indexterm zone="catalog-pg-auth-members"> <primary>pg_auth_members</primary> </indexterm> <para> The catalog <structname>pg_auth_members</structname> shows the membership relations between roles. Any non-circular set of relationships is allowed. </para> <para> Because user identities are cluster-wide, <structname>pg_auth_members</structname> is shared across all databases of a cluster: there is only one copy of <structname>pg_auth_members</structname> per cluster, not one per database. </para> <table> <title><structname>pg_auth_members</> Columns</title> <tgroup cols=4> <thead> <row> <entry>Name</entry> <entry>Type</entry> <entry>References</entry> <entry>Description</entry> </row> </thead> <tbody> <row> <entry><structfield>roleid</structfield></entry> <entry><type>oid</type></entry> <entry><literal><link linkend="catalog-pg-authid"><structname>pg_authid</structname></link>.oid</literal></entry> <entry>ID of a role that has a member</entry> </row> <row> <entry><structfield>member</structfield></entry> <entry><type>oid</type></entry> <entry><literal><link linkend="catalog-pg-authid"><structname>pg_authid</structname></link>.oid</literal></entry> <entry>ID of a role that is a member of <structfield>roleid</></entry> </row> <row> <entry><structfield>grantor</structfield></entry> <entry><type>oid</type></entry> <entry><literal><link linkend="catalog-pg-authid"><structname>pg_authid</structname></link>.oid</literal></entry> <entry>ID of the role that granted this membership</entry> </row> <row> <entry><structfield>admin_option</structfield></entry> <entry><type>bool</type></entry> <entry></entry> <entry>True if <structfield>member</> may grant membership in <structfield>roleid</> to others</entry> </row> </tbody> </tgroup> </table> </sect1> <sect1 id="catalog-pg-autovacuum"> <title><structname>pg_autovacuum</structname></title> <indexterm zone="catalog-pg-autovacuum"> <primary>pg_autovacuum</primary> </indexterm> <indexterm zone="catalog-pg-autovacuum"> <primary>autovacuum</primary> <secondary>table-specific configuration</secondary> </indexterm> <para> The catalog <structname>pg_autovacuum</structname> stores optional per-relation configuration parameters for <xref linkend="autovacuum" endterm="autovacuum-title">. If there is an entry here for a particular relation, the given parameters will be used for autovacuuming that table. If no entry is present, the system-wide defaults will be used. </para> <table> <title><structname>pg_autovacuum</> Columns</title> <tgroup cols=4> <thead> <row> <entry>Name</entry> <entry>Type</entry> <entry>References</entry> <entry>Description</entry> </row> </thead> <tbody> <row> <entry><structfield>vacrelid</structfield></entry> <entry><type>oid</type></entry> <entry><literal><link linkend="catalog-pg-class"><structname>pg_class</structname></link>.oid</literal></entry> <entry>The table this entry is for</entry> </row> <row> <entry><structfield>enabled</structfield></entry> <entry><type>bool</type></entry> <entry></entry> <entry>If false, this table is never autovacuumed</entry> </row> <row> <entry><structfield>vac_base_thresh</structfield></entry> <entry><type>integer</type></entry> <entry></entry> <entry>Minimum number of modified tuples before vacuum</entry> </row> <row> <entry><structfield>vac_scale_factor</structfield></entry> <entry><type>float4</type></entry> <entry></entry> <entry>Multiplier for reltuples to add to <structfield>vac_base_thresh</></entry> </row> <row> <entry><structfield>anl_base_thresh</structfield></entry> <entry><type>integer</type></entry> <entry></entry> <entry>Minimum number of modified tuples before analyze</entry>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -