このセクションでは、PostgreSQLでデータなしでテーブルのコピーを作成する方法、つまりテーブル構造を作成する方法を例とともに説明します。

  • PostgreSQL でデータなしでテーブルのコピーを作成する方法。
  • PostgreSQL で部分データ (制約付き) を含むテーブルのコピーを作成する方法
  • PostgreSQLでテーブル構造のコピー(データなし)を作成する方法

それぞれの例を挙げて

「employees」テーブルを使用します。

PostgreSQLでテーブル構造を作成する(データなし)1


LIKE」を使用して PostgreSQL でテーブル構造を作成します。

従業員テーブルのテーブル構造を作成します。つまり、元のテーブルと同じ構造を持つ新しいテーブルを作成しますが、データはコピーしません。original_table の構造、制約、デフォルト、インデックスなどすべてを new_table に使用します。

PostgreSQLでテーブル構造を作成する(データなし)2
CREATE TABLE employees_new (LIKE employees INCLUDING ALL)

出力:

PostgreSQLでテーブル構造を作成する(データなし)3

PostgreSQL で基本的なテーブル構造のみを作成します。

制約、インデックス、デフォルトなしで従業員テーブルの基本テーブル構造のみを作成します。

CREATE TABLE employees_new AS 
TABLE employees with NO DATA;

出力:

PostgreSQLでテーブル構造を作成する(データなし)4

次のようにして、PostgreSQL で基本的なテーブル構造のみを作成します (データなし、制約、構造、インデックスなし)。

制約、インデックス、およびデフォルトなしで、従業員テーブルの基本テーブル構造のみを作成します。つまり、元のテーブルと同じ構造で、データをコピーせず、主キー、インデックス、デフォルトなどの制約なしで新しいテーブルを作成します。

CREATE TABLE employees_new (LIKE employees)

出力:

PostgreSQLでテーブル構造を作成する(データなし)5

構造と制約をコピーして PostgreSQL にテーブル構造を作成します。

制約付きの従業員テーブルの基本テーブル構造のみを作成します。つまり、元のテーブルと同じ構造で、データをコピーせず、主キー、非NULLなどの制約を付けた新しいテーブルを作成します。

CREATE TABLE employees_new (LIKE employees INCLUDING CONSTRAINTS)

出力:

PostgreSQLでテーブル構造を作成する(データなし)6

PostgreSQLで部分的なデータを含むテーブルのコピーを作成する

条件に基づいてPostgreSQLテーブルから部分的なデータを作成します。

CREATE TABLE employees_new_partial AS 
SELECT * FROM employees 
WHERE zip=98225;

条件 zip =98225 を持つテーブルの部分コピーが作成され、「employees_new_partial「

出力:

PostgreSQLでテーブル構造を作成する(データなし)7