

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à.

# Funzioni di postgres\$1get\$1av\$1diag() in RDS per PostgreSQL
<a name="Appendix.PostgreSQL.CommonDBATasks.Autovacuum_Monitoring.Functions"></a>

La funzione `postgres_get_av_diag()` recupera informazioni diagnostiche sui processi di autovacuum che si bloccano o sono in ritardo in un database RDS per PostgreSQL. Per ottenere risultati accurati, la query deve essere eseguita nel database con l’ID transazione meno recente. Per ulteriori informazioni sull’utilizzo del database con l’ID transazione meno recente, consulta [Mancata connessione al database con l’età dell’ID transazione meno recente](Appendix.PostgreSQL.CommonDBATasks.Autovacuum_Monitoring.NOTICE.md).

```
SELECT
    blocker,
    DATABASE,
    blocker_identifier,
    wait_event,
    TO_CHAR(autovacuum_lagging_by, 'FM9,999,999,999') AS autovacuum_lagging_by,
    suggestion,
    suggested_action
FROM (
    SELECT
        *
    FROM
        rds_tools.postgres_get_av_diag ()
    ORDER BY
        autovacuum_lagging_by DESC) q;
```

La funzione `postgres_get_av_diag()` restituisce una tabella con le seguenti informazioni:

**elemento bloccante**  
Specifica la categoria di attività del database che blocca il processo di vacuum.  
+ [Istruzione attiva](Appendix.PostgreSQL.CommonDBATasks.Autovacuum_Monitoring.Resolving_Identifiableblockers.md#Appendix.PostgreSQL.CommonDBATasks.Autovacuum_Monitoring.Active_statement)
+ [Inattivo in transazione](Appendix.PostgreSQL.CommonDBATasks.Autovacuum_Monitoring.Resolving_Identifiableblockers.md#Appendix.PostgreSQL.CommonDBATasks.Autovacuum_Monitoring.Idle_in_transaction)
+ [Transazione preparata](Appendix.PostgreSQL.CommonDBATasks.Autovacuum_Monitoring.Resolving_Identifiableblockers.md#Appendix.PostgreSQL.CommonDBATasks.Autovacuum_Monitoring.Prepared_transaction)
+ [Slot di replica logica](Appendix.PostgreSQL.CommonDBATasks.Autovacuum_Monitoring.Resolving_Identifiableblockers.md#Appendix.PostgreSQL.CommonDBATasks.Autovacuum_Monitoring.Logical_replication_slot)
+ [Replica di lettura con slot di replica fisica](Appendix.PostgreSQL.CommonDBATasks.Autovacuum_Monitoring.Resolving_Identifiableblockers.md#Appendix.PostgreSQL.CommonDBATasks.Autovacuum_Monitoring.Read_replicas)
+ [Replica di lettura con replica in streaming](Appendix.PostgreSQL.CommonDBATasks.Autovacuum_Monitoring.Resolving_Identifiableblockers.md#Appendix.PostgreSQL.CommonDBATasks.Autovacuum_Monitoring.Read_replicas)
+ [Tabelle temporanee](Appendix.PostgreSQL.CommonDBATasks.Autovacuum_Monitoring.Resolving_Identifiableblockers.md#Appendix.PostgreSQL.CommonDBATasks.Autovacuum_Monitoring.Temporary_tables)

**database**  
Specifica il nome del database, ove pertinente e supportato. Si tratta del database in cui l’attività è in corso e che blocca o bloccherà il processo di autovacuum. È il database a cui devi connetterti e sul quale devi agire.

**blocker\$1identifier**  
Specifica l’identificatore dell’attività che blocca o bloccherà il processo di autovacuum. L’identificatore può essere un ID processo insieme a un’istruzione SQL, una transazione preparata, un indirizzo IP di una replica di lettura e il nome dello slot di replica (logica o fisica).

**wait\$1event**  
Specifica l’[evento di attesa](PostgreSQL.Tuning.md) della sessione di blocco ed è applicabile ai seguenti elementi bloccanti:  
+ Istruzione attiva
+ Inattivo in transazione

**autovacum\$1lagging\$1by**  
Specifica il numero di transazioni di cui il processo di autovacuum è in ritardo nel lavoro di backlog per categoria.

**suggestion**  
Specifica i suggerimenti per risolvere il blocco. Queste istruzioni includono il nome del database in cui esistono l’attività (ove applicabile), l’ID processo (PID) della sessione (ove applicabile) e l’azione da intraprendere.

**suggested\$1action**  
Suggerisci l’azione che è necessario intraprendere per risolvere il blocco.