linkend="sql-analyze"><command>ANALYZE</command></link>, and a few DDL commands such as
<link linkend="sql-createindex"><command>CREATE INDEX</command></link>.
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>reltuples</structfield> <type>float4</type>
</para>
<para>
Number of live rows in the table. This is only an estimate used by
the planner. It is updated by <link linkend="sql-vacuum"><command>VACUUM</command></link>,
<link linkend="sql-analyze"><command>ANALYZE</command></link>, and a few DDL commands such as
<link linkend="sql-createindex"><command>CREATE INDEX</command></link>.
If the table has never yet been vacuumed or
analyzed, <structfield>reltuples</structfield>
contains <literal>-1</literal> indicating that the row count is
unknown.
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>relallvisible</structfield> <type>int4</type>
</para>
<para>
Number of pages that are marked all-visible in the table's
visibility map. This is only an estimate used by the
planner. It is updated by <link linkend="sql-vacuum"><command>VACUUM</command></link>,
<link linkend="sql-analyze"><command>ANALYZE</command></link>, and a few DDL commands such as
<link linkend="sql-createindex"><command>CREATE INDEX</command></link>.
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>relallfrozen</structfield> <type>int4</type>
</para>
<para>
Number of pages that are marked all-frozen in the table's visibility
map. This is only an estimate used for triggering autovacuums. It can
also be used along with <structfield>relallvisible</structfield> for
scheduling manual vacuums and tuning <link
linkend="runtime-config-vacuum-freezing">vacuum's freezing
behavior</link>.
It is updated by
<link linkend="sql-vacuum"><command>VACUUM</command></link>,
<link linkend="sql-analyze"><command>ANALYZE</command></link>,
and a few DDL commands such as
<link linkend="sql-createindex"><command>CREATE INDEX</command></link>.
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>reltoastrelid</structfield> <type>oid</type>
(references <link linkend="catalog-pg-class"><structname>pg_class</structname></link>.<structfield>oid</structfield>)
</para>
<para>
OID of the TOAST table associated with this table, zero if none. The
TOAST table stores large attributes <quote>out of line</quote> in a
secondary table.
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>relhasindex</structfield> <type>bool</type>
</para>
<para>
True if this is a table and it has (or recently had) any indexes
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>relisshared</structfield> <type>bool</type>
</para>
<para>
True if this table is shared across all databases in the cluster. Only
certain system catalogs (such as <link linkend="catalog-pg-database"><structname>pg_database</structname></link>)
are shared.
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>relpersistence</structfield> <type>char</type>
</para>
<para>
<literal>p</literal> = permanent table/sequence, <literal>u</literal> = unlogged table/sequence,
<literal>t</literal> = temporary table/sequence
</para></entry>