

# Parámetros de registro en RDS para PostgreSQL
<a name="USER_LogAccess.Concepts.PostgreSQL.overview.parameter-groups"></a>

Puede personalizar el comportamiento de registro de su instancia de base de datos de RDS para PostgreSQL modificando varios parámetros. En la siguiente tabla, puede encontrar los parámetros que afectan al tiempo que se almacenan los registros, cuándo se debe rotar el registro y si se debe generar el registro en formato CSV (valor separado por comas). También puede encontrar la salida de texto enviada a STDERR, entre otras configuraciones. Para cambiar la configuración de los parámetros que se pueden modificar, use un grupo de parámetros de base de datos personalizado para su Instancia de base de datos RDS para PostgreSQL. Para obtener más información, consulte [Grupos de parámetros de base de datos para instancias de Amazon RDS](USER_WorkingWithDBInstanceParamGroups.md).


| Parámetro | Predeterminado | Descripción | 
| --- | --- | --- | 
| log\$1destination | stderr | Establece el formato de salida para el registro. El valor predeterminado es `stderr`, pero también puede especificar un valor separado por comas (CSV) agregándolo `csvlog` al ajuste. Para obtener más información, consulte [Configuración del destino del registro (`stderr`, `csvlog`)](#USER_LogAccess.Concepts.PostgreSQL.Log_Format).  | 
| log\$1filename |  postgresql.log.%Y-%m-%d-%H  | Especifica el patrón del nombre del archivo de registro. Además del valor predeterminado, este parámetro admite `postgresql.log.%Y-%m-%d` y `postgresql.log.%Y-%m-%d-%H%M` para el patrón del nombre de archivo.  | 
| log\$1line\$1prefix | %t:%r:%u@%d:[%p]: | Define el prefijo de cada línea de registro que se escribe en `stderr`, para anotar la hora (%t), el host remoto (%r), el usuario (%u), la base de datos (%d) y el ID del proceso (%p). | 
| log\$1rotation\$1age | 60 | Minutos después de los cuales el archivo de registro rota automáticamente. Puede cambiar este valor dentro del intervalo de 1 a 1440 minutos. Para obtener más información, consulte [Configuración de la rotación del archivo de registro](#USER_LogAccess.Concepts.PostgreSQL.log_rotation).  | 
| log\$1rotation\$1size | – | El tamaño (kB) con el que se rota automáticamente el registro. De forma predeterminada, este parámetro no se usa porque los registros rotan en función del parámetro `log_rotation_age`. Para obtener más información, consulte [Configuración de la rotación del archivo de registro](#USER_LogAccess.Concepts.PostgreSQL.log_rotation). | 
| rds.log\$1retention\$1period | 4320 | Los registros de PostgreSQL que superan el número de minutos especificado se eliminarán. El valor predeterminado de 4320 minutos elimina los archivos de registro transcurridos 3 días. Para obtener más información, consulte [Configuración de periodo de retención de registros](#USER_LogAccess.Concepts.PostgreSQL.log_retention_period). | 

Para identificar problemas de aplicaciones, puede buscar errores de consulta, errores de inicio de sesión, interbloqueos y errores de servidor graves en el registro. Por ejemplo, suponga que ha convertido una aplicación heredada de Oracle a Amazon RDS PostgreSQL, pero no todas las consultas se han convertido correctamente. Estas consultas con formato incorrecto generan mensajes de error que se pueden encontrar en los registros para ayudar a identificar los problemas. Para más información sobre el registro de consultas, consulte [Activación de registro de consultas para su instancia de base de datos de RDS para PostgreSQL](USER_LogAccess.Concepts.PostgreSQL.Query_Logging.md). 

En los temas siguientes, encontrará información sobre cómo configurar varios parámetros que controlan los detalles básicos de sus registros de PostgreSQL. 

**Topics**
+ [Configuración de periodo de retención de registros](#USER_LogAccess.Concepts.PostgreSQL.log_retention_period)
+ [Configuración de la rotación del archivo de registro](#USER_LogAccess.Concepts.PostgreSQL.log_rotation)
+ [Configuración del destino del registro (`stderr`, `csvlog`)](#USER_LogAccess.Concepts.PostgreSQL.Log_Format)
+ [Descripción del parámetro log\$1line\$1prefix](#USER_LogAccess.Concepts.PostgreSQL.Log_Format.log-line-prefix)

## Configuración de periodo de retención de registros
<a name="USER_LogAccess.Concepts.PostgreSQL.log_retention_period"></a>

El parámetro `rds.log_retention_period` especifica cuánto tiempo su instancia de base de datos de RDS para PostgreSQL mantiene sus archivos de registro. La configuración predeterminada es de 3 días (4320 minutos), pero puede configurarla entre 1 día (1440 minutos) y 7 días (10 080 minutos). Asegúrese de que su instancia de base de datos de RDS para PostgreSQL tenga suficiente almacenamiento para almacenar los archivos de registro durante ese período de tiempo.

Le recomendamos que publique sus registros de forma rutinaria en Registros de Amazon CloudWatch, de modo que pueda ver y analizar los datos del sistema mucho tiempo después de que los registros se hayan eliminado de su . Instancia de base de datos RDS para PostgreSQL. Para obtener más información, consulte [Publicación de registros de PostgreSQL en Amazon CloudWatch Logs](USER_LogAccess.Concepts.PostgreSQL.md#USER_LogAccess.Concepts.PostgreSQL.PublishtoCloudWatchLogs).  

## Configuración de la rotación del archivo de registro
<a name="USER_LogAccess.Concepts.PostgreSQL.log_rotation"></a>

Amazon RDS crea los nuevos archivos de registro cada hora de forma predeterminada. El tiempo lo controla el parámetro `log_rotation_age`. Este parámetro tiene un valor predeterminado de 60 (minutos), pero puede configurarlo entre 1 minuto y 24 horas (1440 minutos). Cuando llega el momento de la rotación, se crea un nuevo archivo de registro distinto. Al archivo se le asigna un nombre de conformidad con el patrón especificado por el parámetro `log_filename`. 

Los archivos de registro también se pueden rotar según su tamaño, tal y como se especifica en el parámetro `log_rotation_size`. Este parámetro especifica que el registro debe rotarse cuando alcance el tamaño especificado (en kilobytes). Para una instancia de base de datos de RDS para PostgreSQL, `log_rotation_size` no está establecido, es decir, no se ha especificado ningún valor. Sin embargo, puede establecer el parámetro entre 0 y 2 097 151 kB (kilobytes).  

Los nombres de archivo de registro se basan en el patrón de nombre de archivo especificado en el parámetro `log_filename`. La configuración disponible para este parámetro es la siguiente:
+ `postgresql.log.%Y-%m-%d`: formato predeterminado para el nombre del archivo de registro. Incluye el año, el mes y la fecha en el nombre del archivo de registro.
+ `postgresql.log.%Y-%m-%d-%H`: incluye la hora en el formato del nombre del archivo de registro.

Para obtener más información, consulte [https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-ROTATION-AGE](https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-ROTATION-AGE) y [https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-ROTATION-SIZE](https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-ROTATION-SIZE) en la documentación de PostgreSQL.

## Configuración del destino del registro (`stderr`, `csvlog`)
<a name="USER_LogAccess.Concepts.PostgreSQL.Log_Format"></a>

De forma predeterminada, Amazon RDS PostgreSQL genera registros en formato de error estándar (stderr). Esta es la configuración predeterminada del parámetro `log_destination`. Cada mensaje lleva el prefijo según el patrón especificado en el parámetro `log_line_prefix`. Para obtener más información, consulte [Descripción del parámetro log\$1line\$1prefix](#USER_LogAccess.Concepts.PostgreSQL.Log_Format.log-line-prefix). 

RDS para PostgreSQL también puede generar los registros con el formato `csvlog`. `csvlog` resulta útil para analizar los datos de registro como valores separados con coma (CSV). Por ejemplo, supongamos que utiliza la extensión `log_fdw` para trabajar con los registros como tablas extranjeras. La tabla extranjera creada en los archivos de registro `stderr` contienen una sola columna con datos de eventos de registro. Al añadir `csvlog` al parámetro `log_destination`, se obtiene el archivo de registro en formato CSV con demarcaciones para las múltiples columnas de la tabla externa. Esto le permite ordenar y analizar los registros con mayor facilidad. Para obtener información sobre cómo usar `log_fdw` con `csvlog`, consulte [Uso de la extensión log\$1fdw para acceder al registro de base de datos mediante SQL](CHAP_PostgreSQL.Extensions.log_fdw.md).

Si especifica `csvlog` para este parámetro, tenga en cuenta que se generan los archivos `stderr` y `csvlog`. Asegúrese de supervisar el almacenamiento consumido por los registros, teniendo en cuenta `rds.log_retention_period` y otras configuraciones que afectan al almacenamiento de registros y a los análisis. Usar `stderr` y `csvlog` duplica de sobra el almacenamiento consumido por los registros.

Si añade `csvlog` a `log_destination` y quiere volver solo a `stderr` solo, debe restablecer el parámetro. Para ello, utilice la consola de Amazon RDS y abra el grupo de parámetros de la base de datos personalizado para su instancia. Elija el parámetro `log_destination`, elija **Edit parameter** (Editar parámetro) y, a continuación, seleccione **Reset** (Restablecer). 

Para obtener más información acerca de la configuración de los registros, consulte la entrada del blog sobre [trabajar con registros de Amazon RDS y Aurora PostgreSQL: parte 1](https://aws.amazon.com/blogs/database/working-with-rds-and-aurora-postgresql-logs-part-1/).

## Descripción del parámetro log\$1line\$1prefix
<a name="USER_LogAccess.Concepts.PostgreSQL.Log_Format.log-line-prefix"></a>

El formato de registro de `stderr` prefija cada mensaje de registro con los detalles especificados por el parámetro `log_line_prefix`. El valor predeterminado es:

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

A partir de la versión 16 de Aurora PostgreSQL, también puede elegir:

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

Cada entrada de registro enviada a stderr incluye la siguiente información en función del valor seleccionado:
+ `%t`: hora de entrada del registro sin milisegundos
+ `%m`: hora de entrada del registro con milisegundos
+  `%r`: dirección del host remoto.
+  `%u@%d`: nombre de usuario @ nombre de base de datos.
+  `[%p]`: ID del proceso si está disponible.
+  `%l`: Número de línea de registro por sesión 
+  `%e`: Código de error SQL 
+  `%s`: Marca temporal de inicio de proceso 
+  `%v`: ID de transacción virtual 
+  `%x`: ID de transacción 
+  `%c`: ID de sesión 
+  `%q`: Terminador que no sea de sesión 
+  `%a`: Nombre de la aplicación 