CREATE TABLE table [ ( column [, ...] ) ] AS select
The name of the new table to be created.
The name of a column to create; you can specify multiple columns by including their names in a comma-delimited list. There should be the same number of columns specified as are returned by select.
A valid SELECT statement. The number of targets selected must match the number of columns in the optional column list preceding the AS clause.
Use the CREATE TABLE AS command to create a table from the contents of result set, such as a query on a table that already exists within the database. Both the column types, and row data for the new table, come from the SELECT command specified by select.
Note that, as of PostgreSQL 7.1.x, if you specify the optional column list within parentheses, you cannot use the asterisk (*) in the select statement.