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 sowie über nützliche Abfragen zum Abrufen von Informationen über das System, z. B. die Version.

Systemtabellen

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

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 Description

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 zu Benutzern

pg_roles

Informationen zu Benutzern und Gruppen

pg_indexes

Listet alle Indizes auf

pg_constraint

Listet Einschränkungen für Tabellen auf

Unterstützte und nicht unterstützte Katalogtabellen

In der folgenden Tabelle sehen Sie, welche Tabellen in Aurora DSQL unterstützt werden 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 (pg_roles verwenden)

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

In der folgenden Tabelle sehen Sie, welche Ansichten in Aurora DSQL unterstützt werden 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 sys.jobs-Ansicht

sys.jobs bietet Statusinformationen über asynchrone Aufträge. Nachdem Sie beispielsweise einen asynchronen Index erstellt haben, gibt Aurora DSQL job_uuid zurück. Sie können diese job_uuid im Zusammenhang mit sys.jobs verwenden, um den Auftragsstatus zu suchen.

SELECT * FROM sys.jobs;

Aurora DSQL gibt eine Antwort zurück, die in etwa wie folgt aussieht:

job_id | status | details | job_type | class_id | object_id | object_name | start_time | update_time ----------------------------+-----------+---------+-------------+----------+-----------+-------------------+------------------------+------------------------ wqhu6ewifze5xitg3umt24h5ua | completed | | INDEX_BUILD | 1259 | 26433 | public.nt2_c1_idx | 2025-09-25 22:07:31+00 | 2025-09-25 22:07:46+00 kkngzf33dndl3daacxehpx5eba | completed | | ANALYZE | 1259 | 26419 | public.nt | 2025-09-25 21:57:05+00 | 2025-09-25 21:57:27+00 fyopxjb6ovdn7po6lrkj63cyea | completed | | DROP | 1259 | 26422 | | 2025-09-25 22:05:57+00 | 2025-09-25 22:06:03+00

In der folgenden Tabelle werden die Spalten in der sys.jobs Ansicht beschrieben.

sys.jobs: Spalten anzeigen
Spalte Typ Description
job_id text Eine Base-32-UUID, die den Job darstellt.
status text Der aktuelle Status des Jobs. Mögliche Werte sind submitted, processing, completed und failed. Weitere Informationen finden Sie unter sys.jobs-Statuswerte.
details text Alle relevanten Details zum Job. Schlägt der Job fehl, wird ein detaillierter Grund angegeben.
job_type text Der Typ des asynchronen Jobs. Mögliche Werte sind: INDEX_BUILD — eine asynchrone Indexerstellung. ANALYZE— ein vom System übermittelter Job zur automatischen Analyse. DROP— entfernt physische Daten nach einer DROP TABLE OR-Operation. DROP INDEX
class_id oid Die OID der Katalogtabelle, die das Objekt enthält.
object_id oid Die OID des Objekts.
object_name text Der vollständig qualifizierte Name des Objekts. DROPJobs können nicht auf bereits gelöschte Objekte verweisen. Wenn ein Objekt, auf das verwiesen wird, bereits gelöscht wurde, object_name kann es NULL sein.
start_time timestamp with time zone Der Zeitstempel, zu dem der Job eingereicht wurde.
update_time timestamp with time zone Der Zeitstempel, zu dem die Auftragszeile zuletzt aktualisiert wurde.
sys.jobs-Statuswerte
Status Description
submitted Die Aufgabe wurde eingereicht, aber Aurora DSQL hat noch nicht mit der Verarbeitung begonnen.
processing Aurora DSQL verarbeitet die Aufgabe.
failed Die Aufgabe ist fehlgeschlagen. Weitere Informationen finden Sie in der details Spalte.
completed Aurora DSQL hat die Aufgabe erfolgreich abgeschlossen.

Die sys.iam_pg_role_mappings-Ansicht

Die Ansicht sys.iam_pg_role_mappings enthält Informationen zu den Berechtigungen, die IAM-Benutzern gewährt wurden. Wenn beispielsweise DQSLDBConnect eine IAM-Rolle ist, die Aurora DSQL Zugriff auf Nicht-Administratoren gewährt und einem Benutzer namens testuser wird the Rolle DQSLDBConnect mit den entsprechenden Berechtigungen zugewiesen, können Sie die Systemansicht sys.iam_pg_role_mappings abfragen, um zu sehen, welche Benutzer welche Berechtigungen erhalten haben.

SELECT * FROM sys.iam_pg_role_mappings;

Nützliche Abfragen von Systemmetadaten

Verwenden Sie diese Abfragen, um Tabellenstatistiken und Systemmetadaten abzurufen, ohne teure Operationen wie vollständige Tabellenscans durchführen zu müssen.

Ermittelt die geschätzte Zeilenanzahl für eine Tabelle

Verwenden Sie die folgende Abfrage, um die ungefähre Anzahl der Zeilen in einer Tabelle zu ermitteln, ohne einen vollständigen Tabellenscan durchzuführen:

SELECT reltuples FROM pg_class WHERE relname = 'table_name';

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

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

Dieser Ansatz ist effizienter als SELECT COUNT(*) bei großen Tabellen in Aurora DSQL.

Holen Sie sich die aktuelle Aurora DSQL-Hauptversion

Verwenden Sie die folgende Abfrage, um die aktuelle Hauptversion des Aurora DSQL-Clusters abzurufen:

SELECT * FROM sys.dsql_major_version();

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

 dsql_major_version
--------------------
                  1

Dies gibt die Hauptversion zurück, auf der sich die SQL-Verbindung in Aurora DSQL befindet.

Aktuelle PostgreSQL-Version abrufen

Verwenden Sie die folgende Abfrage, um die aktuelle PostgreSQL-Version des Aurora DSQL-Clusters abzurufen:

SHOW server_version;

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

 server_version
----------------
 16.13

Dies gibt die PostgreSQL-Version zurück, in der sich die SQL-Verbindung in Aurora DSQL befindet.

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 ab. 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. ANALYZE unterliegt nicht dem Timeout-Limit für Datenbanktransaktionen.

Um den manuellen Aufwand zu verringern und Statistiken kontinuierlich aktuell zu halten, führt Aurora DSQL ANALYZE automatisch als Hintergrundprozess aus. Dieser Hintergrundprozess 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.

ANALYZE lä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

ANALYZE-Aufgaben werden wie andere asynchrone Jobs in Aurora DSQL abgerechnet. Wenn Sie eine Tabelle ändern, kann dies indirekt eine Aufgabe 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-Hintergrundprozesse sammeln die gleichen Statistiktypen wie ein manuelles ANALYZE und wenden sie standardmäßig auf Benutzertabellen an. System- und Katalogtabellen sind von diesem automatisierten Prozess ausgenommen.