

# 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)

## 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.

 