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.
Temas
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_statementse 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_levelregistra 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 sondisabled,debug5,debug4,debug3,debug2,debug1,info,notice,warning,error, registro,fatal, ypanic. El valor predeterminado esdisabled. -
El parámetro
rds.force_autovacuum_logging_levelse 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_fdwle 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_statementsse especifica como predeterminada para el parámetroshared_preload_librariesen 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 quepg_stat_statementsse 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_hostnamecaptura 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 comooffde 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 pgbadgerlog_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