PostgreSQL

PostgreSQL スキーマ作成

create schema

スキーマはデータベース内に存在する名前空間なので、create schema文は現在接続しているデータベース内に作成します。authorization オプションを使った場合、そのスキーマに作成されるオブジェクトは authorization オプションで指定したユーザが所有者になります。参考までにですが、「pg_」で始まるスキーマ名を作成する事はできません。pg_始まりのプレフィクスはシステムスキーマ名として予約されています。

create schema udonman 
;
-- スキーマ配下に作成されるオブジェクトの所有者はauthorizationで指定したユーザとなる
create schema udonman authorization sooni  
;
作成例

ユーザと同じスキーマを作成した場合、同時にカレントスキーマも変更します。


-- 事前にサーチパスを確認
-- (デフォルトの状態)

--
udondb=> show search_path;
   search_path
-----------------
 "$user", public
(1 行)

-- ユーザと同一名のスキーマを作成する前はログインした際のカレントスキーマは
-- publicになっています。
--
udondb=> select current_user,current_schema,current_database()
udondb-> ;
 current_user | current_schema | current_database
--------------+----------------+------------------
 udonman      | public         | udondb
(1 行)


-- ユーザと同じ名前のスキーマを作成する
--
udondb=> create schema udonman;
CREATE SCHEMA

-- 以下の通りスキーマ作成と同時にカレントスキーマも変更しています。
--
udondb=> select current_user,current_schema,current_database()
udondb-> ;
 current_user | current_schema | current_database
--------------+----------------+------------------
 udonman      | udonman        | udondb
(1 行)


udondb=>

スキーマ一覧

スポンサーリンク
コピペで使う
タイトルとURLをコピーしました