閱讀162 返回首頁    go 阿裏雲


附錄:用戶及 Schema 管理__快速入門(PostgreSQL)_雲數據庫 RDS 版-阿裏雲

在使用 RDS 的過程中,由於 superuser 不完全放開,因此我們建議用戶在使用數據庫時遵循單獨建立用戶並通過 schema 管理用戶的私有空間。

說明: 本例中,myuser 是建立實例時創建的管理賬號,newuser 是當前需要新建的賬號。

方案一

  1. 通過初始帳號 myuser 建立有登錄權限的用戶。

    1. CREATE USER newuser LOGIN PASSWORD 'password';

    參數說明如下;

    • USER:要創建的用戶名,如 newuser
    • password:用戶名對應的密碼,如 password
  2. 為新用戶建立schema。

    1. CREATE SCHEMA newuser;
    2. GRANT myuser to newuser;
    3. ALTER SCHEMA myuser OWNER TO newuser;
    4. REVOKE newuser FROM myuser;

    說明:

    • 如果在進行 ALTER SCHEMA newuser OWNER TO newuser 之前沒有將 myuser 的角色賦予 newuser,將會出現如下權限問題:

      1. ERROR: must be member of role "newuser"
    • 從安全角度出發,在處理完 OWNER 的授權後,請將 newuser 移出 myuser 角色以提高安全性。

  3. 使用 newuser 登錄數據庫。

    1. psql -U newuser -h intranet4example.pg.rds.aliyuncs.com -p 3433 pg001
    2. Password for user newuser:
    3. psql.bin (9.4.4, server 9.4.1)
    4. Type "help" for help.

方案二

  1. 通過初始帳號 myuser 建立有登錄權限的用戶。

    1. CREATE USER newuser CREATEDB LOGIN PASSWORD 'password';

    參數說明如下;

    • USER: 要創建的用戶名,如 newuser
    • password: 用戶名對應的密碼,如 password
    • CREATEDB: 給用戶賦予建立數據庫的權限
  2. 使用新用戶 newuser 登陸到數據庫。

    1. psql -U <數據實例域名> -p 3433 -U newuser <數據庫名>
    2. CREATE DATABASE
  3. 為新用戶建立schema。

    1. CREATE SCHEMA newuser;
    2. GRANT myuser to newuser;
    3. ALTER SCHEMA myuser OWNER TO newuser;
    4. REVOKE newuser FROM myuser;

    說明:

    • 如果在進行 ALTER SCHEMA newuser OWNER TO newuser 之前沒有將 myuser 的角色賦予 newuser,將會出現如下權限問題:

      1. ERROR: must be member of role "newuser"
    • 從安全角度出發,在處理完 OWNER 的授權後,請將 newuser 移出 myuser 角色以提高安全性。

  4. 使用 newuser 登錄數據庫。

    1. psql -U newuser -h intranet4example.pg.rds.aliyuncs.com -p 3433 pg001
    2. Password for user newuser:
    3. psql.bin (9.4.4, server 9.4.1)
    4. Type "help" for help.

最後更新:2016-11-23 16:03:53

  上一篇:go 使用 psql 命令遷移 PostgreSQL 數據__快速入門(PostgreSQL)_雲數據庫 RDS 版-阿裏雲
  下一篇:go 使用 oss_fdw 讀寫外部數據文本文件__快速入門(PostgreSQL)_雲數據庫 RDS 版-阿裏雲