CREATE_TABLE_AS man page on Cygwin

Man page or keyword search:  
man Server   22533 pages
apropos Keyword Search (all sections)
Output format
Cygwin logo
[printable version]

CREATE TABLE AS(7)	PostgreSQL 9.3.2 Documentation	    CREATE TABLE AS(7)

NAME
       CREATE_TABLE_AS - define a new table from the results of a query

SYNOPSIS
       CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE table_name
	   [ (column_name [, ...] ) ]
	   [ WITH ( storage_parameter [= value] [, ... ] ) | WITH OIDS | WITHOUT OIDS ]
	   [ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]
	   [ TABLESPACE tablespace_name ]
	   AS query
	   [ WITH [ NO ] DATA ]

DESCRIPTION
       CREATE TABLE AS creates a table and fills it with data computed by a
       SELECT command. The table columns have the names and data types
       associated with the output columns of the SELECT (except that you can
       override the column names by giving an explicit list of new column
       names).

       CREATE TABLE AS bears some resemblance to creating a view, but it is
       really quite different: it creates a new table and evaluates the query
       just once to fill the new table initially. The new table will not track
       subsequent changes to the source tables of the query. In contrast, a
       view re-evaluates its defining SELECT statement whenever it is queried.

PARAMETERS
       GLOBAL or LOCAL
	   Ignored for compatibility. Use of these keywords is deprecated;
	   refer to CREATE TABLE (CREATE_TABLE(7)) for details.

       TEMPORARY or TEMP
	   If specified, the table is created as a temporary table. Refer to
	   CREATE TABLE (CREATE_TABLE(7)) for details.

       UNLOGGED
	   If specified, the table is created as an unlogged table. Refer to
	   CREATE TABLE (CREATE_TABLE(7)) for details.

       table_name
	   The name (optionally schema-qualified) of the table to be created.

       column_name
	   The name of a column in the new table. If column names are not
	   provided, they are taken from the output column names of the query.

       WITH ( storage_parameter [= value] [, ... ] )
	   This clause specifies optional storage parameters for the new
	   table; see Storage Parameters for more information. The WITH clause
	   can also include OIDS=TRUE (or just OIDS) to specify that rows of
	   the new table should have OIDs (object identifiers) assigned to
	   them, or OIDS=FALSE to specify that the rows should not have OIDs.
	   See CREATE TABLE (CREATE_TABLE(7)) for more information.

       WITH OIDS, WITHOUT OIDS
	   These are obsolescent syntaxes equivalent to WITH (OIDS) and WITH
	   (OIDS=FALSE), respectively. If you wish to give both an OIDS
	   setting and storage parameters, you must use the WITH ( ... )
	   syntax; see above.

       ON COMMIT
	   The behavior of temporary tables at the end of a transaction block
	   can be controlled using ON COMMIT. The three options are:

	   PRESERVE ROWS
	       No special action is taken at the ends of transactions. This is
	       the default behavior.

	   DELETE ROWS
	       All rows in the temporary table will be deleted at the end of
	       each transaction block. Essentially, an automatic TRUNCATE(7)
	       is done at each commit.

	   DROP
	       The temporary table will be dropped at the end of the current
	       transaction block.

       TABLESPACE tablespace_name
	   The tablespace_name is the name of the tablespace in which the new
	   table is to be created. If not specified, default_tablespace is
	   consulted, or temp_tablespaces if the table is temporary.

       query
	   A SELECT(7), TABLE, or VALUES(7) command, or an EXECUTE(7) command
	   that runs a prepared SELECT, TABLE, or VALUES query.

       WITH [ NO ] DATA
	   This clause specifies whether or not the data produced by the query
	   should be copied into the new table. If not, only the table
	   structure is copied. The default is to copy the data.

NOTES
       This command is functionally similar to SELECT INTO (SELECT_INTO(7)),
       but it is preferred since it is less likely to be confused with other
       uses of the SELECT INTO syntax. Furthermore, CREATE TABLE AS offers a
       superset of the functionality offered by SELECT INTO.

       Prior to PostgreSQL 8.0, CREATE TABLE AS always included OIDs in the
       table it created. As of PostgreSQL 8.0, the CREATE TABLE AS command
       allows the user to explicitly specify whether OIDs should be included.
       If the presence of OIDs is not explicitly specified, the
       default_with_oids configuration variable is used. As of PostgreSQL 8.1,
       this variable is false by default, so the default behavior is not
       identical to pre-8.0 releases. Applications that require OIDs in the
       table created by CREATE TABLE AS should explicitly specify WITH (OIDS)
       to ensure desired behavior.

EXAMPLES
       Create a new table films_recent consisting of only recent entries from
       the table films:

	   CREATE TABLE films_recent AS
	     SELECT * FROM films WHERE date_prod >= '2002-01-01';

       To copy a table completely, the short form using the TABLE command can
       also be used:

	   CREATE TABLE films2 AS
	     TABLE films;

       Create a new temporary table films_recent, consisting of only recent
       entries from the table films, using a prepared statement. The new table
       has OIDs and will be dropped at commit:

	   PREPARE recentfilms(date) AS
	     SELECT * FROM films WHERE date_prod > $1;
	   CREATE TEMP TABLE films_recent WITH (OIDS) ON COMMIT DROP AS
	     EXECUTE recentfilms('2002-01-01');

COMPATIBILITY
       CREATE TABLE AS conforms to the SQL standard. The following are
       nonstandard extensions:

       ·   The standard requires parentheses around the subquery clause; in
	   PostgreSQL, these parentheses are optional.

       ·   In the standard, the WITH [ NO ] DATA clause is required; in
	   PostgreSQL it is optional.

       ·   PostgreSQL handles temporary tables in a way rather different from
	   the standard; see CREATE TABLE (CREATE_TABLE(7)) for details.

       ·   The WITH clause is a PostgreSQL extension; neither storage
	   parameters nor OIDs are in the standard.

       ·   The PostgreSQL concept of tablespaces is not part of the standard.
	   Hence, the clause TABLESPACE is an extension.

SEE ALSO
       CREATE MATERIALIZED VIEW (CREATE_MATERIALIZED_VIEW(7)), CREATE TABLE
       (CREATE_TABLE(7)), EXECUTE(7), SELECT(7), SELECT INTO (SELECT_INTO(7)),
       VALUES(7)

PostgreSQL 9.3.2		     2013		    CREATE TABLE AS(7)
[top]

List of man pages available for Cygwin

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net