1. 接口描述
接口请求域名: postgres.tencentcloudapi.com 。
查询数据库账号对某数据库对象拥有的权限列表。
默认接口请求频率限制:20次/秒。
推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。
2. 输入参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Action | 是 | String | 公共参数,本接口取值:DescribeAccountPrivileges。 |
Version | 是 | String | 公共参数,本接口取值:2017-03-12。 |
Region | 是 | String | 公共参数,详见产品支持的 地域列表。 |
DBInstanceId | 是 | String | 实例ID。 示例值:postgres-4sfuv15b |
UserName | 是 | String | 查询此账号对某数据库对象所拥有的权限信息。 示例值:test |
DatabaseObjectSet.N | 是 | Array of DatabaseObject | 要查询的数据库对象信息 示例值:[{"ObjectType":"table","ObjectName":"users","DatabaseName":"user_database","SchemaName":"user_schema"}] |
3. 输出参数
参数名称 | 类型 | 描述 |
---|---|---|
PrivilegeSet | Array of DatabasePrivilege | 用户拥有数据库user_database的CREATE、CONNECT、TEMPORARY权限 示例值:{"Object": {"DatabaseName": "", "ObjectName": "user_database", "ObjectType": "database", "SchemaName": "", "TableName": "" }, "PrivilegeSet": [ "CREATE", "CONNECT", "TEMPORARY"] } |
RequestId | String | 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 |
4. 示例
示例1 查看账号类型
查看账号类型
输入示例
POST / HTTP/1.1
Host: postgres.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: DescribeAccountPrivileges
<公共请求参数>
{
"DBInstanceId": "postgres-5cz25tr5",
"UserName": "user_without_permission",
"DatabaseObjectSet": [
{
"ObjectType": "account",
"ObjectName": "user_without_permission"
}
]
}
输出示例
{
"Response": {
"PrivilegeSet": [
{
"Object": {
"DatabaseName": "",
"ObjectName": "without_per",
"ObjectType": "account",
"SchemaName": "",
"TableName": ""
},
"PrivilegeSet": [
"tencentDBSuper"
]
}
],
"RequestId": "dc43ec52-efbe-4bde-b588-bfa427a8c29b"
}
}
示例2 查询数据库权限
查询账号without_per对数据库user_database的权限
输入示例
POST / HTTP/1.1
Host: postgres.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: DescribeAccountPrivileges
<公共请求参数>
{
"DBInstanceId": "postgres-5cz25tr5",
"UserName": "without_per",
"DatabaseObjectSet": [
{
"ObjectType": "database",
"ObjectName": "user_database"
}
]
}
输出示例
{
"Response": {
"PrivilegeSet": [
{
"Object": {
"DatabaseName": "",
"ObjectName": "user_database",
"ObjectType": "database",
"SchemaName": "",
"TableName": ""
},
"PrivilegeSet": [
"CREATE",
"CONNECT",
"TEMPORARY"
]
}
],
"RequestId": "fc891ba1-8943-4116-8eb6-4696873d90c8"
}
}
示例3 查询模式权限
查询账号without_per对user_database数据库下,user_schema的权限
输入示例
POST / HTTP/1.1
Host: postgres.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: DescribeAccountPrivileges
<公共请求参数>
{
"DBInstanceId": "postgres-5cz25tr5",
"UserName": "without_per",
"DatabaseObjectSet": [
{
"ObjectType": "schema",
"ObjectName": "user_schema",
"DatabaseName": "user_database"
}
]
}
输出示例
{
"Response": {
"PrivilegeSet": [
{
"Object": {
"DatabaseName": "user_database",
"ObjectName": "user_schema",
"ObjectType": "schema",
"SchemaName": "",
"TableName": ""
},
"PrivilegeSet": [
"USAGE",
"CREATE"
]
}
],
"RequestId": "410f0673-c35c-401e-97c8-d4e196d1f33c"
}
}
示例4 批量查询
批量查询
输入示例
POST / HTTP/1.1
Host: postgres.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: DescribeAccountPrivileges
<公共请求参数>
{
"DBInstanceId": "postgres-5cz25tr5",
"UserName": "without_per",
"DatabaseObjectSet": [
{
"ObjectType": "table",
"ObjectName": "users",
"DatabaseName": "user_database",
"SchemaName": "user_schema"
},
{
"ObjectType": "schema",
"ObjectName": "user_schema",
"DatabaseName": "user_database"
}
]
}
输出示例
{
"Response": {
"PrivilegeSet": [
{
"Object": {
"DatabaseName": "user_database",
"ObjectName": "users",
"ObjectType": "table",
"SchemaName": "user_schema",
"TableName": ""
},
"PrivilegeSet": [
"DELETE",
"TRUNCATE",
"REFERENCES",
"TRIGGER",
"SELECT",
"INSERT",
"UPDATE"
]
},
{
"Object": {
"DatabaseName": "user_database",
"ObjectName": "user_schema",
"ObjectType": "schema",
"SchemaName": "",
"TableName": ""
},
"PrivilegeSet": [
"CREATE",
"USAGE"
]
}
],
"RequestId": "41d71515-447d-4557-a799-3b60ad86323d"
}
}
5. 开发者资源
腾讯云 API 平台
腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。
API Inspector
用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。
SDK
云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。
- Tencent Cloud SDK 3.0 for Python: GitHub Gitee
- Tencent Cloud SDK 3.0 for Java: GitHub Gitee
- Tencent Cloud SDK 3.0 for PHP: GitHub Gitee
- Tencent Cloud SDK 3.0 for Go: GitHub Gitee
- Tencent Cloud SDK 3.0 for Node.js: GitHub Gitee
- Tencent Cloud SDK 3.0 for .NET: GitHub Gitee
- Tencent Cloud SDK 3.0 for C++: GitHub Gitee
- Tencent Cloud SDK 3.0 for Ruby: GitHub Gitee
命令行工具
6. 错误码
以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。
错误码 | 描述 |
---|---|
DBError | 后台DB执行错误。 |
FailedOperation.FailedOperationError | 操作失败,请稍后重试。 |
FailedOperation.PreCheckError | 操作预检查失败。 |
InternalError.DBError | 后台DB执行错误。 |
InvalidParameterValue.InvalidAccountNameError | 账号设置无效,请遵循账号命名规则:账号名需要1-16个字符,只能由字母、数字或下划线组成;不能为postgres;不能由数字、pg_及tencentdb_开头;所有规则均不区分大小写。 |
InvalidParameterValue.InvalidAccountNameFormatError | 账号无效,请遵循账号命名规则:由字母(a-z, A-Z)、数字(0-9)、下划线()组成,以字母或()开头,最多63个字符。不能使用系统保留关键字,不能为postgres,且不能由pg_或tencentdb_开头。 |
InvalidParameterValue.InvalidDatabaseObjectName | 当前仅支持操作名称为英文、下划线、数字及特殊符号[]组成的数据库对象,函数及存储过程额外支持三个特殊符号(,) |
OperationDenied.InstanceAccessDeniedError | 您没有权限操作当前资源。 |
OperationDenied.InstanceStatusLimitOpError | 实例状态限制当前操作。 |
ResourceNotFound.InstanceNotFoundError | 实例不存在。 |