[CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name
[ (column_name [, ...] ) ]
[ WITH ( storage_parameter [= value] [, ... ] ) | WITH OIDS | WITHOUT OIDS ]
[ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]
[ TABLESPACE tablespace ]
AS query][1]
Oto przykład
CREATE TABLE films_recent AS
SELECT * FROM films WHERE date_prod >= '2002-01-01';
Innym sposobem na utworzenie nowej tabeli od pierwszej jest użycie
CREATE TABLE films_recent (LIKE films INCLUDING INDEXES);
INSERT INTO films_recent
SELECT *
FROM books
WHERE date_prod >= '2002-01-01';
Zwróć uwagę, że Postgresql ma łatkę naprawiającą problemy z przestrzenią tabel, jeśli używana jest druga metoda