Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ Relational Database Service/ Preguntas frecuentes/ Permiso de base de datos/ ¿Por qué no puedo crear un objeto en la base de datos postgres como usuario común?
Actualización más reciente 2024-06-06 GMT+08:00

¿Por qué no puedo crear un objeto en la base de datos postgres como usuario común?

Síntoma

  • Creación de un esquema como usuario común

    Comando: CREATE SCHEMA my_schema;

    Error: ERROR: permiso denegado para postgres de base de datos

  • Creación de una tabla como usuario común

    Comando: CREATE TABLE my_table(id int PRIMARY KEY,name VARCHAR(30));

    ERROR: permiso denegado para el esquema público

Solución

Un usuario común no puede crear objetos en la base de datos de postgres, pero un usuario root sí.

Cambie al usuario root y asegúrese de que el kernel de su base de datos permita la escalada de privilegios de root. Para obtener más información, consulte Privilegios del usuario root.

Privilegios del usuario root

RDS for PostgreSQL proporciona permisos para el usuario root. Para crear objetos en una base de datos RDS for PostgreSQL sin riesgos de operación, escalar su cuenta a privilegios de root cuando sea necesario.

La siguiente tabla describe la escalada de privilegios de root en diferentes versiones.

Tabla 1 Privilegios del usuario root

Versión

Si se deben escalar los privilegios

Versión inicial para la escalada de privilegios

Pgcore9

No

N/A

Pgcore10

No

N/A

Pgcore11

11.11

Pgcore12

12.6

Pgcore13

13.2

Pgcore14

14.4

Ascienda a privilegios de root cuando necesite:

  • Crear un activador de evento.
  • Crear una envoltura.
  • Crear una publicación de replicación lógica.
  • Crear una suscripción de replicación lógica.
  • Consultar y mantener los orígenes de replicación.
  • Crear un usuario de replicación.
  • Crear una plantilla de índice de texto completo y un analizador.
  • Ejecutar el comando vacuum en una tabla del sistema.
  • Ejecutar el comando analyze en una tabla del sistema.
  • Crear un complemento.
  • Otorgar un permiso de objeto a un usuario.