ApsaraDB RDS for PostgreSQL tidak menyediakan akun superuser. Kami menyarankan Anda membuat akun terpisah untuk setiap basis data, kemudian mengelola objek dari setiap akun menggunakan skema yang sesuai.
Solusi 1
- Gunakan akun istimewa myuser untuk membuat akun bernama newuser yang memiliki izin untuk masuk ke basis data.
CREATE USER newuser LOGIN PASSWORD 'password';Deskripsi:
- USER: Nama pengguna dari akun.
- password: Kata sandi dari akun.
- Buat skema untuk akun newuser.
CREATE SCHEMA newuser; GRANT newuser to myuser; ALTER SCHEMA newuser OWNER TO newuser; REVOKE newuser FROM myuser;CatatanJika peran myuser tidak dilampirkan ke akun newuser sebelum Anda menjalankan pernyataan
ALTER SCHEMA newuser OWNER TO newuser, kesalahan berikut akan dilaporkan:ERROR: must be member of role "newuser"Setelah memberikan izin OWNER kepada akun newuser, kami sarankan melepas peran myuser dari akun newuser untuk memastikan keamanan instance RDS.
- Masuk ke basis data menggunakan akun 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.
Solusi 2
- Gunakan akun istimewa myuser untuk membuat akun bernama newuser yang memiliki izin untuk masuk ke basis data.
CREATE USER newuser CREATEDB LOGIN PASSWORD 'password';Deskripsi:
- USER: Nama pengguna dari akun.
- password: Kata sandi dari akun.
- CREATEDB: Memberikan akun newuser izin untuk membuat basis data.
- Masuk ke basis data menggunakan akun newuser.
psql -U <Endpoint of the RDS instance> -p 3433 -U newuser <Database name> CREATE DATABASE - Buat skema untuk akun newuser.
CREATE SCHEMA newuser; GRANT myuser to newuser; ALTER SCHEMA myuser OWNER TO newuser; REVOKE newuser FROM myuser;CatatanJika peran myuser tidak dilampirkan ke akun newuser sebelum Anda menjalankan pernyataan
ALTER SCHEMA myuser OWNER TO newuser, kesalahan berikut akan dilaporkan:ERROR: must be member of role "newuser"Setelah memberikan izin OWNER kepada akun newuser, kami sarankan melepas peran myuser dari akun newuser untuk memastikan keamanan instance RDS.
- Masuk ke basis data menggunakan akun 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.