Updated on 2024-01-12 GMT+08:00

Querying Database Users

Function

This API is used to query database users for a specified DB instance.

  • Before calling an API, you need to understand the API in Authentication.

Constraints

  • This operation cannot be performed when the DB instance is in any of the following statuses: creating, changing instance class, changing port, or abnormal.

URI

  • URI format

    GET /v3/{project_id}/instances/{instance_id}/db_user/detail?page={page}&limit={limit}

  • Parameter description
    Table 1 Parameter description

    Name

    Mandatory

    Description

    project_id

    Yes

    Specifies the project ID of a tenant in a region.

    For details about how to obtain the project ID, see Obtaining a Project ID.

    instance_id

    Yes

    Specifies the DB instance ID.

    page

    Yes

    Specifies the page number. The value starts from 1.

    limit

    Yes

    Specifies the number of records on each page. The value range is from 1 (inclusive) to 100 (inclusive).

Request

  • Request parameters

    None

Response

  • Normal response
    Table 2 Parameter description

    Name

    Type

    Description

    users

    Array of objects

    Each element in the list indicates a database account.

    For details, see Table 3.

    total_count

    Integer

    Indicates the total number of database users.

    Table 3 users element structure description

    Name

    Type

    Description

    name

    String

    Indicates the account name.

    attributes

    Object

    Indicates permission attributes of a user.

    For details, see Table 4.

    memberof

    Array of strings

    Indicates default rights of a user.

    Table 4 attributes element structure description

    Name

    Type

    Description

    rolsuper

    Boolean

    Indicates whether a user has the super user permission. The value is false.

    rolinherit

    Boolean

    Indicates whether a user automatically inherits the permissions of the role to which the user belongs. The value can be true or false.

    rolcreaterole

    Boolean

    Indicates whether a user can create other sub-users. The value can be true or false.

    rolcreatedb

    Boolean

    Indicates whether a user can create a database. The value can be true or false.

    rolcanlogin

    Boolean

    Indicates whether a user can log in to the database. The value can be true or false.

    rolconnlimit

    Integer

    Indicates the maximum number of concurrent connections to a DB instance. The value -1 indicates that there are no limitations on the number of concurrent connections.

    rolreplication

    Boolean

    Indicates whether the user is a replication role. The value can be true or false.

    rolbypassrls

    Boolean

    Indicates whether a user bypasses each row-level security policy. The value can be true or false.

  • Example normal response
    {
    "users": [
    {
      "name": "rdsuser",
      "attributes": {
        "rolsuper": false,
        "rolinherit": true,
        "rolcreaterole": true,
        "rolcreatedb": true,
        "rolcanlogin": true,
        "rolconnlimit": -1,
        "rolreplication": true,
        "rolbypassrls": false
       },
      "memberof": ["pg_monitor", "pg_read_all_stats", "pg_stat_scan_tables", "pg_signal_backend"]
    }, 
    {
      "name": "rdsuser1",
      "attributes": {
        "rolsuper": false,
        "rolinherit": true,
        "rolcreaterole": true,
        "rolcreatedb": true,
        "rolcanlogin": true,
        "rolconnlimit": -1,
        "rolreplication": true,
        "rolbypassrls": false
    },
      "memberof": []
    }],
    "total_count": 2
    }

Status Code

Error Code

For details, see Error Codes.