Systemtabellen und Befehle in Aurora DSQL - Amazon Aurora DSQL

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Systemtabellen und Befehle in Aurora DSQL

In den folgenden Abschnitten erfahren Sie mehr über die unterstützten Systemtabellen und Kataloge in Aurora DSQL.

Systemtabellen

Aurora DSQL ist mit PostgreSQL kompatibel, sodass viele Systemkatalogtabellen und Ansichten von PostgreSQL auch in Aurora DSQL existieren.

Wichtige PostgreSQL-Katalogtabellen und -ansichten

In der folgenden Tabelle werden die gängigsten Tabellen und Ansichten beschrieben, die Sie in Aurora DSQL verwenden könnten.

Name Beschreibung

pg_namespace

Informationen zu allen Schemas

pg_tables

Informationen zu allen Tabellen

pg_attribute

Informationen zu allen Attributen

pg_views

Informationen zu (vor-) definierten Ansichten

pg_class

Beschreibt alle Tabellen, Spalten, Indizes und ähnliche Objekte

pg_stats

Ein Blick auf die Statistiken des Planers

pg_user

Informationen über Benutzer

pg_roles

Informationen über Benutzer und Gruppen

pg_indexes

Listet alle Indizes auf

pg_constraint

Listet Einschränkungen für Tabellen auf

Unterstützte und nicht unterstützte Katalogtabellen

Die folgende Tabelle zeigt, welche Tabellen in Aurora DSQL unterstützt und welche nicht.

Name Gilt für Aurora DSQL

pg_aggregate

Nein

pg_am

Ja

pg_amop

Nein

pg_amproc

Nein

pg_attrdef

Ja

pg_attribute

Ja

pg_authid

Nein (verwendenpg_roles)

pg_auth_members

Ja

pg_cast

Ja

pg_class

Ja

pg_collation

Ja

pg_constraint

Ja

pg_conversion

Nein

pg_database

Nein

pg_db_role_setting

Ja

pg_default_acl

Ja

pg_depend

Ja

pg_description

Ja

pg_enum

Nein

pg_event_trigger

Nein

pg_extension

Nein

pg_foreign_data_wrapper

Nein

pg_foreign_server

Nein

pg_foreign_table

Nein

pg_index

Ja

pg_inherits

Ja

pg_init_privs

Nein

pg_language

Nein

pg_largeobject

Nein

pg_largeobject_metadata

Ja

pg_namespace

Ja

pg_opclass

Nein

pg_operator

Ja

pg_opfamily

Nein

pg_parameter_acl

Ja

pg_partitioned_table

Nein

pg_policy

Nein

pg_proc

Nein

pg_publication

Nein

pg_publication_namespace

Nein

pg_publication_rel

Nein

pg_range

Ja

pg_replication_origin

Nein

pg_rewrite

Nein

pg_seclabel

Nein

pg_sequence

Nein

pg_shdepend

Ja

pg_shdescription

Ja

pg_shseclabel

Nein

pg_statistic

Ja

pg_statistic_ext

Nein

pg_statistic_ext_data

Nein

pg_subscription

Nein

pg_subscription_rel

Nein

pg_tablespace

Nein

pg_transform

Nein

pg_trigger

Nein

pg_ts_config

Ja

pg_ts_config_map

Ja

pg_ts_dict

Ja

pg_ts_parser

Ja

pg_ts_template

Ja

pg_type

Ja

pg_user_mapping

Nein

Unterstützte und nicht unterstützte Systemansichten

Die folgende Tabelle zeigt, welche Ansichten in Aurora DSQL unterstützt und welche nicht.

Name Gilt für Aurora DSQL

pg_available_extensions

Nein

pg_available_extension_versions

Nein

pg_backend_memory_contexts

Ja

pg_config

Nein

pg_cursors

Nein

pg_file_settings

Nein

pg_group

Ja

pg_hba_file_rules

Nein

pg_ident_file_mappings

Nein

pg_indexes

Ja

pg_locks

Nein

pg_matviews

Nein

pg_policies

Nein

pg_prepared_statements

Nein

pg_prepared_xacts

Nein

pg_publication_tables

Nein

pg_replication_origin_status

Nein

pg_replication_slots

Nein

pg_roles

Ja

pg_rules

Nein

pg_seclabels

Nein

pg_sequences

Nein

pg_settings

Ja

pg_shadow

Ja

pg_shmem_allocations

Ja

pg_stats

Ja

pg_stats_ext

Nein

pg_stats_ext_exprs

Nein

pg_tables

Ja

pg_timezone_abbrevs

Ja

pg_timezone_names

Ja

pg_user

Ja

pg_user_mappings

Nein

pg_views

Ja

pg_stat_activity

Nein

pg_stat_replication

Nein

pg_stat_replication_slots

Nein

pg_stat_wal_receiver

Nein

pg_stat_recovery_prefetch

Nein

pg_stat_subscription

Nein

pg_stat_subscription_stats

Nein

pg_stat_ssl

Ja

pg_stat_gssapi

Nein

pg_stat_archiver

Nein

pg_stat_io

Nein

pg_stat_bgwriter

Nein

pg_stat_wal

Nein

pg_stat_database

Nein

pg_stat_database_conflicts

Nein

pg_stat_all_tables

Nein

pg_stat_all_indexes

Nein

pg_statio_all_tables

Nein

pg_statio_all_indexes

Nein

pg_statio_all_sequences

Nein

pg_stat_slru

Nein

pg_statio_user_tables

Nein

pg_statio_user_sequences

Nein

pg_stat_user_functions

Nein

pg_stat_user_indexes

Nein

pg_stat_progress_analyze

Nein

pg_stat_progress_basebackup

Nein

pg_stat_progress_cluster

Nein

pg_stat_progress_create_index

Nein

pg_stat_progress_vacuum

Nein

pg_stat_sys_indexes

Nein

pg_stat_sys_tables

Nein

pg_stat_xact_all_tables

Nein

pg_stat_xact_sys_tables

Nein

pg_stat_xact_user_functions

Nein

pg_stat_xact_user_tables

Nein

pg_statio_sys_indexes

Nein

pg_statio_sys_sequences

Nein

pg_statio_sys_tables

Nein

pg_statio_user_indexes

Nein

Die Ansichten sys.jobs und sys.iam_pg_role_mappings

Aurora DSQL unterstützt die folgenden Systemansichten:

sys.jobs

sys.jobsbietet Statusinformationen über asynchrone Jobs. Nachdem Sie beispielsweise einen asynchronen Index erstellt haben, gibt Aurora DSQL a zurück. job_uuid Sie können dies job_uuid mit verwendensys.jobs, um den Status des Jobs nachzuschlagen.

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

Die Ansicht sys.iam_pg_role_mappings enthält Informationen zu den Berechtigungen, die IAM-Benutzern gewährt wurden. Wenn DQSLDBConnect es sich beispielsweise um eine IAM-Rolle handelt, die Aurora DSQL-Zugriff für Nicht-Administratoren gewährt, und einem Benutzer mit dem Namen testuser die DQSLDBConnect Rolle und die entsprechenden Berechtigungen gewährt werden, können Sie die sys.iam_pg_role_mappings Ansicht abfragen, um zu sehen, welchen Benutzern welche Berechtigungen gewährt werden.

SELECT * FROM sys.iam_pg_role_mappings;

Die Tabelle pg_class

Die pg_class Tabelle speichert Metadaten zu Datenbankobjekten. Führen Sie den folgenden Befehl aus, um die ungefähre Anzahl der Zeilen in einer Tabelle zu ermitteln.

SELECT reltuples FROM pg_class WHERE relname = 'table_name';

Daraufhin erhalten Sie ein Ergebnis, das dem hier dargestellten entspricht.

  reltuples
--------------
 9.993836e+08

Der ANALYZE Befehl

Der ANALYZE Befehl sammelt Statistiken über den Inhalt von Tabellen in der Datenbank und speichert die Ergebnisse in der pg_stats Systemansicht. Anschließend verwendet der Abfrageplaner diese Statistiken, um die effizientesten Ausführungspläne für Abfragen zu ermitteln.

In Aurora DSQL können Sie den ANALYZE Befehl nicht innerhalb einer expliziten Transaktion ausführen. ANALYZEunterliegt nicht dem Timeout-Limit für Datenbanktransaktionen.

Um den Bedarf an manuellen Eingriffen zu reduzieren und die Statistiken stets auf dem neuesten Stand zu halten, wird Aurora DSQL automatisch ANALYZE als Hintergrundprozess ausgeführt. Dieser Hintergrundjob wird automatisch auf der Grundlage der beobachteten Änderungsrate in der Tabelle ausgelöst. Er ist mit der Anzahl der Zeilen (Tupel) verknüpft, die seit der letzten Analyse eingefügt, aktualisiert oder gelöscht wurden.

ANALYZEläuft asynchron im Hintergrund und seine Aktivität kann in der Systemansicht sys.jobs mit der folgenden Abfrage überwacht werden:

SELECT * FROM sys.jobs WHERE job_type = 'ANALYZE';

Die wichtigsten Überlegungen

Anmerkung

ANALYZEJobs werden wie andere asynchrone Jobs in Aurora DSQL abgerechnet. Wenn Sie eine Tabelle ändern, kann dies indirekt einen Auftrag zur automatischen Erfassung von Hintergrundstatistiken auslösen, was aufgrund der damit verbundenen Aktivität auf Systemebene zu Gebühren für die Datenerfassung führen kann.

Automatisch ausgelöste ANALYZE Hintergrundaufträge erfassen dieselben Arten von Statistiken wie bei manuellen Aufträgen ANALYZE und wenden sie standardmäßig auf Benutzertabellen an. System- und Katalogtabellen sind von diesem automatisierten Prozess ausgenommen.