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à.
Utilizzo dei parametri di registrazione per acquisire le variabili di associazione
Un tipico caso d'uso per l'acquisizione di variabili di associazione in PostgreSQL è il debug e l'ottimizzazione delle prestazioni delle query SQL. Una variabile bind consente di passare dati a una query quando la si esegue. Acquisendo le variabili di associazione, è possibile visualizzare i dati di input passati a una query, il che può aiutare a identificare eventuali problemi relativi ai dati o alle prestazioni delle query. L'acquisizione delle variabili di associazione può inoltre aiutare a controllare i dati di input e a rilevare potenziali rischi per la sicurezza o attività dannose.
Esistono diversi modi per acquisire variabili di associazione per PostgreSQL. Un metodo consiste nell'abilitare i parametri and. debug_print_parse
debug_print_rewritten
Ciò fa sì che PostgreSQL invii le versioni analizzate e riscritte delle istruzioni SQL, insieme alle variabili associate, al log del server.
-
debug_print_parse
: Quando abiliti questo parametro, l'albero di analisi delle query in entrata viene stampato nel log del server. Questo può essere utile per comprendere la struttura di una query e i valori di qualsiasi parametro associato. -
debug_print_rewritten
: Quando si abilita questo parametro, i moduli riscritti delle query in entrata vengono stampati nel registro del server. Ciò può essere utile per comprendere come il pianificatore di query interpreta una query e i valori di qualsiasi parametro associato.
Puoi utilizzare due parametri aggiuntivi in Amazon RDS e Aurora per acquisire variabili di associazione nei tuoi database PostgreSQL:
-
log_min_duration_statement
: Questo parametro imposta la durata minima di un'istruzione prima che venga registrata, in millisecondi. Quando un'istruzione richiede più tempo della durata specificata, i relativi valori di associazione vengono inclusi nell'output del registro. -
log_statement
: Questo parametro controlla quali istruzioni SQL vengono registrate. Imposta questo parametro suall
o associa per includere i valori associati nel registro. L'aumento del livello di registrazione influisce sulle prestazioni, quindi consigliamo di annullare le modifiche dopo la risoluzione dei problemi.
È inoltre possibile utilizzare l'pg_stat_statements
estensione, che fornisce statistiche sulle prestazioni per tutte le istruzioni SQL eseguite da un server, incluso il testo della query e i valori associati. Questa estensione consente di utilizzare pGAdmin o strumenti simili per monitorare e analizzare le prestazioni delle query.
Un'altra opzione consiste nell'utilizzare la pg_bind_parameter_status()
funzione per ottenere i valori dei parametri associati da un'istruzione preparata o nell'utilizzare la pg_get_parameter_status (paramname)
funzione per recuperare lo stato o il valore di un parametro di runtime specifico.
Inoltre, puoi utilizzare strumenti di terze parti come pgBadger per analizzare i log di PostgreSQL ed estrarre le variabili di associazione e altre informazioni per ulteriori analisi.