メモ
PostgreSQLのバージョン: 8.4.1
管理者でログイン
% sudo su - postgres $ psql
ユーザの作成
管理者ユーザを作成する場合、オプションにsuperuserを付ける。
postgres=# CREATE ROLE hogeuser SUPERUSER LOGIN;
データベースの作成
postgres=# CREATE DATABASE testdb OWNER=hogeuser;
テーブルの作成
CREATE TABLE t1 ( id SERIAL, cd1 TEXT, cd2 TEXT, name1 TEXT, CONSTRAINT t1_pk PRIMARY KEY (id), CONSTRAINT t1_uk1 UNIQUE (cd1) ); NOTICE: CREATE TABLEはシリアル列"t1.id"用に暗黙的なシーケンス"t1_id_seq"を作成します。 NOTICE: CREATE TABLE / PRIMARY KEYはテーブル"t1"に暗黙的なインデックス"t1_pk"を作成 します NOTICE: CREATE TABLE / UNIQUEはテーブル"t1"に暗黙的なインデックス"t1_uk1"を作成しま す
スキーマの作成
CREATE SCHEMA hogeuser AUTHORIZATION hogeuser;
テーブルを別のスキーマに引っ越す
テーブル t1 を public から hogeuser へ
ALTER TABLE t1 SET SCHEMA hogeuser;
シーケンス、インデックスのスキーマも変更される。
testdb=# \d リレーションの一覧 スキーマ | 名前 | 型 | 所有者 ---------+-----------+----------+-------- hogeuser | t1 | table | hogeuser hogeuser | t1_id_seq | sequence | hogeuser testdb=# \di リレーションの一覧 スキーマ | 名前 | 型 | 所有者 | テーブル ---------+--------+-------+----------+---------- hogeuser | t1_pk | index | hogeuser | t1 hogeuser | t1_uk1 | index | hogeuser | t1 (2 行)