Aurora DSQL のシステムテーブルとコマンド - Amazon Aurora DSQL

Aurora DSQL のシステムテーブルとコマンド

Aurora DSQL でサポートされているシステムテーブルとカタログについては、以下のセクションを参照してください。

システムテーブル

Aurora DSQL は PostgreSQL と互換性があるため、PostgreSQL の多くのシステムカタログテーブルビューが Aurora DSQL にも存在します。

重要な PostgreSQL カタログテーブルとビュー

次の表は、Aurora DSQL で使用できる最も一般的なテーブルとビューを示しています。

名前 説明

pg_namespace

すべてのスキーマに関する情報

pg_tables

すべてのテーブルに関する情報

pg_attribute

すべての属性に関する情報

pg_views

(事前) 定義ビューに関する情報

pg_class

すべてのテーブル、列、インデックス、および同様のオブジェクトに関する説明

pg_stats

プランナー統計の表示

pg_user

ユーザーに関する情報

pg_roles

ユーザーとグループに関する情報

pg_indexes

すべてのインデックスのリスト

pg_constraint

テーブルの制約のリスト

サポートされているカタログテーブルとサポートされていないカタログテーブル

次の表は、Aurora DSQL でサポートされているテーブルとサポートされていないテーブルを示しています。

名前 Aurora DSQL に適用可能

pg_aggregate

いいえ

pg_am

あり

pg_amop

いいえ

pg_amproc

いいえ

pg_attrdef

はい

pg_attribute

はい

pg_authid

いいえ (pg_roles を使用)

pg_auth_members

はい

pg_cast

あり

pg_class

あり

pg_collation

あり

pg_constraint

はい

pg_conversion

いいえ

pg_database

いいえ

pg_db_role_setting

はい

pg_default_acl

あり

pg_depend

あり

pg_description

はい

pg_enum

いいえ

pg_event_trigger

いいえ

pg_extension

いいえ

pg_foreign_data_wrapper

いいえ

pg_foreign_server

いいえ

pg_foreign_table

いいえ

pg_index

はい

pg_inherits

はい

pg_init_privs

いいえ

pg_language

いいえ

pg_largeobject

いいえ

pg_largeobject_metadata

はい

pg_namespace

はい

pg_opclass

なし

pg_operator

あり

pg_opfamily

なし

pg_parameter_acl

あり

pg_partitioned_table

いいえ

pg_policy

いいえ

pg_proc

いいえ

pg_publication

いいえ

pg_publication_namespace

いいえ

pg_publication_rel

いいえ

pg_range

あり

pg_replication_origin

いいえ

pg_rewrite

いいえ

pg_seclabel

いいえ

pg_sequence

いいえ

pg_shdepend

はい

pg_shdescription

はい

pg_shseclabel

なし

pg_statistic

あり

pg_statistic_ext

いいえ

pg_statistic_ext_data

いいえ

pg_subscription

いいえ

pg_subscription_rel

いいえ

pg_tablespace

いいえ

pg_transform

いいえ

pg_trigger

いいえ

pg_ts_config

はい

pg_ts_config_map

あり

pg_ts_dict

あり

pg_ts_parser

あり

pg_ts_template

あり

pg_type

はい

pg_user_mapping

いいえ

サポートされているシステムビューとサポートされていないシステムビュー

次の表は、Aurora DSQL でサポートされているビューとサポートされていないビューを示しています。

名前 Aurora DSQL に適用可能

pg_available_extensions

いいえ

pg_available_extension_versions

いいえ

pg_backend_memory_contexts

あり

pg_config

いいえ

pg_cursors

いいえ

pg_file_settings

いいえ

pg_group

あり

pg_hba_file_rules

いいえ

pg_ident_file_mappings

いいえ

pg_indexes

あり

pg_locks

いいえ

pg_matviews

いいえ

pg_policies

いいえ

pg_prepared_statements

いいえ

pg_prepared_xacts

いいえ

pg_publication_tables

いいえ

pg_replication_origin_status

いいえ

pg_replication_slots

いいえ

pg_roles

あり

pg_rules

いいえ

pg_seclabels

いいえ

pg_sequences

いいえ

pg_settings

はい

pg_shadow

あり

pg_shmem_allocations

あり

pg_stats

はい

pg_stats_ext

いいえ

pg_stats_ext_exprs

いいえ

pg_tables

はい

pg_timezone_abbrevs

あり

pg_timezone_names

あり

pg_user

はい

pg_user_mappings

なし

pg_views

あり

pg_stat_activity

いいえ

pg_stat_replication

いいえ

pg_stat_replication_slots

いいえ

pg_stat_wal_receiver

いいえ

pg_stat_recovery_prefetch

いいえ

pg_stat_subscription

いいえ

pg_stat_subscription_stats

いいえ

pg_stat_ssl

あり

pg_stat_gssapi

いいえ

pg_stat_archiver

いいえ

pg_stat_io

いいえ

pg_stat_bgwriter

いいえ

pg_stat_wal

いいえ

pg_stat_database

いいえ

pg_stat_database_conflicts

いいえ

pg_stat_all_tables

いいえ

pg_stat_all_indexes

いいえ

pg_statio_all_tables

いいえ

pg_statio_all_indexes

いいえ

pg_statio_all_sequences

いいえ

pg_stat_slru

いいえ

pg_statio_user_tables

いいえ

pg_statio_user_sequences

いいえ

pg_stat_user_functions

いいえ

pg_stat_user_indexes

いいえ

pg_stat_progress_analyze

いいえ

pg_stat_progress_basebackup

いいえ

pg_stat_progress_cluster

いいえ

pg_stat_progress_create_index

いいえ

pg_stat_progress_vacuum

いいえ

pg_stat_sys_indexes

いいえ

pg_stat_sys_tables

いいえ

pg_stat_xact_all_tables

いいえ

pg_stat_xact_sys_tables

いいえ

pg_stat_xact_user_functions

いいえ

pg_stat_xact_user_tables

いいえ

pg_statio_sys_indexes

いいえ

pg_statio_sys_sequences

いいえ

pg_statio_sys_tables

いいえ

pg_statio_user_indexes

いいえ

sys.jobs および sys.iam_pg_role_mappings ビュー

Aurora DSQL は、次のシステムビューをサポートしています。

sys.jobs

sys.jobs は、非同期ジョブに関するステータス情報を提供します。例えば、非同期インデックスを作成すると、Aurora DSQL は job_uuid を返します。この job_uuidsys.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 で収集するタイプの統計と同じものを収集し、デフォルトでユーザーテーブルに適用します。システムテーブルとカタログテーブルは、この自動プロセスから除外されます。