Aurora PostgreSQL Limitless Database ビュー - Amazon Aurora

Aurora PostgreSQL Limitless Database ビュー

次の表は、Aurora PostgreSQL Limitless Database の新しいビューを示しています。

注記

この表に表示されているビューは、rds_aurora スキーマにあります。Limitless Database ビューを使用する場合は、完全修飾オブジェクト名 rds_aurora.object_name を必ず含めてください。

Aurora PostgreSQL Limitless Database ビュー 対応する 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 Limitless Database ビューの詳細を示しています。PostgreSQL ビューの詳細については、PostgreSQL ドキュメントの「Viewing statistics」を参照してください。

注記

進行中のトランザクションがある場合、一部の統計ビューは一貫性のない結果を返す可能性があります。

limitless_database

このビューには、DB シャードグループで使用可能なデータベースに関する情報が含まれています。以下に例を示します。

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

このビューには、各ノードのプロセスごとに 1 行が含まれます。データベースサーバー内のアクティブなプロセスによって保持されるロックに関する情報へのアクセスを提供します。

例 2 つのトランザクションを伴うロックの作成

この例では、2 つのルーターで 2 つのトランザクションを同時に実行します。

# 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;

最初のトランザクションが実行されます。後続のトランザクションは、最初のトランザクションが完了するまで待つ必要があります。したがって、2 番目のトランザクションはロックでブロックされます。その根本原因を確認するには、limitless_lockslimitless_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

このビューには、各ノードのプロセスごとに 1 行が含まれます。システム全体の状態を追跡し、時間がかかっているプロセスをトリアージするために使用できます。以下に例を示します。

postgres=# SELECT subcluster_id, subcluster_type, distributed_session_id, distributed_session_state, datname, distributed_query_id FROM rds_aurora.limitless_stat_activity WHERE distributed_session_id='7E4CBBD3E1AF9ABA'; subcluster_id | subcluster_type | distributed_session_id | distributed_session_state | datname | distributed_query_id ---------------+-----------------+------------------------+---------------------------+--------------------+ ---------------------- 1 | router | 7E4CBBD3E1AF9ABA | coordinator | postgres_limitless | 2 | router | 7E4CBBD3E1AF9ABA | participant | postgres_limitless | -8224553981424021413 3 | shard | 7E4CBBD3E1AF9ABA | participant | postgres_limitless | -8224553981424021413 4 | shard | 7E4CBBD3E1AF9ABA | participant | postgres_limitless | -8224553981424021413 5 | shard | 7E4CBBD3E1AF9ABA | participant | postgres_limitless | -8224553981424021413 6 | shard | 7E4CBBD3E1AF9ABA | participant | postgres_limitless | -8224553981424021413 (6 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 の値が異なります。

残りの列は pg_stat_activity と同じです。

limitless_stat_all_indexes

このビューには、DB シャードグループのインデックスの使用統計が含まれます。以下に例を示します。

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

このビューには、DB シャードグループの現在のデータベース内のすべてのテーブルに関する統計が含まれます。これは、バキューム操作とデータ操作言語 (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

このビューには、DB シャードグループ内のすべてのデータベースに関する統計が含まれます。各ノードのデータベースごとに 1 行を返します。以下に例を示します。

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 ステートメントの計画統計と実行統計を追跡する手段を提供します。

注記

limitless_stat_statements ビューを使用するには、pg_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 FROM rds_aurora.limitless_stat_statements; subcluster_id | subcluster_type | distributedqueryid | username | dbname ---------------+-----------------+---------------------+---------------------------------+------------------- 1 | router | | postgres | postgres_limitless 1 | router | | postgres | postgres_limitless 1 | router | | postgres | postgres_limitless 1 | router | 5103284549693281378 | aurora_limitless_metadata_admin | postgres_limitless 1 | router | | postgres | postgres_limitless 1 | router | | aurora_limitless_metadata_admin | postgres_limitless 1 | router | | postgres | postgres_limitless 1 | router | | postgres | postgres_limitless [...]

出力パラメータは次のとおりです。

  • subcluster_id (テキスト) – このプロセスが属するサブクラスターの ID。

  • subcluster_type (テキスト) – このプロセスが属するサブクラスターのタイプ: router または shard

  • distributedqueryid (bigint) – コーディネーターノードからの親クエリのクエリ ID。親クエリの場合、この列は NULL です。コーディネーターノードは分散クエリ ID を参加ノードにプッシュダウンします。したがって、参加ノードでは、分散クエリ ID とクエリ ID の値が異なります。

  • username (名前) – ステートメントをクエリしたユーザー。

  • dbname (名前) – クエリを実行したデータベース。

残りの列は 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

このビューには、ルーターと他のノード間のネットワーク統計が含まれます。ルーターと他のノードのペアごとに 1 行が含まれます。次に例を示します。

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 (bigint) — このノードから受信した推定累積バイト数

  • sent_bytes (bigint) - このノードに送信された推定累積バイト数

  • same_az_requests (bigint) – 発信元ルーターと同じ AZ にある場合の、このノードへの内部 DB リクエストの累積数

  • cross_az_requests (bigint) – 発信元ルーターとは異なる AZ にある場合の、このノードへの内部 DB リクエストの累積数

  • stat_reset_timestamp (タイムスタンプ) – このビューの累積統計が最後にリセットされたときのタイムスタンプ

limitless_statio_all_indexes

このビューには、DB シャードグループ内のすべてのインデックスの入出力 (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

このビューには、DB シャードグループ内のすべてのテーブルの入出力 (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 Limitless Database のテーブルに関する情報が含まれます。

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)