Tabelle e comandi di sistema in Aurora DSQL - Amazon Aurora DSQL

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Tabelle e comandi di sistema in Aurora DSQL

Consulta le sezioni seguenti per conoscere le tabelle e i cataloghi di sistema supportati in Aurora DSQL, nonché utili query per recuperare informazioni sul sistema, come la versione.

Tabelle di sistema

Aurora DSQL è compatibile con PostgreSQL, quindi molte tabelle e viste del catalogo di sistema di PostgreSQL esistono anche in Aurora DSQL.

Tabelle e viste importanti del catalogo di PostgreSQL

La tabella seguente descrive le tabelle e le viste più comuni che è possibile utilizzare in Aurora DSQL.

Nome Description

pg_namespace

Informazioni su tutti gli schemi

pg_tables

Informazioni su tutte le tabelle

pg_attribute

Informazioni su tutti gli attributi

pg_views

Informazioni sulle viste (pre)definite

pg_class

Descrive tutte le tabelle, le colonne, gli indici e gli oggetti simili

pg_stats

Una vista sulle statistiche del planner

pg_user

Informazioni sugli utenti

pg_roles

Informazioni su utenti e gruppi

pg_indexes

Elenca tutti gli indici

pg_constraint

Elenca i vincoli sulle tabelle

Tabelle di catalogo supportate e non supportate

La tabella seguente indica quali tabelle sono supportate e non supportate in Aurora DSQL.

Name Applicabile ad Aurora DSQL

pg_aggregate

No

pg_am

pg_amop

No

pg_amproc

No

pg_attrdef

pg_attribute

pg_authid

No (utilizzare pg_roles)

pg_auth_members

pg_cast

pg_class

pg_collation

pg_constraint

pg_conversion

No

pg_database

No

pg_db_role_setting

pg_default_acl

pg_depend

pg_description

pg_enum

No

pg_event_trigger

No

pg_extension

No

pg_foreign_data_wrapper

No

pg_foreign_server

No

pg_foreign_table

No

pg_index

pg_inherits

pg_init_privs

No

pg_language

No

pg_largeobject

No

pg_largeobject_metadata

pg_namespace

pg_opclass

No

pg_operator

pg_opfamily

No

pg_parameter_acl

pg_partitioned_table

No

pg_policy

No

pg_proc

No

pg_publication

No

pg_publication_namespace

No

pg_publication_rel

No

pg_range

pg_replication_origin

No

pg_rewrite

No

pg_seclabel

No

pg_sequence

No

pg_shdepend

pg_shdescription

pg_shseclabel

No

pg_statistic

pg_statistic_ext

No

pg_statistic_ext_data

No

pg_subscription

No

pg_subscription_rel

No

pg_tablespace

No

pg_transform

No

pg_trigger

No

pg_ts_config

pg_ts_config_map

pg_ts_dict

pg_ts_parser

pg_ts_template

pg_type

pg_user_mapping

No

Viste di sistema supportate e non supportate

La tabella seguente indica quali viste sono supportate e non supportate in Aurora DSQL.

Name Applicabile ad Aurora DSQL

pg_available_extensions

No

pg_available_extension_versions

No

pg_backend_memory_contexts

pg_config

No

pg_cursors

No

pg_file_settings

No

pg_group

pg_hba_file_rules

No

pg_ident_file_mappings

No

pg_indexes

pg_locks

No

pg_matviews

No

pg_policies

No

pg_prepared_statements

No

pg_prepared_xacts

No

pg_publication_tables

No

pg_replication_origin_status

No

pg_replication_slots

No

pg_roles

pg_rules

No

pg_seclabels

No

pg_sequences

No

pg_settings

pg_shadow

pg_shmem_allocations

pg_stats

pg_stats_ext

No

pg_stats_ext_exprs

No

pg_tables

pg_timezone_abbrevs

pg_timezone_names

pg_user

pg_user_mappings

No

pg_views

pg_stat_activity

No

pg_stat_replication

No

pg_stat_replication_slots

No

pg_stat_wal_receiver

No

pg_stat_recovery_prefetch

No

pg_stat_subscription

No

pg_stat_subscription_stats

No

pg_stat_ssl

pg_stat_gssapi

No

pg_stat_archiver

No

pg_stat_io

No

pg_stat_bgwriter

No

pg_stat_wal

No

pg_stat_database

No

pg_stat_database_conflicts

No

pg_stat_all_tables

No

pg_stat_all_indexes

No

pg_statio_all_tables

No

pg_statio_all_indexes

No

pg_statio_all_sequences

No

pg_stat_slru

No

pg_statio_user_tables

No

pg_statio_user_sequences

No

pg_stat_user_functions

No

pg_stat_user_indexes

No

pg_stat_progress_analyze

No

pg_stat_progress_basebackup

No

pg_stat_progress_cluster

No

pg_stat_progress_create_index

No

pg_stat_progress_vacuum

No

pg_stat_sys_indexes

No

pg_stat_sys_tables

No

pg_stat_xact_all_tables

No

pg_stat_xact_sys_tables

No

pg_stat_xact_user_functions

No

pg_stat_xact_user_tables

No

pg_statio_sys_indexes

No

pg_statio_sys_sequences

No

pg_statio_sys_tables

No

pg_statio_user_indexes

No

La vista sys.jobs

sys.jobs fornisce informazioni sullo stato dei processi asincroni. Ad esempio, dopo aver creato un indice asincrono, Aurora DSQL restituisce un job_uuid. È possibile utilizzare tale job_uuid con sys.jobs per cercare lo stato del processo.

SELECT * FROM sys.jobs;

Aurora DSQL restituisce una risposta simile alla seguente.

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

La tabella seguente descrive le colonne della vista. sys.jobs

colonne di visualizzazione sys.jobs
Colonna Tipo Description
job_id text Un UUID base-32 che rappresenta il lavoro.
status text Lo stato attuale del lavoro. I valori possibili sono submitted, processing, completed e failed. Per ulteriori informazioni, consulta valori di stato di sys.jobs.
details text Eventuali dettagli pertinenti sulla mansione. Se il lavoro fallisce, viene fornito un motivo dettagliato.
job_type text Il tipo di lavoro asincrono. I valori possibili sono: INDEX_BUILD — una build di indice asincrona. ANALYZE— un lavoro di analisi automatica inviato dal sistema. DROP— rimuove i dati fisici dopo un'DROP TABLEoperazione OR. DROP INDEX
class_id oid L'OID della tabella del catalogo che contiene l'oggetto.
object_id oid L'OID dell'oggetto.
object_name text Il nome completo dell'oggetto. DROPi lavori non possono fare riferimento a oggetti già rilasciati. Se un oggetto referenziato è già stato eliminato, object_name potrebbe essere NULL.
start_time timestamp with time zone Il timestamp in cui è stato inviato il lavoro.
update_time timestamp with time zone Il timestamp in cui la riga del lavoro è stata aggiornata l'ultima volta.
valori di stato di sys.jobs
Status Description
submitted L’attività è stata inviata, ma Aurora DSQL non ha ancora iniziato a elaborarla.
processing Aurora DSQL sta elaborando l’operazione.
failed L’attività non è andata a buon fine. Per ulteriori informazioni, consulta la details colonna.
completed Aurora DSQL ha completato l'operazione con successo.

La vista sys.iam_pg_role_mappings

La vista sys.iam_pg_role_mappings fornisce informazioni sulle autorizzazioni concesse agli utenti IAM. Ad esempio, se DQSLDBConnect è un ruolo IAM che fornisce ad Aurora DSQL l’accesso ai non amministratori e a un utente denominato testuser vengono concessi il ruolo DQSLDBConnect e le autorizzazioni corrispondenti, è possibile interrogare la vista sys.iam_pg_role_mappings per vedere a quali utenti sono concesse quali autorizzazioni.

SELECT * FROM sys.iam_pg_role_mappings;

Utili interrogazioni sui metadati di sistema

Utilizza queste query per ottenere statistiche sulle tabelle e metadati di sistema senza eseguire operazioni costose come scansioni complete delle tabelle.

Ottieni il numero stimato di righe per una tabella

Per ottenere il conteggio approssimativo delle righe in una tabella senza eseguire una scansione completa della tabella, utilizzate la seguente query:

SELECT reltuples FROM pg_class WHERE relname = 'table_name';

Il comando restituisce un output simile al seguente:

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

Questo approccio è più efficiente rispetto alle tabelle SELECT COUNT(*) di grandi dimensioni in Aurora DSQL.

Scarica la versione principale attuale di Aurora DSQL

Per ottenere la versione principale corrente del cluster Aurora DSQL, utilizzare la seguente query:

SELECT * FROM sys.dsql_major_version();

Il comando restituisce un output simile al seguente:

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

Ciò restituisce la versione principale su cui si trova la connessione SQL in Aurora DSQL.

Ottieni la versione corrente di PostgreSQL

Per ottenere la versione PostgreSQL corrente del cluster Aurora DSQL, usa la seguente query:

SHOW server_version;

Il comando restituisce un output simile al seguente:

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

Ciò restituisce la versione PostgreSQL su cui si trova la connessione SQL in Aurora DSQL.

Il comando ANALYZE.

Il comando ANALYZE raccoglie statistiche sul contenuto delle tabelle nel database e archivia i risultati nella vista di sistema pg_stats. In un secondo momento, il pianificatore di query utilizza queste statistiche per determinare i piani di esecuzione più efficienti per le query.

In Aurora DSQL, non è possibile eseguire il comando ANALYZE all’interno di una transazione esplicita. ANALYZEnon è soggetto al limite di timeout delle transazioni del database.

Per ridurre la necessità di interventi manuali e mantenere le statistiche costantemente aggiornate, Aurora DSQL esegue automaticamente ANALYZE come processo in background. Questo processo in background viene attivato automaticamente in base al tasso di variazione osservato nella tabella. È collegato al numero di righe (tuple) che sono state inserite, aggiornate o eliminate dall’ultima analisi.

Il processo ANALYZE viene eseguito in modo asincrono in background e la relativa attività può essere monitorata nella vista di sistema sys.jobs con la seguente query:

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

Considerazioni chiave

Nota

I processi ANALYZE vengono fatturati come gli altri processi asincroni in Aurora DSQL. Quando modifichi una tabella, ciò può attivare indirettamente un processo automatico di raccolta di statistiche in background, che può comportare addebiti di costi dovuti all’attività associata a livello di sistema.

I processi ANALYZE in background, attivati automaticamente, raccolgono gli stessi tipi di statistiche utilizzate da un processo ANALYZE avviato manualmente e le applicano per impostazione predefinita alle tabelle utente. Le tabelle di sistema e di catalogo sono escluse da questo processo automatizzato.