すべてのプロダクト
Search
ドキュメントセンター

:スキーマを使用したアカウントの管理

最終更新日:Mar 07, 2025

ApsaraDB RDS for PostgreSQL はスーパーユーザーアカウントを提供していません。データベースごとに個別のアカウントを作成することをお勧めします。その後、各アカウントのオブジェクトを、そのアカウントのスキーマを使用して管理できます。

説明 この例では、ApsaraDB RDS インスタンスの作成時に作成される特権アカウント myuser を使用して、newuser という名前のアカウントを作成します。

解決策 1

  1. 特権アカウント myuser を使用して、データベースにログインする権限を持つ newuser という名前のアカウントを作成します。
    CREATE USER newuser LOGIN PASSWORD 'password';

    説明:

    • USER: アカウントのユーザー名。
    • password: アカウントのパスワード。
  2. newuser アカウントのスキーマを作成します。
    CREATE SCHEMA newuser;
    GRANT newuser to myuser;
    ALTER SCHEMA newuser OWNER TO newuser;
    REVOKE newuser FROM myuser;
    説明
    • ALTER SCHEMA newuser OWNER TO newuser 文を実行する前に myuser ロールが newuser アカウントにアタッチされていない場合、次のエラーが報告されます。

         ERROR:  must be member of role "newuser"
    • OWNER 権限を newuser アカウントに付与した後、RDS インスタンスのセキュリティを確保するために、myuser ロールを newuser アカウントからデタッチすることをお勧めします。

  3. 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.

解決策 2

  1. 特権アカウント myuser を使用して、データベースにログインする権限を持つ newuser という名前のアカウントを作成します。
    CREATE USER newuser CREATEDB LOGIN PASSWORD 'password';

    説明:

    • USER: アカウントのユーザー名。
    • password: アカウントのパスワード。
    • CREATEDB: newuser アカウントにデータベースを作成する権限を付与します。
  2. newuser アカウントを使用してデータベースにログインします。
    psql -U <RDS インスタンスのエンドポイント> -p 3433 -U newuser <データベース名>
    CREATE DATABASE
  3. newuser アカウントのスキーマを作成します。
    CREATE SCHEMA newuser;
    GRANT myuser to newuser;
    ALTER SCHEMA myuser OWNER TO newuser;
    REVOKE newuser FROM myuser;
    説明
    • ALTER SCHEMA myuser OWNER TO newuser 文を実行する前に myuser ロールが newuser アカウントにアタッチされていない場合、次のエラーが報告されます。

        ERROR:  must be member of role "newuser"
    • OWNER 権限を newuser アカウントに付与した後、RDS インスタンスのセキュリティを確保するために、myuser ロールを newuser アカウントからデタッチすることをお勧めします。

  4. 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.