1
0
mirror of https://github.com/postgres/postgres.git synced 2025-05-02 11:44:50 +03:00
Kevin Grittner 3bf3ab8c56 Add a materialized view relations.
A materialized view has a rule just like a view and a heap and
other physical properties like a table.  The rule is only used to
populate the table, references in queries refer to the
materialized data.

This is a minimal implementation, but should still be useful in
many cases.  Currently data is only populated "on demand" by the
CREATE MATERIALIZED VIEW and REFRESH MATERIALIZED VIEW statements.
It is expected that future releases will add incremental updates
with various timings, and that a more refined concept of defining
what is "fresh" data will be developed.  At some point it may even
be possible to have queries use a materialized in place of
references to underlying tables, but that requires the other
above-mentioned features to be working first.

Much of the documentation work by Robert Haas.
Review by Noah Misch, Thom Brown, Robert Haas, Marko Tiikkaja
Security review by KaiGai Kohei, with a decision on how best to
implement sepgsql still pending.
2013-03-03 18:23:31 -06:00

263 lines
5.4 KiB
Plaintext

<!-- doc/src/sgml/reference.sgml -->
<part id="reference">
<title>Reference</title>
<partintro>
<para>
The entries in this Reference are meant to provide in reasonable
length an authoritative, complete, and formal summary about their
respective subjects. More information about the use of
<productname>PostgreSQL</productname>, in narrative, tutorial, or
example form, can be found in other parts of this book. See the
cross-references listed on each reference page.
</para>
<para>
The reference entries are also available as traditional
<quote>man</quote> pages.
</para>
</partintro>
<reference id="sql-commands">
<title>SQL Commands</title>
<partintro>
<para>
This part contains reference information for the
<acronym>SQL</acronym> commands supported by
<productname>PostgreSQL</productname>. By <quote>SQL</quote> the
language in general is meant; information about the standards
conformance and compatibility of each command can be found on the
respective reference page.
</para>
</partintro>
&abort;
&alterAggregate;
&alterCollation;
&alterConversion;
&alterDatabase;
&alterDefaultPrivileges;
&alterDomain;
&alterExtension;
&alterEventTrigger;
&alterForeignDataWrapper;
&alterForeignTable;
&alterFunction;
&alterGroup;
&alterIndex;
&alterLanguage;
&alterLargeObject;
&alterMaterializedView;
&alterOperator;
&alterOperatorClass;
&alterOperatorFamily;
&alterRole;
&alterRule;
&alterSchema;
&alterSequence;
&alterServer;
&alterTable;
&alterTableSpace;
&alterTSConfig;
&alterTSDictionary;
&alterTSParser;
&alterTSTemplate;
&alterTrigger;
&alterType;
&alterUser;
&alterUserMapping;
&alterView;
&analyze;
&begin;
&checkpoint;
&close;
&cluster;
&commentOn;
&commit;
&commitPrepared;
&copyTable;
&createAggregate;
&createCast;
&createCollation;
&createConversion;
&createDatabase;
&createDomain;
&createExtension;
&createEventTrigger;
&createForeignDataWrapper;
&createForeignTable;
&createFunction;
&createGroup;
&createIndex;
&createLanguage;
&createMaterializedView;
&createOperator;
&createOperatorClass;
&createOperatorFamily;
&createRole;
&createRule;
&createSchema;
&createSequence;
&createServer;
&createTable;
&createTableAs;
&createTableSpace;
&createTSConfig;
&createTSDictionary;
&createTSParser;
&createTSTemplate;
&createTrigger;
&createType;
&createUser;
&createUserMapping;
&createView;
&deallocate;
&declare;
&delete;
&discard;
&do;
&dropAggregate;
&dropCast;
&dropCollation;
&dropConversion;
&dropDatabase;
&dropDomain;
&dropExtension;
&dropEventTrigger;
&dropForeignDataWrapper;
&dropForeignTable;
&dropFunction;
&dropGroup;
&dropIndex;
&dropLanguage;
&dropMaterializedView;
&dropOperator;
&dropOperatorClass;
&dropOperatorFamily;
&dropOwned;
&dropRole;
&dropRule;
&dropSchema;
&dropSequence;
&dropServer;
&dropTable;
&dropTableSpace;
&dropTSConfig;
&dropTSDictionary;
&dropTSParser;
&dropTSTemplate;
&dropTrigger;
&dropType;
&dropUser;
&dropUserMapping;
&dropView;
&end;
&execute;
&explain;
&fetch;
&grant;
&insert;
&listen;
&load;
&lock;
&move;
&notify;
&prepare;
&prepareTransaction;
&reassignOwned;
&refreshMaterializedView;
&reindex;
&releaseSavepoint;
&reset;
&revoke;
&rollback;
&rollbackPrepared;
&rollbackTo;
&savepoint;
&securityLabel;
&select;
&selectInto;
&set;
&setConstraints;
&setRole;
&setSessionAuth;
&setTransaction;
&show;
&startTransaction;
&truncate;
&unlisten;
&update;
&vacuum;
&values;
</reference>
<reference id="reference-client">
<title>PostgreSQL Client Applications</title>
<partintro>
<para>
This part contains reference information for
<productname>PostgreSQL</productname> client applications and
utilities. Not all of these commands are of general utility; some
might require special privileges. The common feature of these
applications is that they can be run on any host, independent of
where the database server resides.
</para>
<para>
When specified on the command line, user and database names have
their case preserved &mdash; the presence of spaces or special
characters might require quoting. Table names and other identifiers
do not have their case preserved, except where documented, and
might require quoting.
</para>
</partintro>
&clusterdb;
&createdb;
&createlang;
&createuser;
&dropdb;
&droplang;
&dropuser;
&ecpgRef;
&pgBasebackup;
&pgConfig;
&pgDump;
&pgDumpall;
&pgIsready;
&pgReceivexlog;
&pgRestore;
&psqlRef;
&reindexdb;
&vacuumdb;
</reference>
<reference id="reference-server">
<title>PostgreSQL Server Applications</title>
<partintro>
<para>
This part contains reference information for
<productname>PostgreSQL</productname> server applications and
support utilities. These commands can only be run usefully on the
host where the database server resides. Other utility programs
are listed in <xref linkend="reference-client">.
</para>
</partintro>
&initdb;
&pgControldata;
&pgCtl;
&pgResetxlog;
&postgres;
&postmaster;
</reference>
</part>