Cuando creo una base de datos en PostgreSQL sin especificar explícitamente un espacio de tabla predeterminado, la base de datos se crea sin problemas (estoy conectado como usuario de pgsys ):
postgres => crear base de datos rich1; CREAR BASE DE DATOS postgres => \ l + Listado de bases de datos Nombre | Propietario | Codificación | Cotejo | Ctype | Privilegios de acceso | Tamaño | Espacio de tabla | Descripción ----------- + ---------- + ---------- + ------------- + - ----------- + ------------------------------------- + ----------- + ------------ + ------------------------- ------------------- postgres | pgsys | UTF8 | en_US.UTF-8 | en_US.UTF-8 | El | 7455 kB | pg_default | base de datos de conexión administrativa predeterminada rdsadmin | rdsadmin | UTF8 | en_US.UTF-8 | en_US.UTF-8 | rdsadmin = CTc / rdsadmin | Sin acceso | pg_default | rico1 | pgsys | UTF8 | en_US.UTF-8 | en_US.UTF-8 | El | 7233 kB | pg_default | template0 | rdsadmin | UTF8 | en_US.UTF-8 | en_US.UTF-8 | = c / rdsadmin | 7345 kB | pg_default | base de datos vacía no modificable : rdsadmin = CTc / rdsadmin plantilla1 | pgsys | UTF8 | en_US.UTF-8 | en_US.UTF-8 | = c / pgsys | 7345 kB | pg_default | plantilla predeterminada para nuevas bases de datos : pgsys = CTc / pgsys (5 filas)
Como puede ver, la base de datos se coloca en el espacio de tabla pg_default, pero si especifico el espacio de tabla predeterminado en la cláusula de espacio de tabla (también todavía conectado como pgsys ) obtengo un error de permiso:
postgres => crear base de datos rich2 tablespace pg_default; ERROR: permiso denegado para tablespace pg_default
Aquí están los permisos para ese usuario:
postgres => \ du pgsys Lista de roles Nombre del rol | Atributos | Miembro de ----------- + ------------- + ----------------- pgsys | Crear rol | {rds_superuser} : Crear DB
Este es un error de PostgreSQL, pero debo mencionar que se trata de una instancia de AWS Aurora en caso de que marque la diferencia.