Help Center/ GaussDB/ API Reference/ APIs (Recommended)/ Database and Account Management/ Configuring Permissions of a Database Role
Updated on 2025-08-19 GMT+08:00

Configuring Permissions of a Database Role

Function

This API is used to configure permissions of a database role for a specified instance. Before calling this API:

Constraints

  • This operation cannot be performed when the instance is in any of the following statuses: creating, changing instance specifications, frozen, or abnormal.
  • By default, read-only users have the create and usage permissions on the public schemas.
  • This API can only be used to configure permissions for a role at a time.
  • This API is unavailable for GaussDB instances in the M-compatible mode.

URI

POST /v3.1/{project_id}/instances/{instance_id}/db-privilege

Table 1 Parameter description

Parameter

Mandatory

Type

Description

project_id

Yes

String

Definition

Project ID of a tenant in a region.

To obtain the value, see Obtaining a Project ID.

Constraints

N/A

Range

The value can contain 32 characters. Only letters and digits are allowed.

Default Value

N/A

instance_id

Yes

String

Definition

Instance ID, which uniquely identifies an instance.

Constraints

N/A

Range

The value can contain 36 characters. Only letters and digits are allowed.

Default Value

N/A

Request Parameters

Table 2 Parameter description

Parameter

Mandatory

Type

Description

db_name

Yes

String

Definition

Database name.

Constraints

The name cannot be a template database and must be an existing database name.

Template databases include postgres, template0, template1.

Range

N/A

Default Value

N/A

user

Yes

Object

Definition

Roles and permissions. For details, see Table 3.

Constraints

N/A

Table 3 user field data structure description

Parameter

Mandatory

Type

Description

name

Yes

String

Definition

Database role name.

Constraints

The name cannot be a system user or system role and must be an existing user or role.

System users or roles include rdsAdmin, rdsMetric, rdsBackup, rdsRepl, and root.

Range

N/A

Default Value

N/A

readonly

Yes

Boolean

Definition

Database permissions.

Constraints

N/A

Range

  • true: read only
  • false: read and write

Default Value

N/A

schema

Yes

String

Definition

Schema name.

Constraints

The name cannot be a template database or system schema and must be an existing schema. Template databases include postgres, template0, and template1. System schemas include public and information_schema.

Range

N/A

Default Value

N/A

default_privilege_grantee

No

String

Definition

Database user or role name.

The permissions of the user or role are granted to the role specified by the name field. The readonly field determines whether to grant the read-only permissions.

Constraints

The name cannot be a system user or system role and must be an existing user or role. System users or roles include rdsAdmin, rdsMetric, rdsBackup, rdsRepl, and root.

Range

N/A

Default Value

N/A

Example Request

Configuring permissions of a database role
POST https://gaussdb-opengauss.ap-southeast-1.myhuaweicloud.com/v3.1/0483b6b16e954cb88930a360d2c4e663/instances/{instance_id}/db-privilege
{ 
  "db_name" : "gaussdb_test", 
  "user" : { 
     "name" : "rds", 
     "schema" : "rds001", 
     "readonly" : false ,
     "default_privilege_grantee": ""
   } 
 
}

Example Response

None

Status Codes

Error Codes

For details, see Error Codes.