

# Archivos de registro de base de datos de RDS para PostgreSQL
<a name="USER_LogAccess.Concepts.PostgreSQL"></a>

Puede supervisar los siguientes tipos de archivos de registro de :
+ Registro de PostgreSQL
+ Registro de actualización
+ Registro de errores de autenticación de base de datos de IAM
**nota**  
Para habilitar los registros de errores de autenticación de base de datos de IAM, primero debe habilitar la autenticación de base de datos de IAM para la instancia de base de datos de RDS para PostgreSQL. Para obtener más información sobre la habilitación de la autenticación de bases de datos de IAM, consulte [Activación y desactivación de la autenticación de bases de datos de IAM](UsingWithRDS.IAMDBAuth.Enabling.md).

RDS para PostgreSQL registra las actividades de la base de datos en el archivo de registro de PostgreSQL predeterminado. En el caso de una instancia de base de datos de PostgreSQL en las instalaciones, estos mensajes se almacenan localmente en `log/postgresql.log`. Para una instancia de base de datos de RDS para PostgreSQL, el archivo de registro está disponible en , la instancia de Amazon RDS. También puede acceder a estos registros a través de la Consola de administración de AWS, donde podrá verlos o descargarlos. El nivel de registro predeterminado captura los errores de inicio de sesión, los errores graves del servidor, los bloqueos y los errores de consulta.

Para obtener más información sobre cómo puede ver, descargar y observar los registros de la base de datos basados en archivos, consulte [Supervisión de archivos de registro de Amazon RDS](USER_LogAccess.md). Para saber más sobre los registros de PostgreSQL, consulte [Trabajo 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/) y [ Trabajo con registros de Amazon RDS y Aurora PostgreSQL: parte 2](https://aws.amazon.com/blogs/database/working-with-rds-and-aurora-postgresql-logs-part-2/). 

Además de los registros estándar de PostgreSQL que se describen en este tema, RDS para PostgreSQL también admite la extensión de auditoría de PostgreSQL (`pgAudit`). La mayoría de los sectores regulados y las agencias gubernamentales necesitan mantener un registro de auditoría o registro de auditoría de los cambios realizados en los datos para cumplir con los requisitos legales. Para obtener información acerca del modo de instalar y usar pgAudit, consulte [Uso de pgAudit para registrar la actividad de la base de datos](Appendix.PostgreSQL.CommonDBATasks.pgaudit.md).

**Topics**
+ [Parámetros de registro en RDS para PostgreSQL](USER_LogAccess.Concepts.PostgreSQL.overview.parameter-groups.md)
+ [Activación de registro de consultas para su instancia de base de datos de RDS para PostgreSQL](USER_LogAccess.Concepts.PostgreSQL.Query_Logging.md)
+ [Publicación de registros de PostgreSQL en Amazon CloudWatch Logs](#USER_LogAccess.Concepts.PostgreSQL.PublishtoCloudWatchLogs)

# 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 

# Activación de registro de consultas para su instancia de base de datos de RDS para PostgreSQL
<a name="USER_LogAccess.Concepts.PostgreSQL.Query_Logging"></a>

Puede recopilar información más detallada sobre las actividades de la base de datos, incluidas las consultas, las consultas en espera de bloqueos, los puntos de control y muchos otros detalles configurando algunos de los parámetros que se enumeran en la tabla siguiente. Este tema se centra en el registro de consultas.


| Parámetro | Predeterminado | Descripción | 
| --- | --- | --- | 
| log\$1connections | – | Registra cada conexión realizada correctamente.  | 
| log\$1disconnections | – | Registra el final de cada sesión y su duración.  | 
| log\$1checkpoints | 1 | Registra cada punto de comprobación.  | 
| log\$1lock\$1waits | – | Registra las esperas de bloqueo largas. Por defecto, este parámetro no está configurado. | 
| log\$1min\$1duration\$1sample | – | (ms) Establece el tiempo mínimo de ejecución a partir del cual se registra una muestra de instrucciones. El tamaño de la muestra se establece mediante el parámetro log\$1statement\$1sample\$1rate. | 
| log\$1min\$1duration\$1statement | – | Se registra cualquier instrucción SQL que se ejecute al menos durante el período de tiempo especificado o durante más tiempo. Por defecto, este parámetro no está configurado. Si se activa este parámetro, puede resultar más sencillo encontrar consultas no optimizadas. | 
| log\$1statement | – | Define el tipo de declaraciones que se deben registrar. De forma predeterminada, este parámetro no está configurado, pero puede cambiarlo a `all`, `ddl` o `mod` para especificar los tipos de instrucciones SQL que desea que se registren. Si especifica algo que no sea `none` para este parámetro, también debe adoptar medidas adicionales para evitar que las contraseñas aparezcan en los archivos de registro. Para obtener más información, consulte [Mitigar el riesgo de exposición de contraseñas al utilizar el registro de consultasMitigar el riesgo de exposición de contraseñas](#USER_LogAccess.Concepts.PostgreSQL.Query_Logging.mitigate-risk).  | 
| log\$1statement\$1sample\$1rate | – | El porcentaje de sentencias que superan el tiempo especificado en `log_min_duration_sample` se registrarán, expresado como un valor de coma flotante entre 0.0 y 1.0.  | 
| log\$1statement\$1stats | – | Escribe las estadísticas de rendimiento acumulativas en el registro del servidor. | 

## Uso del registro para encontrar consultas con un rendimiento lento
<a name="USER_LogAccess.Concepts.PostgreSQL.Query_Logging.using"></a>

Puede registrar instrucciones y consultas SQL para ayudar a encontrar consultas que se den con resultados lentos. Para activar esta función, modifique la configuración de los parámetros `log_statement` y `log_min_duration`, tal como se describe en esta sección. Antes de activar el registro de consultas para su instancia de base de datos de RDS para PostgreSQL, debe conocer la posible exposición de contraseñas en los registros y cómo mitigar los riesgos. Para obtener más información, consulte [Mitigar el riesgo de exposición de contraseñas al utilizar el registro de consultasMitigar el riesgo de exposición de contraseñas](#USER_LogAccess.Concepts.PostgreSQL.Query_Logging.mitigate-risk). 

A continuación, encontrará información de referencia sobre los parámetros `log_statement` y `log_min_duration`.log\$1statement

Este parámetro especifica el tipo de instrucciones SQL que deben enviarse al registro. El valor predeterminado es `none`. Si cambia este parámetro a `all`, `ddl` o `mod`, asegúrese de aplicar algunas de las medidas recomendadas para reducir el riesgo de exponer las contraseñas en los registros. Para obtener más información, consulte [Mitigar el riesgo de exposición de contraseñas al utilizar el registro de consultasMitigar el riesgo de exposición de contraseñas](#USER_LogAccess.Concepts.PostgreSQL.Query_Logging.mitigate-risk). 

**all**  
Registra todas las instrucciones. Para depuración, se recomienda esta configuración.

**ddl**  
Registra todas las instrucciones del lenguaje de definición de datos (DDL), como CREATE, ALTER, DROP, etc.

**MOD**  
Registra todas las instrucciones DDL y las instrucciones de lenguaje de manipulación de datos (DML), como INSERT, UPDATE y DELETE, que modifican los datos.

**none**  
No se registra ninguna instrucción SQL. Recomendamos esta configuración para evitar el riesgo de exponer las contraseñas en los registros.log\$1min\$1duration\$1statement

Se registra cualquier instrucción SQL que se ejecute al menos durante el período de tiempo especificado o durante más tiempo. Por defecto, este parámetro no está configurado. Si se activa este parámetro, puede resultar más sencillo encontrar consultas no optimizadas.

**–1–2147483647**  
El número de milisegundos (ms) de tiempo de ejecución durante los cuales se registra una instrucción.

**Para configurar el registro de consultas**

Estos pasos suponen que su instancia de base de datos de RDS para PostgreSQL utiliza un grupo personalizado de parámetros de base de datos. 

1. Establezca el parámetro `log_statement` como `all`. En el siguiente ejemplo se muestra la información que se escribe en el archivo con esta configuración de parámetros.

   ```
   2022-10-05 22:05:52 UTC:52.95.4.1(11335):postgres@labdb:[3639]:LOG: statement: SELECT feedback, s.sentiment,s.confidence
   FROM support,aws_comprehend.detect_sentiment(feedback, 'en') s
   ORDER BY s.confidence DESC;
   2022-10-05 22:05:52 UTC:52.95.4.1(11335):postgres@labdb:[3639]:LOG: QUERY STATISTICS
   2022-10-05 22:05:52 UTC:52.95.4.1(11335):postgres@labdb:[3639]:DETAIL: ! system usage stats:
   ! 0.017355 s user, 0.000000 s system, 0.168593 s elapsed
   ! [0.025146 s user, 0.000000 s system total]
   ! 36644 kB max resident size
   ! 0/8 [0/8] filesystem blocks in/out
   ! 0/733 [0/1364] page faults/reclaims, 0 [0] swaps
   ! 0 [0] signals rcvd, 0/0 [0/0] messages rcvd/sent
   ! 19/0 [27/0] voluntary/involuntary context switches
   2022-10-05 22:05:52 UTC:52.95.4.1(11335):postgres@labdb:[3639]:STATEMENT: SELECT feedback, s.sentiment,s.confidence
   FROM support,aws_comprehend.detect_sentiment(feedback, 'en') s
   ORDER BY s.confidence DESC;
   2022-10-05 22:05:56 UTC:52.95.4.1(11335):postgres@labdb:[3639]:ERROR: syntax error at or near "ORDER" at character 1
   2022-10-05 22:05:56 UTC:52.95.4.1(11335):postgres@labdb:[3639]:STATEMENT: ORDER BY s.confidence DESC;
   ----------------------- END OF LOG ----------------------
   ```

1. Establezca el parámetro `log_min_duration_statement`. En el siguiente ejemplo se muestra la información que se escribe en el archivo `postgresql.log`cuando se establece el parámetro en:`1`

   Se registran las consultas que superan la duración especificada en el parámetro `log_min_duration_statement`. A continuación se muestra un ejemplo. Puede ver el archivo de registro de su instancia de base de datos de RDS para PostgreSQL en la consola de Amazon RDS. 

   ```
   2022-10-05 19:05:19 UTC:52.95.4.1(6461):postgres@labdb:[6144]:LOG: statement: DROP table comments;
   2022-10-05 19:05:19 UTC:52.95.4.1(6461):postgres@labdb:[6144]:LOG: duration: 167.754 ms
   2022-10-05 19:08:07 UTC::@:[355]:LOG: checkpoint starting: time
   2022-10-05 19:08:08 UTC::@:[355]:LOG: checkpoint complete: wrote 11 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=1.013 s, sync=0.006 s, total=1.033 s; sync files=8, longest=0.004 s, average=0.001 s; distance=131028 kB, estimate=131028 kB
   ----------------------- END OF LOG ----------------------
   ```

### Mitigar el riesgo de exposición de contraseñas al utilizar el registro de consultas
<a name="USER_LogAccess.Concepts.PostgreSQL.Query_Logging.mitigate-risk"></a>

Le recomendamos que mantenga `log_statement` establecido en `none` para evitar exponer las contraseñas. Si establece `log_statement` en `all`, `ddl` o `mod`, le recomendamos que siga uno o más de los siguientes pasos.
+ Para el cliente, cifre la información confidencial. Para obtener más información, consulte [Encryption Options](https://www.postgresql.org/docs/current/encryption-options.html) en la documentación de PostgreSQL. Utilice las opciones `ENCRYPTED` (y `UNENCRYPTED`) de las instrucciones `CREATE` y `ALTER`. Para obtener más información, consulte [CREATE USER](https://www.postgresql.org/docs/current/sql-createuser.html) en la documentación de PostgreSQL.
+ Para su instancia de base de datos de RDS para PostgreSQL, configure y utilice la extensión de auditoría de PostgreSQL (pgAudit). Esta extensión redacta la información confidencial de las instrucciones CREATE y ALTER enviadas al registro. Para obtener más información, consulte [Uso de pgAudit para registrar la actividad de la base de datos](Appendix.PostgreSQL.CommonDBATasks.pgaudit.md). 
+ Restrinja el acceso a los Registros de CloudWatch.
+ Utilice mecanismos de autenticación más sólidos como IAM.

## Publicación de registros de PostgreSQL en Amazon CloudWatch Logs
<a name="USER_LogAccess.Concepts.PostgreSQL.PublishtoCloudWatchLogs"></a>

Para almacenar los registros de PostgreSQL en un almacenamiento de larga duración, se puede usar Amazon CloudWatch Logs. Con CloudWatch Logs, también puede realizar análisis en tiempo real de los datos de registro y utilizar CloudWatch para ver métricas y crear alarmas. Por ejemplo, si establece `log_statement` en `ddl`, puede configurar una alarma para que avise siempre que se ejecute una instrucción DDL. Puede elegir cargar los registros de PostgreSQL en CloudWatch Logs durante el proceso de creación de su instancia de base de datos de RDS para PostgreSQL. Si optó por no subir registros en ese momento, puedes modificar tu instancia más adelante para empezar a subir los registros a partir de ese momento. En otras palabras, los registros existentes no se cargan. Solo los registros nuevos se cargan a medida que se crean en la instancia de base de datos de RDS para PostgreSQL modificada.

Todas las versiones de RDS para PostgreSQL disponibles actualmente permiten publicar archivos de registro en CloudWatch Logs. Para obtener información detallada sobre la versión, consulte las [actualizaciones de Amazon RDS para PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/PostgreSQLReleaseNotes/postgresql-versions.html) en las *notas de la versión de Amazon RDS para PostgreSQL*. 

Para trabajar con CloudWatch Logs, configure la instancia de base de datos de RDS para PostgreSQL para que publique datos de registro en un grupo de registros.

Puede publicar los siguientes tipos de registro en CloudWatch Logs para RDS para PostgreSQL: 
+ Registro de PostgreSQL
+ Registro de actualización 
+ Registro de errores de autenticación de base de datos de IAM

Tras completar la configuración, Amazon RDS publica los eventos de registro en los flujos de registro con un grupo de registros de CloudWatch. Por ejemplo, los datos de registro de PostgreSQL se almacenan en el grupo de registro `/aws/rds/instance/my_instance/postgresql`. Para ver los registros, abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

### Consola
<a name="USER_LogAccess.Concepts.PostgreSQL.PublishtoCloudWatchLogs.CON"></a>

**Para publicar registros de base de datos PostgreSQL en CloudWatch Logs con la consola**

1. Abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, seleccione **Databases (Bases de datos)**.

1. Seleccione la instancia de base de datos que quiera modificar y seleccione **Modify (Modificar)**.

1. En la sección **Logs exports (Exportaciones de registros)**, elija los registros que desea comenzar a publicar en CloudWatch Logs.

   La sección **Log exports (Exportaciones de registros)** está disponible para versiones de PostgreSQL que admiten la publicación en CloudWatch Logs. 

1. Elija **Continue**, seguido de **Modify DB Instance** en la página de resumen.

### AWS CLI
<a name="USER_LogAccess.Concepts.PostgreSQL.PublishtoCloudWatchLogs.CLI"></a>

Puede publicar registros de PostgreSQL con la AWS CLI. Puede llamar al comando [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) con los parámetros siguientes:
+ `--db-instance-identifier`
+ `--cloudwatch-logs-export-configuration`

**nota**  
Los cambios en la opción `--cloudwatch-logs-export-configuration` siempre se aplican a la instancia de base de datos inmediatamente. Por lo tanto, las opciones `--apply-immediately` y `--no-apply-immediately` no tienen ningún efecto.

También puede publicar registros de PostgreSQL llamando a los siguientes comandos de la CLI:
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html)

Ejecute uno de estos comandos de la CLI con las siguientes opciones: 
+ `--db-instance-identifier`
+ `--enable-cloudwatch-logs-exports`
+ `--db-instance-class`
+ `--engine`

Podrían ser necesarias otras opciones en función del comando de la CLI que ejecute.

**Example Modificar una instancia para publicar registros en CloudWatch Logs**  
En el siguiente ejemplo se modifica una instancia de base de datos de PostgreSQL existente para publicar archivos de registro en CloudWatch Logs. El valor `--cloudwatch-logs-export-configuration` es un objeto JSON. La clave de este objeto es `EnableLogTypes` y su valor es una matriz de cadenas con cualquier combinación de `postgresql` y `upgrade`.  
Para Linux, macOS o Unix:  

```
1. aws rds modify-db-instance \
2.     --db-instance-identifier mydbinstance \
3.     --cloudwatch-logs-export-configuration '{"EnableLogTypes":["postgresql", "upgrade"]}'
```
Para Windows:  

```
1. aws rds modify-db-instance ^
2.     --db-instance-identifier mydbinstance ^
3.     --cloudwatch-logs-export-configuration '{"EnableLogTypes":["postgresql","upgrade"]}'
```

**Example Crear una instancia para publicar registros en CloudWatch Logs**  
En el siguiente ejemplo se crea una instancia de base de datos PostgreSQL y se publican archivos de registro en CloudWatch Logs. El valor `--enable-cloudwatch-logs-exports` es una matriz de cadenas JSON. Las cadenas pueden ser cualquier combinación de `postgresql` y `upgrade`.  
Para Linux, macOS o Unix:  

```
1. aws rds create-db-instance \
2.     --db-instance-identifier mydbinstance \
3.     --enable-cloudwatch-logs-exports '["postgresql","upgrade"]' \
4.     --db-instance-class db.m4.large \
5.     --engine postgres
```
Para Windows:  

```
1. aws rds create-db-instance ^
2.     --db-instance-identifier mydbinstance ^
3.     --enable-cloudwatch-logs-exports '["postgresql","upgrade"]' ^
4.     --db-instance-class db.m4.large ^
5.     --engine postgres
```

### API de RDS
<a name="USER_LogAccess.Concepts.PostgreSQL.PublishtoCloudWatchLogs.API"></a>

Puede publicar registros de PostgreSQL con la API de RDS. Puede llamar a la acción [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) con los parámetros siguientes: 
+ `DBInstanceIdentifier`
+ `CloudwatchLogsExportConfiguration`

**nota**  
Los cambios en el parámetro `CloudwatchLogsExportConfiguration` siempre se aplican a la instancia de base de datos inmediatamente. Por tanto, el parámetro `ApplyImmediately` no tiene efecto.

También puede publicar registros de PostgreSQL llamando a las siguientes operaciones de la API de RDS: 
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html)

Ejecute una de estas operaciones de la API de RDS con los siguientes parámetros: 
+ `DBInstanceIdentifier`
+ `EnableCloudwatchLogsExports`
+ `Engine`
+ `DBInstanceClass`

Podrían ser necesarios otros parámetros en función de la operación que ejecute.

 