Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda/ Relational Database Service/ Perguntas frequentes/ Permissão do banco de dados/ Por que não conseguir criar um objeto no banco de dados postgres como um usuário comum?
Atualizado em 2023-08-29 GMT+08:00

Por que não conseguir criar um objeto no banco de dados postgres como um usuário comum?

Sintoma

  • Criar um esquema como um usuário comum

    Comando: CREATE SCHEMA my_schema;

    Erro: ERROR: permission denied for database postgres

  • Criar uma tabela como um usuário comum

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

    ERROR: permission denied for schema public

Solução

Um usuário comum não pode criar objetos no banco de dados postgres, mas um usuário root pode.

Alterne para o usuário root e assegure-se de que o kernel do banco de dados permita o escalonamento de privilégios de root. Para mais detalhes, consulte Privilégios do usuário root.

Privilégios do usuário root

O RDS for PostgreSQL não fornece permissões de superusuário, mas fornece permissões para o usuário root.

Para criar objetos em um banco de dados RDS for PostgreSQL sem riscos de operação, escalone sua conta para privilégios de root quando necessário.

A tabela a seguir descreve a escalação de privilégio raiz em diferentes versões.

Tabela 1 Privilégios do usuário root

Versão

Se a escalar privilégios

Versão inicial para escalonamento de privilégios

Pgcore9

Não

N/D

Pgcore10

Não

N/D

Pgcore11

Sim

11.11

Pgcore12

Sim

12.6

Pgcore13

Sim

13.2

Pgcore14

Sim

14.4

Escalone para privilégios de root quando precisar:

  • Criar um gatilho de evento.
  • Criar um wrapper.
  • Criar uma publicação de replicação lógica.
  • Criar uma assinatura de replicação lógica.
  • Consultar e manter origens de replicação.
  • Criar um usuário de replicação.
  • Criar um modelo de índice de texto completo e um analisador.
  • Executar o comando vacuum em uma tabela do sistema.
  • Executar o comando analyze em uma tabela do sistema.
  • Criar um plug-in.
  • Conceder uma permissão de objeto a um usuário.