ALTER TABLE…SET SCHEMA文を使用すると、既存のテーブルを別のスキーマに移動することができます。
以下にALTER TABLE…SET SCHEMA文の使用方法を記載します。
構文
1 |
ALTER TABLE 対象のテーブル名 SET SCHEMA 移動先のスキーマ名 {CASCADE | RESTRICT} |
オプション
CASCADE
デフォルトで適用されるオプション。対象テーブルに紐づく全てのプロジェクションが移動先のスキーマに移動されます。
RESTRICT
対象テーブルと同じスキーマ内に存在するプロジェクションのみ移動先のスキーマに移動されます。
publicスキーマのtable1をtestスキーマに移動する場合の例)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
移動前のテーブル一覧 dbadmin=> \d List of tables Schema | Name | Kind | Owner | Comment --------+-----------+-------+---------+--------- public | table1 | table | dbadmin | test | table2 | table | dbadmin | ALTER TABLE...SET SCHEMA文の実行 dbadmin=> ALTER TABLE table1 SET SCHEMA test; 移動後のプロジェクション情報 table1がtestスキーマに移動していることが確認できます。 dbadmin=> \d List of tables Schema | Name | Kind | Owner | Comment --------+-----------+-------+---------+--------- test | table1 | table | dbadmin | test | table2 | table | dbadmin | |