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à.
riferimento alle funzioni rds_tools
L'rds_toolsestensione fornisce una serie di funzioni di utilità per la gestione e il monitoraggio dell'istanza RDS per PostgreSQL Aurora PostgreSQL . Utilizzando queste funzioni, è possibile diagnosticare problemi di replica, vuoto e configurazione direttamente da SQL, senza strumenti di monitoraggio separati. Queste funzioni si aggiungono alle funzioni PostgreSQL standard. Per ulteriori informazioni sulle funzioni standard di PostgreSQL, vedere Funzioni e operatori
Questa sezione descrive le rds_tools funzioni disponibili su RDS per PostgreSQL Aurora . La descrizione di ogni funzione indica la versione dell'rds_toolsestensione in cui la funzione è diventata disponibile.
Per creare l'estensione, esegui il comando seguente.
postgres=> CREATE EXTENSION rds_tools; CREATE EXTENSION
Argomenti
rds_tools.role_password_encryption_type
Restituisce il metodo di crittografia della password utilizzato per ogni ruolo del database. Questa funzione di restituzione dei set esclude i ruoli di RDS-protected sistema dall'output. Disponibile a partire dalla versione 1.0 dell'rds_toolsestensione.
Per un esempio di utilizzo di questa funzione per rivedere la crittografia delle password prima di migrare gli utenti del database su SCRAM, vedere. Utilizzo delle crittografia password SCRAM per PostgreSQL
Prototipo di funzione
rds_tools.role_password_encryption_type()
Arguments (Argomenti)
Nessuna.
Output
-
rolname— Il nome del ruolo del database. -
encryption_type— Il metodo di crittografia della password utilizzato, ad esempiomd5oscram-sha-256.
Esempio di utilizzo
=> SELECT * FROM rds_tools.role_password_encryption_type(); rolname | encryption_type ---------------+----------------- postgres | md5 app_user | md5 readonly_user | scram-sha-256 (3 rows)
rds_tools.blue_green_get_status
Verifica la presenza di comandi con restrizioni eseguiti durante le operazioni blue/green di distribuzione. Durante blue/green le distribuzioni che utilizzano la replica logica, non è possibile replicare i comandi DDL (Data Definition Language) o le operazioni a oggetti di grandi dimensioni (LO) tra gli ambienti blu e verde. Se viene rilevato un comando limitato, riavvia la blue/green distribuzione, poiché i dati non possono essere replicati correttamente nell'ambiente verde. Disponibile a partire dalla versione di rds_tools estensione 1.3.
Prototipo di funzione
rds_tools.blue_green_get_status(command_type)
Arguments (Argomenti)
-
command_type— Il tipo di comando limitato da controllare. I valori validi sono'DDL'(comandi del linguaggio di definizione dei dati) e'LO'(operazioni su oggetti di grandi dimensioni).
Output
Un valore boolean. Restituisce true se durante la distribuzione è stato eseguito un comando con restrizioni del tipo specificato o false se tale comando non è stato rilevato.
Esempio di utilizzo
=> SELECT rds_tools.blue_green_get_status('DDL'); blue_green_get_status ----------------------- f (1 row)
rds_tools.postgres_get_av_diag
Recupera informazioni diagnostiche sui processi di autovacuum che si bloccano o sono in ritardo, insieme a suggerimenti per risolvere ogni problema. Esegui questa funzione di restituzione dei set nel database con l'ID di transazione più vecchio per ottenere risultati accurati. Per ulteriori informazioni, consulta Identificare e risolvere i vacuobloccanti aggressivi.
Disponibile a partire dalla versione di rds_tools estensione 1.9.
Prototipo di funzione
rds_tools.postgres_get_av_diag()
Arguments (Argomenti)
Nessuna.
Output
-
blocker— La categoria di attività del database che blocca il vuoto. Il valore è uno dei seguenti:Istruzione attiva
Inattivo in transazione
Transazione preparata
Slot di replica logica
Replica di lettura con slot di replica fisica
Replica di lettura con replica in streaming
Tabelle temporanee
-
database— Il nome del database in cui si svolge l'attività di blocco. -
blocker_identifier— L'identificatore dell'attività di blocco. Il valore dipende dal tipo di blocco:Per un'istruzione attiva o una sessione inattiva durante una transazione, l'ID del processo con la relativa istruzione SQL.
Per una transazione preparata, il nome della transazione preparata.
Per una replica di lettura, l'indirizzo IP della replica.
Per uno slot di replica, il nome dello slot di replica.
-
wait_event— L'evento di attesa della sessione di blocco, ove applicabile. -
autovacuum_lagging_by— Il numero di transazioni effettuate da Autovacuum è in ritardo rispetto alla categoria. -
suggestion— Un suggerimento per risolvere il blocco, incluso il nome del database, l'ID del processo e l'azione da intraprendere. -
suggested_action— Una serie di azioni da intraprendere per risolvere il blocco.
Esempio di utilizzo
=> SELECT * FROM rds_tools.postgres_get_av_diag() ORDER BY autovacuum_lagging_by DESC; blocker | Active statement database | my_database blocker_identifier | SELECT pg_sleep(20000); wait_event | Timeout:PgSleep autovacuum_lagging_by | 568600871 suggestion | Connect to database "my_database", review carefully, and consider terminating the process using suggested_action. suggested_action | {"SELECT pg_terminate_backend(29621);"}
rds_tools.rds_version
Visualizza la versione del motore RDS per PostgreSQL per l'istanza DB. Questa funzione legge le informazioni sulla versione dai file di configurazione dell'istanza. Disponibile a partire dalla versione 1.1 rds_tools dell'estensione.
Prototipo di funzione
rds_tools.rds_version()
Arguments (Argomenti)
Nessuna.
Output
Una stringa di caratteri che contiene la versione del motore.
Esempio di utilizzo
=> SELECT rds_tools.rds_version(); rds_version ------------- 18.1.R1 (1 row)
rds_tools.logical_seed_lsn
Restituisce il numero di sequenza del log log del seme logico (LSN) che rappresenta il punto in cui la replica logica diverge dall'istanza di origine. Utilizzate questa funzione per gestire le configurazioni di replica logica e comprendere i punti di coerenza della replica. Disponibile a partire dalla versione di rds_tools estensione 1.2.
Prototipo di funzione
rds_tools.logical_seed_lsn()
Arguments (Argomenti)
Nessuna.
Output
Un valore pg_lsn.
Esempio di utilizzo
=> SELECT rds_tools.logical_seed_lsn(); logical_seed_lsn ------------------ 0/1677B68 (1 row)
rds_tools.db_instance_identifier
Visualizza l'identificatore dell'istanza DB. Specifichi questo identificatore quando crei l'istanza DB e i servizi AWS lo usano ovunque per identificare il tuo database. Disponibile a partire dalla versione di rds_tools estensione 1.2.
Prototipo di funzione
rds_tools.db_instance_identifier()
Arguments (Argomenti)
Nessuna.
Output
Una stringa di caratteri che contiene l'identificatore dell'istanza DB.
Esempio di utilizzo
=> SELECT rds_tools.db_instance_identifier(); db_instance_identifier ------------------------ my-postgres-instance (1 row)
rds_tools.dbi_resource_id
Visualizza l'ID di risorsa dell'istanza DB (ID di risorsa DBI) dell'istanza DB. L'ID della risorsa DBI è un identificatore unico e immutabile che AWS genera per l'istanza DB. Rimane costante per tutta la durata dell'istanza, anche se si rinomina l'istanza. Usa questo valore per correlare l'attività del database con CloudTrail i log AWS o altri servizi di monitoraggio AWS. Questo valore corrisponde al DbiResourceId campo restituito dal comando DBInstance RDS API. Disponibile a partire dalla versione di rds_tools estensione 1.4.
Prototipo di funzione
rds_tools.dbi_resource_id()
Arguments (Argomenti)
Nessuna.
Output
Una stringa di caratteri che contiene l'ID della risorsa DBI.
Esempio di utilizzo
=> SELECT rds_tools.dbi_resource_id(); dbi_resource_id ----------------------------------- db-ABC123DEF456GHI789JKL012MNO345P (1 row)
rds_tools.multi_az_db_cluster_source_dbi_resource_id
Visualizza l'ID della risorsa DBI dell'istanza di origine per una distribuzione di cluster Multi-AZ DB. Utilizzate questa funzione per comprendere la relazione tra le istanze in una Multi-AZ configurazione e per risolvere i problemi di replica o di failover. Disponibile a partire dalla versione di estensione 1.4. rds_tools
Prototipo di funzione
rds_tools.multi_az_db_cluster_source_dbi_resource_id()
Arguments (Argomenti)
Nessuna.
Output
Una stringa di caratteri che contiene l'ID della risorsa DBI di origine. Restituisce NULL se l'istanza non fa parte di un cluster Multi-AZ DB, il file di configurazione non esiste o il dbi_resource_id campo non esiste nella configurazione.
Esempio di utilizzo
=> SELECT rds_tools.multi_az_db_cluster_source_dbi_resource_id(); multi_az_db_cluster_source_dbi_resource_id -------------------------------------------- db-XYZ789ABC123DEF456GHI012JKL345MNO678P (1 row)
rds_tools.show_topology
Visualizza i metadati della topologia per i Multi-AZ cluster RDS, che consentono passaggi rapidi fornendo informazioni di connessione per tutte le istanze del cluster. Le librerie client come AWS Advanced JDBC Wrapper Driver utilizzano questa funzione di restituzione dei set per connettersi direttamente a tutte le istanze in un cluster RDS. Multi-AZ Per identificare l'ID di risorsa dell'istanza di writer, usa questa funzione insieme alla funzione. rds_tools.multi_az_db_cluster_source_dbi_resource_id Disponibile a partire dalla versione di rds_tools estensione 1.4.
Prototipo di funzione
rds_tools.show_topology([client_identifier])
Arguments (Argomenti)
-
client_identifier(opzionale) — Un identificatore per la libreria client o il proxy che sta interrogando la topologia. Questo parametro è facoltativo ma consigliato, poiché consente ad Amazon RDS di tracciare quali client stanno interrogando attivamente la topologia e fornisce telemetria per il supporto di client aggiuntivi.
Output
-
id— L'ID della risorsa DBI di ogni istanza nel cluster RDS. Multi-AZ -
endpoint— L'endpoint per ogni nodo del cluster. -
port— Il numero di porta per ogni istanza nel cluster RDS. Multi-AZ -
role— Il ruolo del nodo nel cluster, ad esempio scrittore o lettore. -
status— Lo stato del nodo. -
version— La versione del record di topologia.
Esempio di utilizzo
=> SELECT id, endpoint, port, role FROM rds_tools.show_topology('my-jdbc-app'); id | endpoint | port | role -----------------+-----------------------------------------------------------+------+-------- db-IDENTIFIER-1 | somedb-instance-1.aaaaaaaaaaaa.us-west-2.rds.amazonaws.com | 5432 | writer db-IDENTIFIER-2 | somedb-instance-2.aaaaaaaaaaaa.us-west-2.rds.amazonaws.com | 5432 | reader db-IDENTIFIER-3 | somedb-instance-3.aaaaaaaaaaaa.us-west-2.rds.amazonaws.com | 5432 | reader (3 rows)
rds_tools.pg_ls_multixactdir
Elenca il contenuto della pg_multixact directory, che memorizza i dati di multitrasazione in PostgreSQL. Usa questa funzione di restituzione dei set per monitorare l'utilizzo di multixact, risolvere i problemi relativi a multixact e comprendere i modelli di archiviazione del database. Disponibile rds_tools a partire dalla versione 1.7 dell'estensione.
Prototipo di funzione
rds_tools.pg_ls_multixactdir()
Arguments (Argomenti)
Nessuna.
Output
-
name— Il nome del file o della directory. -
size— La dimensione in byte. -
modification— Il timestamp dell'ultima modifica.
Esempio di utilizzo
=> SELECT * FROM rds_tools.pg_ls_multixactdir(); name | size | modification ---------------------------+------+------------------------ pg_multixact/members/ | 4096 | 2026-10-01 19:17:29+00 pg_multixact/members/0000 | 8192 | 2025-08-22 21:53:46+00 pg_multixact/offsets/ | 4096 | 2026-10-01 19:17:29+00 pg_multixact/offsets/0000 | 8192 | 2026-10-01 19:22:38+00 (4 rows)