Когда я создаю базу данных в PostgreSQL без явного указания табличного пространства по умолчанию, база данных создается без проблем (я вошел в систему как пользователь pgsys ):
postgres => создать базу данных rich1;
СОЗДАТЬ БАЗУ ДАННЫХ
postgres => \ l +
Список баз данных
Имя | Владелец | Кодировка | Сопоставление | Ctype | Права доступа | Размер | Табличное пространство | Описание
----------- + ---------- + ---------- + ------------- + - ----------- + ------------------------------------- + ----------- + ------------ + ------------------------- -------------------
Postgres | pgsys | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 7455 кБ | pg_default | база данных административных подключений по умолчанию
рдсадмин | рдсадмин | 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 кБ | pg_default |
template0 | рдсадмин | UTF8 | en_US.UTF-8 | en_US.UTF-8 | = c / rdsadmin | 7345 кБ | pg_default | неизменяемая пустая база данных
: rdsadmin = CTc / rdsadmin
template1 | pgsys | UTF8 | en_US.UTF-8 | en_US.UTF-8 | = c / pgsys | 7345 кБ | pg_default | шаблон по умолчанию для новых баз данных
: pgsys = CTc / pgsys
(5 рядов)
Как вы можете видеть, база данных помещается в табличное пространство pg_default, но если я укажу табличное пространство по умолчанию в предложении tablespace (также все еще зарегистрировано как pgsys ), я получу ошибку разрешения:
postgres => создать базу данных rich2 табличное пространство pg_default; ОШИБКА: отказано в доступе к табличному пространству pg_default
Вот разрешения для этого пользователя:
postgres => \ du pgsys
Список ролей
Название роли | Атрибуты | Член
----------- + ------------- + -----------------
pgsys | Создать роль | {} Rds_superuser
: Создать базу данных
Это ошибка PostgreSQL, но я должен отметить, что это экземпляр AWS Aurora в случае, если это имеет значение.