

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
<a name="working-with-systems-tables"></a>

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

## Tabelle di sistema
<a name="working-with-system-tables-queries"></a>

Aurora DSQL è compatibile con PostgreSQL, quindi molte [tabelle](https://www.PostgreSQL.org/docs/current/catalogs-overview.html) e [viste del catalogo di sistema](https://www.PostgreSQL.org/docs/current/views.html) di PostgreSQL esistono anche in Aurora DSQL.

### Tabelle e viste importanti del catalogo di PostgreSQL
<a name="dsql-catalog-tables"></a>

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
<a name="dsql-catalog-tables-supported"></a>

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


| Nome | Applicabile ad Aurora DSQL | 
| --- | --- | 
| `pg_aggregate` | No | 
| `pg_am` | Sì | 
| `pg_amop` | No | 
| `pg_amproc` | No | 
| `pg_attrdef` | Sì | 
| `pg_attribute` | Sì | 
| `pg_authid` | No (utilizzare `pg_roles`) | 
| `pg_auth_members` | Sì  | 
| `pg_cast` | Sì | 
| `pg_class` | Sì | 
| `pg_collation` | Sì | 
| `pg_constraint` | Sì | 
| `pg_conversion` | No | 
| `pg_database` | No | 
| `pg_db_role_setting` | Sì | 
| `pg_default_acl` | Sì | 
| `pg_depend` | Sì | 
| `pg_description` | Sì | 
| `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` | Sì | 
| `pg_inherits` | Sì | 
| `pg_init_privs` | No | 
| `pg_language` | No | 
| `pg_largeobject` | No | 
| `pg_largeobject_metadata` | Sì | 
| `pg_namespace` | Sì | 
| `pg_opclass` | No | 
| `pg_operator` | Sì | 
| `pg_opfamily` | No | 
| `pg_parameter_acl` | Sì | 
| `pg_partitioned_table` | No | 
| `pg_policy` | No | 
| `pg_proc` | No | 
| `pg_publication` | No | 
| `pg_publication_namespace` | No | 
| `pg_publication_rel` | No | 
| `pg_range` | Sì | 
| `pg_replication_origin` | No | 
| `pg_rewrite` | No | 
| `pg_seclabel` | No | 
| `pg_sequence` | No | 
| `pg_shdepend` | Sì | 
| `pg_shdescription` | Sì | 
| `pg_shseclabel` | No | 
| `pg_statistic` | Sì | 
| `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` | Sì | 
| `pg_ts_config_map` | Sì | 
| `pg_ts_dict` | Sì | 
| `pg_ts_parser` | Sì | 
| `pg_ts_template` | Sì | 
| `pg_type` | Sì | 
| `pg_user_mapping` | No | 

### Viste di sistema supportate e non supportate
<a name="dsql-system-tables-supported"></a>

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


| Nome | Applicabile ad Aurora DSQL | 
| --- | --- | 
| `pg_available_extensions` | No | 
| `pg_available_extension_versions` | No | 
| `pg_backend_memory_contexts` | Sì | 
| `pg_config` | No | 
| `pg_cursors` | No | 
| `pg_file_settings` | No | 
| `pg_group` | Sì | 
| `pg_hba_file_rules` | No | 
| `pg_ident_file_mappings` | No | 
| `pg_indexes` | Sì | 
| `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` | Sì | 
| `pg_rules` | No | 
| `pg_seclabels` | No | 
| `pg_sequences` | No | 
| `pg_settings` | Sì | 
| `pg_shadow` | Sì | 
| `pg_shmem_allocations` | Sì | 
| `pg_stats` | Sì | 
| `pg_stats_ext` | No | 
| `pg_stats_ext_exprs` | No | 
| `pg_tables` | Sì | 
| `pg_timezone_abbrevs` | Sì | 
| `pg_timezone_names` | Sì | 
| `pg_user` | Sì | 
| `pg_user_mappings` | No | 
| `pg_views` | Sì | 
| `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` | Sì | 
| `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
<a name="dsql-sys-jobs"></a>

`sys.jobs` fornisce informazioni sullo stato dei processi asincroni. Ad esempio, dopo aver [creato un indice asincrono](working-with-create-index-async.md), 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`


**sys.jobs visualizza le colonne**  

| Colonna | Tipo | Description | 
| --- | --- | --- | 
| job\_id | text | Un UUID in 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 sys.jobs](#dsql-sys-jobs-status-values). | 
| details | text | Eventuali dettagli pertinenti sul lavoro. Se il lavoro fallisce, viene fornito un motivo dettagliato. | 
| job\_type | text | Tipo di processo asincrono. I valori possibili sono: INDEX\_BUILD — una creazione di indice asincrona. ANALYZE— un lavoro di analisi automatica inviato dal sistema. DROP— rimuove i dati fisici dopo un'operazione oDROP TABLE. 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 job non possono fare riferimento a oggetti già eliminati. Se un oggetto referenziato è già stato eliminato, object\_name può 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 sys.jobs**  

| Stato | 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. Vedi la details colonna per maggiori informazioni. | 
| completed | Aurora DSQL ha completato l'operazione con successo. | 

### La vista sys.iam\_pg\_role\_mappings
<a name="dsql-sys-iam-pg-role-mappings"></a>

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
<a name="dsql-useful-system-queries"></a>

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

### Ottieni un numero stimato di righe per una tabella
<a name="dsql-get-row-count"></a>

Per ottenere il numero approssimativo delle righe in una tabella senza eseguire una scansione completa della tabella, utilizza 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.

### Ottieni la versione principale corrente di Aurora DSQL
<a name="dsql-get-major-version"></a>

Per ottenere la versione principale corrente del cluster Aurora DSQL, utilizzate 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 è attiva la connessione SQL in Aurora DSQL.

### Ottieni la versione corrente di PostgreSQL
<a name="dsql-get-pg-version"></a>

Per ottenere la versione corrente di PostgreSQL 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 di PostgreSQL su cui è attiva la connessione SQL in Aurora DSQL.

## ``Il comando ANALYZE
<a name="working-with-system-tables-analyze"></a>

 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. `ANALYZE`non è 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. 