本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Aurora DSQL 中的系統資料表和命令
請參閱下列各節,以了解 Aurora DSQL 中支援的系統資料表和目錄。
系統表
Aurora DSQL 與 PostgreSQL 相容,因此來自 PostgreSQL 的許多系統目錄資料表
重要的 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
是授予 Aurora DSQL 非管理員存取權的 IAM 角色,且名為 的使用者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
並依預設套用到使用者資料表。此自動化程序會排除系統和目錄資料表。