デフォルトのテーブルスペースを明示的に指定せずにPostgreSQLでデータベースを作成すると、データベースは問題なく作成されます(pgsysユーザーとしてログインしています)。
postgres =>データベースrich1を作成します。
データベースを作成
postgres => \ l +
データベースのリスト
名前| オーナー| エンコーディング| 照合| Ctype | アクセス権限| サイズ| テーブルスペース| 説明文
----------- + ---------- + ---------- + ------------- +- ----------- + ------------------------------------- + ----------- + ------------ + ------------------------- -------------------
postgres | pgsys | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 7455 kB | pg_default | デフォルトの管理接続データベース
rdsadmin | rdsadmin | UTF8 | en_US.UTF-8 | en_US.UTF-8 | rdsadmin = CTc / rdsadmin | アクセスなし| pg_default |
rich1 | pgsys | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 7233 kB | pg_default |
template0 | rdsadmin | UTF8 | en_US.UTF-8 | en_US.UTF-8 | = c / rdsadmin | 7345 kB | pg_default | 変更不可能な空のデータベース
:rdsadmin = CTc / rdsadmin
テンプレート1 | pgsys | UTF8 | en_US.UTF-8 | en_US.UTF-8 | = c / pgsys | 7345 kB | pg_default | 新しいデータベースのデフォルトテンプレート
:pgsys = CTc / pgsys
(5行)
ご覧のとおり、データベースはpg_defaultテーブルスペースに配置されていますが、テーブルスペース句でデフォルトテーブルスペースを指定すると(やはりpgsysとしてログインします)、権限エラーが発生します。
postgres =>データベースrich2テーブルスペースpg_defaultを作成します。 エラー:テーブルスペースpg_defaultの権限が拒否されました
そのユーザーの権限は次のとおりです。
postgres => \ du pgsys
役割のリスト
役割名| 属性| のメンバー
----------- + ------------- + -----------------
pgsys | 役割を作成| {rds_superuser}
:DBを作成
これはPostgreSQLのエラーですが、違いが生じる場合に備えて、これはAWS Auroraインスタンスであることを述べておきます。