Parametri per la registrazione in PostgreSQL RDS per PostgreSQL - 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à.

Parametri per la registrazione in PostgreSQL RDS per PostgreSQL

È possibile personalizzare il comportamento di registrazione per l'istanza database RDS per PostgreSQL modificando vari parametri. Nella tabella seguente sono riportati, tra le altre impostazioni, i parametri che stabiliscono la durata di archiviazione dei log, quando ruotarli e se l'output del log è in formato CSV (valori separati da virgole). Puoi anche trovare l'output di testo inviato a STDERR, tra le altre impostazioni. Per modificare le impostazioni per i parametri modificabili, utilizza un gruppo di parametri del·clusterdatabase personalizzato per l'istanza database RDS per PostgreSQL. Per ulteriori informazioni, consulta Gruppi di parametri DB per RDSistanze.

Parametro Predefinito Descrizione

log_destination

stderr

Imposta il formato di output per il registro. L'impostazione predefinita è stderr, ma puoi anche specificare il formato CSV aggiungendo csvlog all'impostazione. Per ulteriori informazioni, consulta Impostazione della destinazione del registro (stderr, csvlog).

log_filename

postgresql.log.%Y-%m-%d-%H

Specifica il modello per il nome del file di log. Oltre al valore predefinito, questo parametro supporta postgresql.log.%Y-%m-%d e postgresql.log.%Y-%m-%d-%H%M per il modello del nome del file.

log_line_prefix

%t:%r:%u@%d:[%p]:

Definisce il prefisso per ogni riga di log che viene scritta in stderr, per annotare l'ora (%t), l'host remoto (%r), l'utente (%u), il database (%d) e l'ID del processo (%p).

log_rotation_age

60

I minuti dopo i quali il file di log viene ruotato automaticamente. È possibile modificare questo valore nell'intervallo compreso tra 1 e 1440 minuti. Per ulteriori informazioni, consulta Impostazione della rotazione dei file di log.

log_rotation_size

La dimensione (KB) che stabilisce la rotazione automatica del log. Per impostazione predefinita, questo parametro non viene utilizzato perché i log vengono ruotati in base al parametro. log_rotation_age Per ulteriori informazioni, consulta Impostazione della rotazione dei file di log.

rds.log_retention_period

4320

I registri PostgreSQL più vecchi del numero di minuti specificato vengono eliminati. Il valore di default di 4.320 minuti elimina i file di log dopo 3 giorni. Per ulteriori informazioni, consulta Impostazione del periodo di retention dei log.

Per identificare i problemi dell'applicazione, puoi cercare fallimenti di query, errori di accesso, deadlock ed errori irreversibili del server nel registro. Ad esempio, supponi di convertire un'applicazione legacy da Oracle ad Amazon RDS PostgreSQL, ma non tutte le query sono state convertite correttamente. Queste query formattate in modo errato generano messaggi di errore nei registri che puoi utilizzare per identificare i problemi. Per ulteriori informazioni sulla registrazione delle query, consulta Attivazione della registrazione delle query per l'istanza database RDS per PostgreSQL.

Negli argomenti seguenti sono disponibili informazioni su come impostare vari parametri che controllano i dettagli di base dei log PostgreSQL.

Impostazione del periodo di retention dei log

Il parametro rds.log_retention_period specifica per quanto tempo l'istanza database RDS per PostgreSQL conserva i file di log. L'impostazione predefinita è 3 giorni (4.320 minuti), ma è possibile impostare qualsiasi valore compreso tra 1 giorno (1.440 minuti) e 7 giorni (10.080 minuti). Assicurati che l'istanza database RDS per PostgreSQL abbia spazio di archiviazione sufficiente per contenere i file di log per il periodo di tempo specificato.

l'istanza database RDS per PostgreSQL. Per ulteriori informazioni, consulta Pubblicazione dei log PostgreSQL su Amazon Logs CloudWatch . Logs. CloudWatch

Impostazione della rotazione dei file di log

Per impostazione predefinita, nuovi file di log vengono creati da Amazon RDS ogni ora. La tempistica è controllata dal parametro log_rotation_age. Questo parametro ha un valore predefinito di 60 (minuti), ma è possibile impostarlo su qualsiasi valore tra 1 minuto e 24 ore (1.440 minuti). Al momento della rotazione, viene creato un nuovo file di log distinto. Il file è denominato in base al modello specificato dal parametro log_filename.

I file di log possono anche essere ruotati in base alle loro dimensioni, come specificato dal parametro log_rotation_size. Questo parametro specifica che il log deve essere ruotato quando raggiunge la dimensione specificata (in kilobyte). Per un'istanza database RDS for PostgreSQL, log_rotation_size non è impostato, cioè non è specificato alcun valore. Tuttavia, puoi impostare il parametro su un valore compreso tra 0 e 2.097.151 kB (kilobyte).

I nomi dei file di registro si basano sul modello di nome di file specificato nel parametro log_filename. Le impostazioni disponibili per questo parametro sono le seguenti:

  • postgresql.log.%Y-%m-%d : formato predefinito per il nome del file di registro. Include l'anno, il mese e la data nel nome del file di log.

  • postgresql.log.%Y-%m-%d-%H: include l'ora nel formato del nome del file di registro.

Per ulteriori informazioni, consulta log_rotation_age e log_rotation_size nella documentazione di PostgreSQL.

Impostazione della destinazione del registro (stderr, csvlog)

Per impostazione predefinita, PostgreSQL genera i log in formato errore standard (stderr). Questo formato è l'impostazione predefinita per il parametro log_destination. Ogni messaggio ha un prefisso che utilizza il modello specificato nel parametro log_line_prefix. Per ulteriori informazioni, consulta Informazioni sul parametro log_line_prefix.

RDS per PostgreSQL può anche generare log in formato csvlog. Il formato csvlog è utile per analizzare i dati dei registri in formato CSV. Ad esempio, supponi di utilizzare l'estensione log_fdw per lavorare con i log come tabelle esterne. La tabella esterna creata sui file di log di stderr contiene una singola colonna con i dati degli eventi di log. Aggiungendo csvlog al parametro log_destination, ottieni il file di log in formato CSV con le demarcazioni per le diverse colonne della tabella esterna. In tal modo puoi ordinare e analizzare i log più facilmente. Per informazioni su come usare log_fdw con csvlog, consulta Utilizzo dell'estensione log_fdw per accedere al registro DB utilizzando SQL.

Se specifichi csvlog per questo parametro, tieni presente che vengono generati entrambi i file stderr e csvlog. Ti consigliamo di monitorare lo spazio di archiviazione consumato dai registri tenendo conto di rds.log_retention_period e delle altre impostazioni che influiscono sull'archiviazione e sulla rotazione dei registri. Utilizzando stderr e csvlog lo spazio di archiviazione consumato dai registri aumenta più del doppio.

Se aggiungi csvlog a log_destination e vuoi ripristinare solo stderr, devi reimpostare il parametro. Per farlo, nella console Amazon RDS apri il gruppo di parametri del·clusterdatabase personalizzato per la tua istanza. Scegli il parametro log_destination, seleziona Edit parameter (Modifica parametro), quindi Reset (Reimposta).

Per ulteriori informazioni sulla configurazione dei registri, consulta Utilizzo dei log Amazon RDS e Aurora PostgreSQL: Parte 1.

Informazioni sul parametro log_line_prefix

Il formato di stderr registro prefissa ogni messaggio di registro con i dettagli specificati dal parametro. log_line_prefix Il valore predefinito è:

%t:%r:%u@%d:[%p]:t

A partire dalla versione 16 di Aurora PostgreSQL, puoi anche scegliere:

%m:%r:%u@%d:[%p]:%l:%e:%s:%v:%x:%c:%q%a

Ogni voce di registro inviata a stderr include le seguenti informazioni in base al valore selezionato:

  • %t— Ora di immissione del registro senza millisecondi

  • %m— Ora di immissione del registro in millisecondi

  • %r - Indirizzo dell'host remoto

  • %u@%d - Nome utente @ nome del database

  • [%p] - ID del processo, se disponibile

  • %l— Numero di riga di registro per sessione

  • %e— Codice di errore SQL

  • %s— Timestamp di inizio del processo

  • %v— ID della transazione virtuale

  • %x— ID della transazione

  • %c— ID della sessione

  • %q— Terminatore non di sessione

  • %a— Nome dell'applicazione