本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Aurora PostgreSQL 無限資料庫檢視
下表顯示 Aurora PostgreSQL 無限制資料庫的新檢視。
注意
此資料表中列出的檢視位於rds_aurora
結構描述中。使用無限資料庫檢視時,請務必包含完整的物件名稱:rds_aurora
。object_name
Aurora PostgreSQL 無限資料庫檢視 | 對應的 Aurora PostgreSQL 檢視 |
---|---|
limitless_database | pg_database |
limitless_locks | pg_locks |
limitless_stat_activity | pg_stat_activity |
limitless_stat_all_indexes | pg_stat_all_indexes |
limitless_stat_all_tables | pg_stat_all_tables |
limitless_stat_database | pg_stat_database |
limitless_stat_progress_vacuum | pg_stat_progress_vacuum |
limitless_stat_statements | pg_stat_statements |
limitless_stat_subclusters | 無 |
limitless_stat_statements_info | pg_stat_statements_info |
limitless_statio_all_indexes | pg_statio_all_indexes |
limitless_statio_all_tables | pg_statio_all_tables |
limitless_tables | pg_tables |
limitless_table_collocations | 無 |
limitless_table_collocation_distributions | 無 |
下列範例提供 Aurora PostgreSQL 無限制資料庫檢視的詳細資訊。如需 PostgreSQL 檢視的詳細資訊,請參閱 PostgreSQL 文件中的檢視統計資料
注意
如果您有進行中的交易,某些統計資料檢視可能會傳回不一致的結果。
- limitless_database
-
此檢視包含資料庫碎片群組中可用資料庫的相關資訊。例如:
postgres_limitless=> SELECT subcluster_id, subcluster_type, oid, datname, datacl FROM rds_aurora.limitless_database; subcluster_id | subcluster_type | oid | datname | datacl ---------------+-----------------+-------+--------------------+------------------------------------------------------------------------------------------------------------------------ 2 | router | 4 | template0 | {=c/rdsadmin,rdsadmin=CTc/rdsadmin} 2 | router | 5 | postgres | 2 | router | 16384 | rdsadmin | {rdsadmin=CTc/rdsadmin,rds_aurora_limitless_metadata_admin=c/rdsadmin,rds_aurora_limitless_heat_mgmt_admin=c/rdsadmin} 2 | router | 16477 | postgres_limitless | 2 | router | 1 | template1 | {=c/rdsadmin,rdsadmin=CTc/rdsadmin} 6 | shard | 4 | template0 | {=c/rdsadmin,rdsadmin=CTc/rdsadmin}
輸出參數如下:
-
subcluster_id
(文字) – 子叢集的 ID (節點) -
subcluster_type
(文字) – 子叢集 (節點)、路由器或碎片的類型
其餘資料欄與 中的資料欄相同
pg_database
。 -
- limitless_locks
-
此檢視包含每個節點每個程序一列。它提供存取資料庫伺服器中作用中程序所持有鎖定的相關資訊。
範例 使用兩個交易建立鎖定
在此範例中,我們在兩個路由器上同時執行兩個交易。
# Transaction 1 (run on router 1) BEGIN; SET search_path = public; SELECT * FROM customers; INSERT INTO customers VALUES (400,'foo','bar'); # Transaction 2 (run on router 2) BEGIN; SET search_path = public; ALTER TABLE customers ADD COLUMN phone VARCHAR;
執行第一個交易。後續交易必須等到第一個交易完成。因此,系統會使用鎖定封鎖第二個交易。為了檢查其根本原因,我們會
limitless_locks
透過加入 來執行命令limitless_stat_activity
。# Run on router 2 SELECT distributed_session_id, state, usename, query, query_start FROM rds_aurora.limitless_stat_activity WHERE distributed_session_id in ( SELECT distributed_session_id FROM rds_aurora.limitless_locks WHERE relname = 'customers' ); distributed_session_id | state | usename | query | query_start ------------------------+---------------------+--------------------------+---------------------------------- -------------+------------------------------- 47BDE66E9A5E8477 | idle in transaction | limitless_metadata_admin | INSERT INTO customers VALUES (400,'foo','bar'); | 2023-04-13 17:44:45.152244+00 2AD7F370202D0FA9 | active | limitless_metadata_admin | ALTER TABLE customers ADD COLUMN phone VARCHAR; | 2023-04-13 17:44:55.113388+00 47BDE66E9A5E8477 | | limitless_auth_admin | <insufficient privilege> | 2AD7F370202D0FA9 | | limitless_auth_admin | <insufficient privilege> | 47BDE66E9A5E8477 | | limitless_auth_admin | <insufficient privilege> | 2AD7F370202D0FA9 | | limitless_auth_admin | <insufficient privilege> | (6 rows)
範例 明確建立鎖定
在此範例中,我們會明確建立鎖定,然後使用
limitless_locks
檢視來查看鎖定 (省略部分資料欄)。BEGIN; SET search_path = public; LOCK TABLE customers IN ACCESS SHARE MODE; SELECT * FROM rds_aurora.limitless_locks WHERE relname = 'customers'; subcluster_id | subcluster_type | distributed_session_id | locktype | datname | relnspname | relname | virtualtransaction | pid | mode ---------------+-----------------+------------------------+----------+--------------------+------------+ ----------+--------------------+-------+----------------- 1 | router | 7207702F862FC937 | relation | postgres_limitless | public | customers | 28/600787 | 59564 | AccessShareLock 2 | router | 7207702F862FC937 | relation | postgres_limitless | public | customers | 28/600405 | 67130 | AccessShareLock 3 | shard | 7207702F862FC937 | relation | postgres_limitless | public | customers | 15/473401 | 27735 | AccessShareLock 4 | shard | 7207702F862FC937 | relation | postgres_limitless | public | customers | 13/473524 | 27734 | AccessShareLock 5 | shard | 7207702F862FC937 | relation | postgres_limitless | public | customers | 13/472935 | 27737 | AccessShareLock 6 | shard | 7207702F862FC937 | relation | postgres_limitless | public | customers | 13/473015 | 48660 | AccessShareLock (6 rows)
- limitless_stat_activity
-
此檢視包含每個節點每個程序一列。它可用於追蹤需要很長時間的整體系統運作狀態和分類程序。例如:
postgres=# SELECT subcluster_id, subcluster_type, distributed_session_id, distributed_session_state, datname, distributed_query_id, is_sso_query FROM rds_aurora.limitless_stat_activity WHERE distributed_session_id in ('D2470C97E3D07E06', '5A3CD7B8E5FD13FF') order by distributed_session_id; subcluster_id | subcluster_type | distributed_session_id | distributed_session_state | datname | distributed_query_id | is_sso_query ---------------+-----------------+------------------------+---------------------------+--------------------+----------------------+-------------- 2 | router | 5A3CD7B8E5FD13FF | coordinator | postgres_limitless | | f 3 | shard | 5A3CD7B8E5FD13FF | participant | postgres_limitless | 6808291725541680947 | 4 | shard | 5A3CD7B8E5FD13FF | participant | postgres_limitless | 6808291725541680947 | 2 | router | D2470C97E3D07E06 | coordinator | postgres_limitless | | t 3 | shard | D2470C97E3D07E06 | participant | postgres_limitless | 4058400544464210222 | (5 rows)
輸出參數如下:
-
subcluster_id
(文字) – 此程序所屬的子叢集 ID。 -
subcluster_type
(文字) – 此程序所屬的子叢集類型:router
或shard
。 -
distributed_session_id
(文字) – 此程序所屬的分散式工作階段 ID。 -
distributed_session_state
(文字) – 這是協調器、參與者還是獨立/未分佈的程序 (顯示為NULL
)。 -
datname
(文字) – 此程序所連線的資料庫。 -
distributed_query_id
(Bigint) – 協調器節點中父查詢的查詢 ID。NULL
如果這是父查詢,則此欄位為 。協調器節點會將分散式查詢 ID 向下推送至參與者節點。因此,對於參與者節點,分散式查詢 ID 和查詢 ID 的值不同。 -
is_sso_query
(文字) – 這可讓我們知道查詢是否為單一碎片最佳化。
其餘資料欄與 中的資料欄相同
pg_stat_activity
。 -
- limitless_stat_all_indexes
-
此檢視包含資料庫碎片群組中索引的用量統計資料。例如:
postgres_limitless=> SELECT schemaname, relname, indexrelname, idx_scan FROM rds_aurora.limitless_stat_all_indexes WHERE relname LIKE 'orders_ts%' ORDER BY indexrelname LIMIT 10; schemaname | relname | indexrelname | idx_scan ------------+----------------+---------------------+---------- ec_sample | orders_ts00001 | orders_ts00001_pkey | 196801 ec_sample | orders_ts00002 | orders_ts00002_pkey | 196703 ec_sample | orders_ts00003 | orders_ts00003_pkey | 196376 ec_sample | orders_ts00004 | orders_ts00004_pkey | 197966 ec_sample | orders_ts00005 | orders_ts00005_pkey | 195301 ec_sample | orders_ts00006 | orders_ts00006_pkey | 195673 ec_sample | orders_ts00007 | orders_ts00007_pkey | 194475 ec_sample | orders_ts00008 | orders_ts00008_pkey | 191694 ec_sample | orders_ts00009 | orders_ts00009_pkey | 193744 ec_sample | orders_ts00010 | orders_ts00010_pkey | 195421 (10 rows)
- limitless_stat_all_tables
-
此檢視包含資料庫碎片群組中目前資料庫中所有資料表的統計資料。這在追蹤清空操作和資料處理語言 (DML) 操作時非常有用。例如:
postgres_limitless=> SELECT subcluster_id, subcluster_type, relname, n_ins_since_vacuum, n_tup_ins, last_vacuum FROM rds_aurora.limitless_stat_all_tables WHERE relname LIKE 'orders_ts%' ORDER BY relname LIMIT 10; subcluster_id | subcluster_type | relname | n_ins_since_vacuum | n_tup_ins | last_vacuum ---------------+-----------------+----------------+--------------------+-----------+------------- 5 | shard | orders_ts00001 | 34779 | 196083 | 5 | shard | orders_ts00002 | 34632 | 194721 | 5 | shard | orders_ts00003 | 34950 | 195965 | 5 | shard | orders_ts00004 | 34745 | 197283 | 5 | shard | orders_ts00005 | 34879 | 195754 | 5 | shard | orders_ts00006 | 34340 | 194605 | 5 | shard | orders_ts00007 | 33779 | 192203 | 5 | shard | orders_ts00008 | 33826 | 191293 | 5 | shard | orders_ts00009 | 34660 | 194117 | 5 | shard | orders_ts00010 | 34569 | 195560 | (10 rows)
輸出參數如下:
-
subcluster_id
(文字) – 此程序所屬的子叢集 ID。 -
subcluster_type
(文字) – 此程序所屬的子叢集類型:router
或shard
。 -
relname
(名稱) – 資料表的名稱。
其餘資料欄與 中的資料欄相同
pg_stat_all_tables
。 -
- limitless_stat_database
-
此檢視包含資料庫碎片群組中所有資料庫的統計資料。每個節點每個資料庫傳回一列。例如:
postgres_limitless=> SELECT subcluster_id, subcluster_type, datname, blks_read, blks_hit FROM rds_aurora.limitless_stat_database WHERE datname='postgres_limitless'; subcluster_id | subcluster_type | datname | blks_read | blks_hit ---------------+-----------------+--------------------+-----------+---------- 1 | router | postgres_limitless | 484 | 34371314 2 | router | postgres_limitless | 673 | 33859317 3 | shard | postgres_limitless | 1299 | 17749550 4 | shard | postgres_limitless | 1094 | 17492849 5 | shard | postgres_limitless | 1036 | 17485098 6 | shard | postgres_limitless | 1040 | 17437257 (6 rows)
輸出參數如下:
-
subcluster_id
(文字) – 此程序所屬的子叢集 ID。 -
subcluster_type
(文字) – 此程序所屬的子叢集類型:router
或shard
。 -
datname
(名稱) – 資料庫的名稱。
其餘資料欄與 中的資料欄相同
pg_stat_database
。 -
- limitless_stat_progress_vacuum
-
此檢視包含持續清空操作的相關資訊。例如:
postgres_limitless=> SELECT * FROM rds_aurora.limitless_stat_progress_vacuum; -[ RECORD 1 ]----------+------------------ subcluster_id | 3 subcluster_type | shard distributed_session_id | A56D96E2A5C9F426 pid | 5270 datname | postgres nspname | public relname | customer_ts2 phase | vacuuming heap heap_blks_total | 130500 heap_blks_scanned | 100036 heap_blks_vacuumed | 0 index_vacuum_count | 0 max_dead_tuples | 11184810 num_dead_tuples | 0 -[ RECORD 2 ]----------+------------------ subcluster_id | 3 subcluster_type | shard distributed_session_id | 56DF26A89EC23AB5 pid | 6854 datname | postgres nspname | public relname | sales_ts1 phase | vacuuming heap heap_blks_total | 43058 heap_blks_scanned | 24868 heap_blks_vacuumed | 0 index_vacuum_count | 0 max_dead_tuples | 8569523 num_dead_tuples | 0
輸出參數如下:
-
subcluster_id
(文字) – 此程序所屬的子叢集 ID。 -
subcluster_type
(文字) – 此程序所屬的子叢集類型:router
或shard
。 -
distributed_session_id
(文字) – 啟動清空操作之工作階段的識別符。 -
datname
(名稱) – 正在清空的資料庫。 -
nspname
(名稱) – 正在清空之資料表的結構描述名稱。如果要清空null
的資料表與使用者連線的資料表不在相同的資料庫中,則為如此。 -
relname
(名稱) – 正在清空的資料表名稱。如果要清空null
的資料表與使用者連線的資料表不在相同的資料庫中,則為如此。
其餘資料欄與 中的資料欄相同
pg_stat_progress_vacuum
。 -
- limitless_stat_statements
-
此檢視提供追蹤所有節點上執行之所有 SQL 陳述式的規劃和執行統計資料的方法。
注意
您必須安裝 pg_stat_statements
擴充功能才能使用 limitless_stat_statements
檢視。-- CREATE EXTENSION must be run by a superuser CREATE EXTENSION pg_stat_statements; -- Verify that the extension is created on all nodes in the DB shard group SELECT distinct node_id FROM rds_aurora.limitless_stat_statements LIMIT 10;
下列範例顯示使用
limitless_stat_statements
檢視。postgres_limitless=> SELECT subcluster_id, subcluster_type, distributedqueryid, username, dbname, sso_calls FROM rds_aurora.limitless_stat_statements; subcluster_id | subcluster_type | distributedqueryid | username | dbname | sso_calls ---------------+-----------------+----------------------+-------------------------------------+--------------------+----------- 2 | router | | postgres | postgres_limitless | 0 2 | router | | postgres | postgres_limitless | 0 2 | router | | postgres | postgres_limitless | 0 2 | router | | postgres | postgres_limitless | 0 2 | router | | postgres | postgres_limitless | 0 2 | router | | postgres | postgres_limitless | 1 3 | shard | -7975178695405682176 | postgres | postgres_limitless | [...]
輸出參數如下:
-
subcluster_id
(文字) – 此程序所屬的子叢集 ID。 -
subcluster_type
(文字) – 此程序所屬的子叢集類型:router
適用於 或shard
。 -
distributedqueryid
(Bigint) – 協調器節點中父查詢的查詢 ID。NULL
如果這是父查詢,則此欄位為 。協調器節點會將分散式查詢 ID 向下推送至參與者節點。因此,對於參與者節點,分散式查詢 ID 和查詢 ID 的值不同。 -
username
(名稱) – 查詢陳述式的使用者。 -
dbname
(名稱) – 執行查詢的資料庫。 -
sso_calls
(名稱) – 陳述式經過單一碎片最佳化的次數。
其餘資料欄與 pg_stat_statements
中的資料欄相同。 -
- limitless_stat_statements_info
-
此檢視包含
limitless_stat_statements
檢視的統計資料。每一列都包含來自每個節點的 pg_stat_statements_info檢視資料。資料 subcluster_id
欄可識別每個節點。postgres_limitless=> SELECT * FROM rds_aurora.limitless_stat_statements_info; subcluster_id | subcluster_type | dealloc | stats_reset ---------------+-----------------+---------+------------------------------- 1 | router | 0 | 2023-06-30 21:22:09.524781+00 2 | router | 0 | 2023-06-30 21:21:40.834111+00 3 | shard | 0 | 2023-06-30 21:22:10.709942+00 4 | shard | 0 | 2023-06-30 21:22:10.740179+00 5 | shard | 0 | 2023-06-30 21:22:10.774282+00 6 | shard | 0 | 2023-06-30 21:22:10.808267+00 (6 rows)
輸出參數如下:
-
subcluster_id
(文字) – 此程序所屬的子叢集 ID。
其餘資料欄與 pg_stat_statements_info
中的資料欄相同。 -
- limitless_stat_subclusters
-
此檢視包含路由器和其他節點之間的網路統計資料。它包含每對路由器和其他節點的資料列,例如:
postgres_limitless=> SELECT * FROM rds_aurora.limitless_stat_subclusters; orig_subcluster | orig_instance_az | dest_subcluster | dest_instance_az | latency_us | latest_collection | failed_requests | received_bytes | sent_bytes | same_az_requests | cross_az_requests | stat_reset_timestamp -----------------+------------------+-----------------+------------------+------------+-------------------------------+-----------------+----------------+------------+------------------+-------------------+------------------------------- 3 | us-west-2b | 2 | us-west-2a | 847 | 2024-10-07 17:25:39.518617+00 | 0 | 35668633 | 92090171 | 0 | 302787 | 2024-10-05 12:39:55.239675+00 3 | us-west-2b | 4 | us-west-2b | 419 | 2024-10-07 17:25:39.546376+00 | 0 | 101190464 | 248795719 | 883478 | 0 | 2024-10-05 12:39:55.231218+00 3 | us-west-2b | 5 | us-west-2c | 1396 | 2024-10-07 17:25:39.52122+00 | 0 | 72864849 | 172086292 | 0 | 557726 | 2024-10-05 12:39:55.196412+00 3 | us-west-2b | 6 | us-west-2c | 729 | 2024-10-07 17:25:39.54828+00 | 0 | 35668584 | 92090171 | 0 | 302787 | 2024-10-05 12:39:55.247334+00 3 | us-west-2b | 7 | us-west-2a | 1702 | 2024-10-07 17:25:39.545307+00 | 0 | 71699576 | 171634844 | 0 | 556278 | 2024-10-05 12:39:52.715168+00 2 | us-west-2a | 3 | us-west-2b | 868 | 2024-10-07 17:25:40.293927+00 | 0 | 35659611 | 92011872 | 0 | 302817 | 2024-10-05 12:39:54.420758+00 2 | us-west-2a | 4 | us-west-2b | 786 | 2024-10-07 17:25:40.296863+00 | 0 | 102437253 | 251838024 | 0 | 895060 | 2024-10-05 12:39:54.404081+00 2 | us-west-2a | 5 | us-west-2c | 1232 | 2024-10-07 17:25:40.292021+00 | 0 | 71990027 | 168828110 | 0 | 545453 | 2024-10-05 12:39:36.769549+00
輸出參數如下:
-
orig_subcluster
(文字) – 通訊來源的路由器 ID -
orig_subcluster_az
(文字) – 原始路由器的可用區域 (AZ) -
dest_subcluster
(文字) – 目的地節點的 ID -
dest_subcluster_az
(文字) – 目的地節點的上次收集 AZ -
latency_us
(Bigint) – 節點之間上次收集的網路延遲,以微秒為單位。0
如果節點無法連線,則值為 。 -
latest_collection
(時間戳記) – 目的地節點最新 AZ 集合和延遲的時間戳記 -
failed_requests
(Bigint) – 失敗的內部請求累積計數 -
received_bytes
(綁定) – 從此節點收到的估計累積位元組數 -
sent_bytes
(綁定) – 傳送至此節點的估計累積位元組數 -
same_az_requests
(聯名) – 當內部資料庫請求與原始路由器位於相同的可用區域時,對此節點的累計請求數量 -
cross_az_requests
(Bigint) – 當此節點與原始路由器位於不同的 AZ 時,對此節點的內部資料庫請求累積數量 -
stat_reset_timestamp
(時間戳記) – 此檢視的累積統計資料上次重設時的時間戳記
-
- limitless_statio_all_indexes
-
此檢視包含資料庫碎片群組中所有索引的輸入/輸出 (I/O) 統計資料。例如:
postgres_limitless=> SELECT * FROM rds_aurora.limitless_statio_all_indexes WHERE relname like'customers_ts%'; subcluster_id | subcluster_type | schemaname | relname | indexrelname | idx_blks_read | idx_blks_hit ---------------+-----------------+------------+-------------------+-------------------------------------+ --------------+-------------- 3 | shard | public | customers_ts00002 | customers_ts00002_customer_name_idx | 1 | 0 3 | shard | public | customers_ts00001 | customers_ts00001_customer_name_idx | 1 | 0 4 | shard | public | customers_ts00003 | customers_ts00003_customer_name_idx | 1 | 0 4 | shard | public | customers_ts00004 | customers_ts00004_customer_name_idx | 1 | 0 5 | shard | public | customers_ts00005 | customers_ts00005_customer_name_idx | 1 | 0 5 | shard | public | customers_ts00006 | customers_ts00006_customer_name_idx | 1 | 0 6 | shard | public | customers_ts00007 | customers_ts00007_customer_name_idx | 1 | 0 6 | shard | public | customers_ts00008 | customers_ts00008_customer_name_idx | 1 | 0 (8 rows)
- limitless_statio_all_tables
-
此檢視包含資料庫碎片群組中所有資料表的輸入/輸出 (I/O) 統計資料。例如:
postgres_limitless=> SELECT subcluster_id, subcluster_type, schemaname, relname, heap_blks_read, heap_blks_hit FROM rds_aurora.limitless_statio_all_tables WHERE relname LIKE 'customers_ts%'; subcluster_id | subcluster_type | schemaname | relname | heap_blks_read | heap_blks_hit ---------------+-----------------+------------+-------------------+----------------+--------------- 3 | shard | public | customers_ts00002 | 305 | 57780 3 | shard | public | customers_ts00001 | 300 | 56972 4 | shard | public | customers_ts00004 | 302 | 57291 4 | shard | public | customers_ts00003 | 302 | 57178 5 | shard | public | customers_ts00006 | 300 | 56932 5 | shard | public | customers_ts00005 | 302 | 57386 6 | shard | public | customers_ts00008 | 300 | 56881 6 | shard | public | customers_ts00007 | 304 | 57635 (8 rows)
- limitless_tables
-
此檢視包含 Aurora PostgreSQL 無限制資料庫中資料表的相關資訊。
postgres_limitless=> SELECT * FROM rds_aurora.limitless_tables; table_gid | local_oid | schema_name | table_name | table_status | table_type | distribution_key -----------+-----------+-------------+-------------+--------------+-------------+------------------ 5 | 18635 | public | placeholder | active | placeholder | 6 | 18641 | public | ref | active | reference | 7 | 18797 | public | orders | active | sharded | HASH (order_id) 2 | 18579 | public | customer | active | sharded | HASH (cust_id) (4 rows)
- limitless_table_collocations
-
此檢視包含共置碎片資料表的相關資訊。
在下列範例中,
orders
和customers
資料表會共置,而users
和followers
資料表則會共置。集合的資料表具有相同的collocation_id
。postgres_limitless=> SELECT * FROM rds_aurora.limitless_table_collocations ORDER BY collocation_id; collocation_id | schema_name | table_name ----------------+-------------+------------ 2 | public | orders 2 | public | customers 5 | public | users 5 | public | followers (4 rows)
- limitless_table_collocation_distributions
-
此檢視顯示每個主機代管的金鑰分佈。
postgres_limitless=> SELECT * FROM rds_aurora.limitless_table_collocation_distributions ORDER BY collocation_id, lower_bound; collocation_id | subcluster_id | lower_bound | upper_bound ----------------+---------------+----------------------+---------------------- 2 | 6 | -9223372036854775808 | -4611686018427387904 2 | 5 | -4611686018427387904 | 0 2 | 4 | 0 | 4611686018427387904 2 | 3 | 4611686018427387904 | 9223372036854775807 5 | 6 | -9223372036854775808 | -4611686018427387904 5 | 5 | -4611686018427387904 | 0 5 | 4 | 0 | 4611686018427387904 5 | 3 | 4611686018427387904 | 9223372036854775807 (8 rows)