Aurora DSQL 中的系统表和命令
请参阅以下各节,来了解 Aurora DSQL 中支持的系统表和目录。
系统表
Aurora DSQL 与 PostgreSQL 兼容,因此 Aurora DSQL 中还存在许多来自 PostgreSQL 的 system catalog tables
重要的 PostgreSQL 目录表和视图
下表介绍了您可能在 Aurora DSQL 中使用的最常见的表和视图。
名称 | 描述 |
---|---|
|
有关所有架构的信息 |
|
有关所有表的信息 |
|
有关所有属性的信息 |
|
有关(预)定义视图的信息 |
|
描述所有表、列、索引和类似对象 |
|
有关计划程序统计数据的视图 |
|
有关用户的信息 |
|
有关用户和组的信息 |
|
列出所有索引 |
|
列出对表的约束 |
支持和不支持的目录表
下表指示在 Aurora DSQL 中支持哪些表和不支持哪些表。
名称 | 适用于 Aurora DSQL |
---|---|
|
否 |
|
是 |
|
否 |
|
否 |
|
是 |
|
是 |
|
否(使用 |
|
支持 |
|
是 |
|
是 |
|
是 |
|
是 |
|
否 |
|
否 |
|
是 |
|
是 |
|
是 |
|
是 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
是 |
|
是 |
|
否 |
|
否 |
|
否 |
|
是 |
|
是 |
|
否 |
|
是 |
|
否 |
|
是 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
是 |
|
否 |
|
否 |
|
否 |
|
否 |
|
是 |
|
是 |
|
否 |
|
是 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
是 |
|
是 |
|
是 |
|
是 |
|
是 |
|
是 |
|
否 |
支持和不支持的系统视图
下表指示在 Aurora DSQL 中支持哪些视图和不支持哪些视图。
名称 | 适用于 Aurora DSQL |
---|---|
|
否 |
|
否 |
|
是 |
|
否 |
|
否 |
|
否 |
|
是 |
|
否 |
|
否 |
|
是 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
是 |
|
否 |
|
否 |
|
否 |
|
是 |
|
是 |
|
是 |
|
是 |
|
否 |
|
否 |
|
是 |
|
是 |
|
是 |
|
是 |
|
否 |
|
是 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
是 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
|
否 |
sys.jobs 和 sys.iam_pg_role_mappings 视图
Aurora DSQL 支持以下系统视图:
sys.jobs
-
sys.jobs
提供有关异步作业的状态信息。例如,在您创建异步索引后,Aurora DSQL 将返回job_uuid
。您可以将此job_uuid
与sys.jobs
结合使用来查找作业的状态。SELECT * FROM sys.jobs WHERE job_id = 'example_job_uuid'; job_id | status | details ------------------+------------+--------- example_job_uuid | processing | (1 row)
sys.iam_pg_role_mappings
-
视图
sys.iam_pg_role_mappings
提供有关授予 IAM 用户的权限的信息。例如,如果DQSLDBConnect
是一个 IAM 角色,该角色为非管理员提供 Aurora DSQL 访问权限,并且向名为testuser
的用户授予了DQSLDBConnect
角色和相应的权限,则您可以查询sys.iam_pg_role_mappings
视图来查看向哪些用户授予了哪些权限。SELECT * FROM sys.iam_pg_role_mappings;
pg_class 表
pg_class
表存储有关数据库对象的元数据。要获取表中行数的近似计数,请运行以下命令。
SELECT reltuples FROM pg_class WHERE relname = '
table_name
';
该命令返回的输出类似于下方内容。
reltuples -------------- 9.993836e+08
ANALYZE
命令
ANALYZE
命令收集有关数据库中表内容的统计数据,并将结果存储在 pg_stats
系统视图中。随后,查询计划程序使用这些统计数据来帮助确定最有效的查询执行计划。
在 Aurora DSQL 中,您无法在显式事务中运行 ANALYZE
命令。ANALYZE
不受数据库事务超时限制的约束。
为了减少手动干预的需要并将统计数据始终保持为最新,Aurora DSQL 会自动将 ANALYZE
作为后台进程运行。此后台作业会根据在表中观察到的变化率自动触发。它与自上次分析以来已插入、更新或删除的行(元组)数相关联。
ANALYZE
在后台异步运行,可以通过以下查询在系统视图 sys.jobs 中监控其活动:
SELECT * FROM sys.jobs WHERE job_type = 'ANALYZE';
重要注意事项
注意
ANALYZE
作业的计费方式与 Aurora DSQL 中的其它异步作业相同。修改表时,这可能会间接触发自动后台统计数据收集作业,这可能会因关联的系统级活动而产生计量费用。
自动触发的后台 ANALYZE
作业收集的统计数据类型与手动 ANALYZE
相同,默认情况下会将其应用于用户表。系统表和目录表不包括在此自动化流程中。