Criar e gerenciar usuários do PostgreSQL

Nesta página, veja como configurar a conta de usuário padrão e criar, excluir e atualizar outras contas de usuário em instâncias do Cloud SQL.

Para saber como os usuários trabalham com o Cloud SQL, consulte Usuários do PostgreSQL.

Antes de começar

Antes de concluir as tarefas desta página, você precisa criar a instância do Cloud SQL. Para saber mais, consulte o artigo Criar instâncias.

Se você planeja usar o cliente administrativo do banco de dados para gerenciar usuários, é necessário configurar:

Configurar a conta de usuário padrão

Ao criar uma nova instância do Cloud SQL, você precisa configurar a conta de usuário padrão antes de poder se conectar à instância.

Para o Cloud SQL para PostgreSQL, o usuário padrão é postgres.

Para configurar o usuário padrão:

Console

  1. Acesse a página "Instâncias" do Cloud SQL no Console do Google Cloud Platform.

    Acessar a página "Instâncias" do Cloud SQL

  2. Clique na instância para abrir a respectiva página "Visão geral".
  3. Selecione a guia Usuários.
  4. Localize o usuário postgres e selecione Alterar senha no menu Mais ações Ícone mais ações..
  5. Forneça uma senha forte, de que se lembre posteriormente, e clique em OK.

gcloud

Defina a senha do usuário padrão:

gcloud sql users set-password postgres \
    --instance=[INSTANCE_NAME] --prompt-for-password

cURL

A seguinte solicitação usa o método users:update para atualizar o usuário postgres.

ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json' \
     --data '{"name": "postgres", "password": "[PASSWORD]"}' \
     -X PUT \
     'https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[INSTANCE_NAME]/users?name=postgres&'

Criar um usuário

Para criar um usuário:

Console

  1. Acesse a página "Instâncias" do Cloud SQL no Console do Google Cloud Platform.

    Acessar a página "Instâncias" do Cloud SQL

  2. Selecione a instância para abrir a página "Visão geral" correspondente.
  3. Selecione a guia Usuários.
  4. Clique em Criar conta de usuário.
  5. Na caixa de diálogo Criar conta de usuário, especifique:
    • um Nome de usuário
    • uma Senha
  6. Clique em Criar.

Os usuários criados com o Cloud SQL têm os privilégios associados ao papel cloudsqlsuperuser: CREATEROLE, CREATEDB e LOGIN. Se precisar alterar os atributos de um usuário, use o comando ALTER ROLE (em inglês) no cliente psql.

gcloud

Crie o usuário:

gcloud sql users create [USER_NAME] \
   --instance=[INSTANCE_NAME] --password=[PASSWORD]

Os usuários criados com o Cloud SQL têm os privilégios associados ao papel cloudsqlsuperuser: CREATEROLE, CREATEDB e LOGIN. Se precisar alterar os atributos de um usuário, use o comando ALTER ROLE (em inglês) no cliente psql.

cURL

A seguinte solicitação usa o método users:insert para criar uma conta de usuário "user_name".

ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json' \
     --data '{"name": "[USER_NAME]", "password": "[PASSWORD]"}' \
     -X POST \
     https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[INSTANCE_NAME]/users

Os usuários criados com o Cloud SQL têm os privilégios associados ao papel cloudsqlsuperuser: CREATEROLE, CREATEDB e LOGIN. Se precisar alterar os atributos de um usuário, use o comando ALTER ROLE (em inglês) no cliente psql.

Cliente psql

  1. No prompt psql, crie o usuário:
    CREATE USER [USER_NAME] WITH [ATTRIBUTE1] [ATTRIBUTE2]...;
    \password [USER_NAME];
    

    Digite a senha quando solicitada.

    Para conferir mais informações sobre atributos de função, veja a documentação do PostgreSQL.

  2. Você pode confirmar a criação do usuário exibindo a tabela do usuário:
    SELECT * FROM pg_roles;
    

Alterar uma senha de usuário

Para alterar uma senha de usuário:

Console

  1. Acesse a página "Instâncias" do Cloud SQL no Console do Google Cloud Platform.

    Acessar a página "Instâncias" do Cloud SQL

  2. Selecione a instância para abrir a página "Visão geral" correspondente.
  3. Selecione Controle de acesso > Usuários.
  4. Selecione o usuário a ser atualizado e clique em Mais ações Ícone mais ações..
  5. Selecione Alterar senha, especifique uma nova senha e clique em OK.

gcloud

Atualize a senha:

gcloud sql users set-password [USER_NAME] \
   --instance=[INSTANCE_NAME] --prompt-for-password

cURL

A seguinte solicitação usa o método users:update para atualizar a senha da conta de usuário "user_name".

ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json' \
     --data '{"name": "[USER_NAME]", "password": "[PASSWORD]"}' \
     -X PUT \
     'https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[INSTANCE_NAME]/users?name=[USER_NAME]'

Cliente psql

  1. No prompt psql, altere a senha:
    \password [USER];
    

    Digite a senha quando solicitada.

Atualizar usuários

Para atualizar propriedades do usuário, como atributos, é necessário usar o cliente psql. Para mais informações, consulte Papéis de banco de dados na documentação do PostgreSQL.

Listar usuários

Para listar usuários:

Console

  1. Acesse a página "Instâncias" do Cloud SQL no Console do Google Cloud Platform.

    Acessar a página "Instâncias" do Cloud SQL

  2. Selecione a instância para abrir a página "Visão geral" correspondente.
  3. Selecione Controle de acesso > Usuários.

gcloud

Liste os usuários desta instância:

gcloud sql users list --instance=[INSTANCE_NAME]

Para ver uma lista completa de parâmetros desse comando, consulte a página de referência da lista de usuários do gcloud sql.

cURL

A seguinte solicitação usa o método users:list para listar os usuários definidos para uma instância.

ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     -X GET \
     https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[INSTANCE_NAME]/users

Cliente psql

No prompt psql, liste os usuários do PostgreSQL:

SELECT * FROM pg_roles;

Excluir usuários

Para excluir um usuário:

Console

  1. Acesse a página "Instâncias" do Cloud SQL no Console do Google Cloud Platform.

    Acessar a página "Instâncias" do Cloud SQL

  2. Selecione a instância para abrir a página "Visão geral" correspondente.
  3. Selecione Controle de acesso > Usuários.
  4. Selecione o usuário a ser excluído e clique em Mais ações Ícone mais ações..
  5. Selecione Excluir e clique em OK.

gcloud

Excluir o usuário:

gcloud sql users delete [USER_NAME] --host=[HOST] --instance=[INSTANCE_NAME]

O parâmetro host é ignorado. Forneça qualquer valor.

cURL

A seguinte solicitação usa o método users:delete para excluir a conta de usuário especificada.

ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json' \
     --data '{"name": "[USER_NAME]", "host": ""}' \
     -X DELETE \
     'https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[INSTANCE_NAME]/users?host=&name=[USER_NAME]'

Cliente psql

  1. No prompt psql, exclua o usuário:
    DROP ROLE [USER_NAME];
    

    Para mais informações sobre a instrução DROP ROLE, consulte a documentação do PostgreSQL (em inglês).

Próximas etapas

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Cloud SQL para PostgreSQL