PostgreSQLでテーブルを複製する方法.

目次

  1. データごと複製
  2. 構造のみ複製
  3. 構造のみ抽出
  4. テーブルから一部抽出して複製

データごと複製

CREATE TABLE 複製先テーブル AS TABLE 複製元テーブル;

構造のみ複製

列名などをとってくるなら、

CREATE TABLE 複製先テーブル AS TABLE 複製元テーブル WITH NO DATA;

非NULL制約なども必要なら、

CREATE TABLE テーブル名 (LIKE 参照テーブル名 INCLUDING ALL);

構造のみ抽出

SELECT * FROM テーブル名 WHERE 列名 LIKE '%名称の一部%';

テーブルから一部抽出して複製

CREATE TABLE 一部複製先テーブル AS SELECT 列名 FROM テーブル名;