既存のテーブルから新しいテーブル(データ付き)を作成するようなPostgreSQLサポート機能。次の2つの構文で実現できます。

1) CREATE TABLE 'NEW__TABLE__NAME' AS SELECT **  FROM 'TABLE__NAME__YOU__WANT__COPY';

2) SELECT **  INTO 'NEW__TABLE__NAME' FROM 'TABLE__NAME__YOU__WANT__COPY' ;

いつか私はまた一時的なバックアップテーブルにこのメソッドを使用します:) PostgresQLによると ‘CREATE TABLE AS’はSELECT INTOと機能的に似ています。

CREATE TABLE ASを推奨構文です。また、上記のSQLスクリプトのように ‘Where’節を追加することもできます

CREATE TABLE 'NEW__TABLE__NAME' AS SELECT **  FROM 'TABLE__NAME__YOU__WANT__COPY' WHERE CONDITION'

私は上記の2つのCREATE TABLE ASとSELECT INTOメソッドの使い方を示すための簡単なスクリプトを書いています。

--Create a student table for demo

CREATE TABLE STUDENT(SID bigserial NOT NULL、NAMEキャラクタ可変(50)NOT NULL)

--Insert two records for testing
INSERT INTO STUDENT VALUES(1,'MKYONG');
INSERT INTO STUDENT VALUES(2,'MKYONG2');

--1,mkyong

--2,mkyong2
SELECT **  FROM STUDENT;

--create a backup table (student__bk) from student table

CREATE TABLE STUDENT__BKをSELECT ** から実行します。

--1,mkyong
--2,mkyong2

SELECT **  FROM STUDENT__BK;

--create a backup table (student__bk2) from student table
SELECT **  INTO STUDENT__BK2 FROM STUDENT;

--1,mkyong

--2,mkyong2
SELECT **  FROM STUDENT__BK2;