View a markdown version of this page

riferimento alle funzioni rds_tools - Amazon Relational Database Service

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 nella documentazione di PostgreSQL.

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

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 esempio md5 oscram-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)