Tareas comunes de los administradores de base de datos (DBA) para Amazon RDS para PostgreSQL - Amazon Relational Database Service

Tareas comunes de los administradores de base de datos (DBA) para Amazon RDS para PostgreSQL

Los administradores de bases de datos (DBA) realizan una variedad de tareas cuando administran una instancia de base de datos de Amazon RDS para PostgreSQL. Si ya está familiarizado con PostgreSQL, debe conocer algunas de las diferencias importantes entre ejecutar PostgreSQL en su hardware y RDS para PostgreSQL. Por ejemplo, debido a que es un servicio administrado, Amazon RDS no permite el acceso mediante shell a las instancias de base de datos. Eso significa que no tiene acceso directo a pg_hba.conf y a otros archivos de configuración. En el caso de RDS para PostgreSQL, los cambios que normalmente se realizan en el archivo de configuración de PostgreSQL de una instancia local se realizan en un grupo de parámetros de base de datos personalizado asociado a la instancia de base de datos de RDS para PostgreSQL. Para obtener más información, consulte Grupos de parámetros para Amazon RDS.

Tampoco puede acceder a los archivos de registro de la misma manera que lo hace con una instancia de PostgreSQL en las instalaciones. Para obtener más información acerca de los registros, consulte Archivos de registro de bases de datos de RDS para PostgreSQL.

Otro ejemplo, no tiene acceso a la cuenta de superuser de PostgreSQL. En RDS para PostgreSQL, el rol rds_superuser es el más privilegiado, y se concede a postgres en el momento de la configuración. Ya sea que esté familiarizado con el uso de PostgreSQL en las instalaciones o completamente nuevo en RDS para PostgreSQL, le recomendamos que aprenda el rol rds_superuser y cómo trabajar con roles, usuarios, grupos y permisos. Para obtener más información, consulte Descripción de los roles y permisos de PostgreSQL.

Las siguientes son algunas tareas comunes de DBA para RDS for PostgreSQL.

Uso de mecanismos de registro admitidos por RDS for PostgreSQL

Hay varios parámetros, extensiones y otros elementos configurables que puede establecer para registrar actividades que ocurren en su instancia de base de datos de PostgreSQL. Estos incluyen los siguientes:

  • El parámetro log_statement se puede usar para registrar la actividad del usuario en su base de datos de PostgreSQL. Para obtener más información sobre el registro de RDS for PostgreSQL y cómo monitorear los registros, consulte Archivos de registro de bases de datos de RDS para PostgreSQL.

  • El parámetro rds.force_admin_logging_level registra las acciones del usuario interno de Amazon RDS (rdsadmin) en las bases de datos de la instancia de base de datos. Escribe la salida en el registro de errores de PostgreSQL. Los valores permitidos son disabled, debug5, debug4, debug3, debug2, debug1, info, notice, warning, error, registro, fatal, y panic. El valor predeterminado es disabled.

  • El parámetro rds.force_autovacuum_logging_level se puede configurar para capturar varias operaciones autovacuum en el registro de errores de PostgreSQL. Para obtener más información, consulte Registro de actividades de autovacuum y vacuum.

  • La extensión PostgreSQL Audit (pgAudit) se puede instalar y configurar para capturar actividades a nivel de sesión o a nivel de objeto. Para obtener más información, consulte Uso de pgAudit para registrar la actividad de la base de datos.

  • La extensión log_fdw le permite acceder al registro del motor de la base de datos mediante SQL. Para obtener más información, consulte Uso de la extensión log_fdw para acceder al registro de base de datos mediante SQL.

  • La biblioteca pg_stat_statements se especifica como predeterminada para el parámetro shared_preload_libraries en la versión 10 y superiores de RDS for PostgreSQL. Es esta biblioteca la que puede usar para analizar consultas en ejecución. Asegúrese de que pg_stat_statements se establezca en el grupo de parámetros de base de datos. Para obtener más información sobre cómo supervisar su instancia de base de datos de RDS for PostgreSQL por medio de la información que proporciona esta biblioteca, consulte Estadísticas de SQL de RDS PostgreSQL.

  • El parámetro log_hostname captura en el registro el nombre de host de cada conexión de cliente. Para RDS para PostgreSQL versión 12 y posteriores, este parámetro se establece como off de forma predeterminada. Si lo activa, asegúrese de supervisar los tiempos de conexión de las sesiones. Cuando está activado, el servicio utiliza la solicitud de búsqueda inversa del sistema de nombres de dominio (DNS) para obtener el nombre de host del cliente que realiza la conexión y agregarlo al registro de PostgreSQL. Esto tiene un impacto notable durante la conexión a la sesión. Le recomendamos que active este parámetro solo para resolver problemas.

En términos generales, el objetivo del registro es que el DBA pueda supervisar, ajustar el rendimiento y solucionar problemas. Muchos de los registros se cargan automáticamente en Amazon CloudWatch o en Información sobre rendimiento. Aquí, se ordenan y agrupan para proporcionar métricas completas para su instancia de base de datos. Para obtener más información sobre la supervisión y las métricas de Amazon RDS, visite Supervisión de métricas en una instancia de Amazon RDS.

Uso de pgBadger para el análisis de registros con PostgreSQL

Puede usar un analizador de registros como pgbadger para analizar los registros de PostgreSQL. La documentación de pgBadger establece que el patrón %l (la línea de registro para la sesión o el proceso) debe ser parte del prefijo. Sin embargo, si proporciona el RDS actual log_line_prefix como parámetro a pgBadger, aún debería generar un informe.

Por ejemplo, el siguiente comando asigna el formato correcto a un archivo de registro de Amazon RDS para PostgreSQL con fecha 04-02-2014 con pgbadger.

./pgbadger -f stderr -p '%t:%r:%u@%d:[%p]:' postgresql.log.2014-02-04-00

Uso de PGSnapper para supervisar PostgreSQL

Puede utilizar PGSnapper para facilitar la recopilación periódica de estadísticas y métricas relacionadas con el rendimiento de Amazon RDS para PostgreSQL. Para obtener más información, consulte Monitor Amazon RDS for PostgreSQL performance using PGSnapper (Supervise el rendimiento de Amazon RDS para PostgreSQL con PGSnapper).