PostgreSQL 13.2でスキーマの所有者を指定してスキーマを作成する

環境
Windows 10 Home 64bit
PostgreSQL 13.2

構文
CREATE SCHEMA スキーマ名 AUTHORIZATION 所有者
スキーマ名とスキーマの所有者を指定して新しいスキーマを作成します。
スキーマを作成した場合、作成されたスキーマの所有者はスキーマを作成したロールとなりますが、所有者として別のロールを指定してスキーマを作成することもできます。

操作方法
1.testdb データベースに接続します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
postgres=# \c testdb
データベース"testdb"にユーザ"postgres"として接続しました。
postgres=# \c testdb データベース"testdb"にユーザ"postgres"として接続しました。
postgres=# \c testdb
データベース"testdb"にユーザ"postgres"として接続しました。

2.作成済みのロール一覧を表示します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
testdb=# \du
ロール一覧
ロール名 | 属性 | 所属グループ
----------+--------------------------------------------------------------------------+--------------
ark00 | ロール作成可 | {}
arkgame | | {}
postgres | スーパユーザ, ロール作成可, DB作成可, レプリケーション可, RLS のバイパス | {}
test01 | | {}
testuser | パスワードの有効期限 infinity | {}
tpes | スーパユーザ | {}
testdb=# \du ロール一覧 ロール名 | 属性 | 所属グループ ----------+--------------------------------------------------------------------------+-------------- ark00 | ロール作成可 | {} arkgame | | {} postgres | スーパユーザ, ロール作成可, DB作成可, レプリケーション可, RLS のバイパス | {} test01 | | {} testuser | パスワードの有効期限 infinity | {} tpes | スーパユーザ | {}
testdb=# \du
                                             ロール一覧
 ロール名 |                                   属性                                   | 所属グループ
----------+--------------------------------------------------------------------------+--------------
 ark00    | ロール作成可                                                             | {}
 arkgame  |                                                                          | {}
 postgres | スーパユーザ, ロール作成可, DB作成可, レプリケーション可, RLS のバイパス | {}
 test01   |                                                                          | {}
 testuser | パスワードの有効期限 infinity                                            | {}
 tpes     | スーパユーザ                                                             | {}

3.スキーマ名(arkcftschema)とスキーマの所有者(arkgame)を指定して新しいスキーマを作成します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
testdb=# create schema arkcftschema authorization arkgame;
CREATE SCHEMA
testdb=# create schema arkcftschema authorization arkgame; CREATE SCHEMA
testdb=# create schema arkcftschema authorization arkgame;
CREATE SCHEMA

4.作成済みスキーマを確認します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
testdb=# \dn
スキーマ一覧
名前 | 所有者
--------------+----------
arkcftschema | arkgame
arkschema | arkgame
cft | postgres
cftschema | postgres
public | postgres
testsch | postgres
(6)
testdb=# \dn スキーマ一覧 名前 | 所有者 --------------+---------- arkcftschema | arkgame arkschema | arkgame cft | postgres cftschema | postgres public | postgres testsch | postgres (6 行)
testdb=# \dn
      スキーマ一覧
     名前     |  所有者
--------------+----------
 arkcftschema | arkgame
 arkschema    | arkgame
 cft          | postgres
 cftschema    | postgres
 public       | postgres
 testsch      | postgres
(6 行)

 

PostgreSQL

Posted by arkgame