O ApsaraDB RDS for PostgreSQL não oferece contas de superusuário. Recomendamos criar contas separadas para cada banco de dados e gerenciar os objetos de cada conta por meio do schema correspondente.
Neste exemplo, a conta privilegiada myuser, criada durante a criação da instância do ApsaraDB RDS, é usada para criar uma conta chamada newuser.
Solução 1
-
Use a conta privilegiada myuser para criar uma conta chamada newuser com permissão de login no banco de dados.
CREATE USER newuser LOGIN PASSWORD 'password';Descrição:
USER: nome de usuário da conta.
password: senha da conta.
-
Crie um schema para a conta newuser.
CREATE SCHEMA newuser; GRANT newuser to myuser; ALTER SCHEMA newuser OWNER TO newuser; REVOKE newuser FROM myuser;Nota-
Se a função myuser não estiver vinculada à conta newuser antes da execução da instrução
ALTER SCHEMA newuser OWNER TO newuser, o seguinte erro será exibido:ERROR: must be member of role "newuser" Após conceder as permissões de OWNER à conta newuser, desvincule a função myuser da conta newuser. Essa prática garante a segurança da instância RDS.
-
-
Faça login no banco de dados com a conta newuser.
psql -U newuser -h intranet4example.pg.rds.aliyuncs.com -p 3433 pg001 Password for user newuser: psql.bin (9.4.4, server 9.4.1) Type "help" for help.
Solução 2
-
Use a conta privilegiada myuser para criar uma conta chamada newuser com permissão de login no banco de dados.
CREATE USER newuser CREATEDB LOGIN PASSWORD 'password';Descrição:
USER: nome de usuário da conta.
password: senha da conta.
CREATEDB: concede à conta newuser permissão para criar bancos de dados.
-
Faça login no banco de dados com a conta newuser.
psql -U <Endpoint of the RDS instance> -p 3433 -U newuser <Database name> CREATE DATABASE -
Crie um schema para a conta newuser.
CREATE SCHEMA newuser; GRANT myuser to newuser; ALTER SCHEMA myuser OWNER TO newuser; REVOKE newuser FROM myuser;Nota-
Se a função myuser não estiver vinculada à conta newuser antes da execução da instrução
ALTER SCHEMA myuser OWNER TO newuser, o seguinte erro será exibido:ERROR: must be member of role "newuser" Após conceder as permissões de OWNER à conta newuser, desvincule a função myuser da conta newuser. Essa prática garante a segurança da instância RDS.
-
-
Faça login no banco de dados com a conta newuser.
psql -U newuser -h intranet4example.pg.rds.aliyuncs.com -p 3433 pg001 Password for user newuser: psql.bin (9.4.4, server 9.4.1) Type "help" for help.