Registrar todas las consultas de PostgreSQL

Bilal Shahid 20 junio 2023
  1. Descripción general de las consultas de PostgreSQL
  2. Localice el archivo de configuración
  3. Localizar la ruta del directorio de datos
  4. Configurar PostgreSQL y generar salida de registro
  5. Reinicie su PostgreSQL
  6. Verificar la generación de registros
Registrar todas las consultas de PostgreSQL

PostgreSQL es popular en el mercado por su robustez, velocidad, confiabilidad y alto rendimiento. Además, con PostgreSQL, el registro se ha hecho relativamente fácil al modificar solo unos pocos ajustes de configuración.

Estas configuraciones se pueden cambiar en la memoria, habilitando temporalmente el registro solo para esa sesión de cliente específica. Sin embargo, Postgres puede registrar todas las consultas para que funcionen de forma permanente.

Este artículo nos enseñará cómo registrar todas las consultas de PostgreSQL y actualizar los archivos de configuración.

Descripción general de las consultas de PostgreSQL

PostgreSQL es famoso por ser una aplicación de base de datos altamente estable accesible para que sus usuarios la usen, modifiquen e implementen lo que necesiten. Como resultado, es la base de datos principal para muchas aplicaciones analíticas y web en todo el mundo.

SQL es un lenguaje de consulta estructurado que almacena y manipula datos en bases de datos. Las consultas SQL ayudan a realizar varias operaciones de datos en sistemas de administración de bases de datos relacionales en todas partes.

A través de este poderoso lenguaje, podemos realizar varias operaciones que van desde ejecutar consultas complejas hasta obtener datos e insertar, actualizar y eliminar registros en una base de datos.

También le permite crear nuevos objetos en una base de datos y establecer tablas de permisos, vistas, procedimientos, funciones, etc.

En cuanto a la funcionalidad de registro de todas las consultas de Postgres, debe habilitar el registro dentro de PostgreSQL modificando los ajustes de configuración y reiniciando el servidor.

Localice el archivo de configuración

Si no puede ubicar el archivo de configuración postgresql.conf, hay un método simple disponible para encontrar su ubicación. Primero, conéctate al cliente de posturas y ejecuta el siguiente comando.

postgres=# SHOW config_file;

Después de ejecutar el comando, obtenemos la ruta al archivo postgresql.conf. Proceda a abrir el archivo con un editor de texto (estamos usando nano) usando el siguiente comando y comience a cambiar la configuración.

$ nano /etc/postgresql/version/main/postgresql.conf

Localizar la ruta del directorio de datos

Asegúrese de confirmar la ruta de su directorio de datos de instalación de Postgres. Luego, recupere el directorio de datos como recuperó el archivo de configuración.

postgres=# SHOW data_directory;

Le proporcionará una ruta para el directorio de datos. Sin embargo, el directorio y los archivos de configuración se encuentran en la misma ruta de instalación. Por lo tanto, copie el directorio de datos y el directorio de configuración para su uso posterior.

Configurar PostgreSQL y generar salida de registro

Abra el archivo postgresql.conf y desplácese hacia abajo hasta la sección que dice INFORME Y REGISTRO DE ERRORES. Aquí es probable que vea varios ajustes de configuración comentados.

Entre estas configuraciones, algunas son críticas: logging_collector y log_destination. Además, hay algunas configuraciones recomendadas que debe establecer.

Sin embargo, puede modificarlos para satisfacer sus propias necesidades. Los ajustes recomendados son los siguientes:

  • log_destination = 'csvlog'

  • logging_collector =on

  • log-directory = 'pg_log'

  • log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'

  • log_min_error_statement = error

  • set log_min_duration_statement= 0 como parámetro para registrar cada declaración

  • Este paso es opcional. Ejecute el siguiente código:

    SELECT set.config('log_statement','all, true );
    

Después de establecer los valores de las variables como se indicó anteriormente, vuelva a cargar la configuración de PostgreSQL. Se puede hacer de la siguiente manera:

/usr/pgsqlversion/bin/pg_ctl reload -D /var/lib/pgsql/version/data/

Con esta configuración, hemos descomentado la configuración log_filename para producir marcas de tiempo y un nombre propio para los archivos de registro. También estamos haciendo que Postgres genere registros en el formato CSV, enviándolos al directorio pg_log dentro del directorio de datos.

En su archivo data/postgresql.conf, cambie la configuración log_statement a 'all'. Una vez que haya terminado de hacer esto, hay algunas otras configuraciones para verificar.

Asegúrese de que su log_destination, logging_collector y las variables estén activadas. Debe asegurarse de que el log_directory exista dentro del directorio de datos y que el usuario de Postgres pueda escribir en él.

Reinicie su PostgreSQL

El paso final para que Postgres registre todas las consultas es reiniciar el servicio de PostgreSQL. Es crucial que cuando continúe, las configuraciones en el archivo de configuración que ha modificado puedan tener efecto.

Sin embargo, un reinicio de Postgres puede ser diferente en varios sistemas. Por lo general, un sistema Unix tiene un comando que hace el trabajo. El comando se parece a esto:

$ service postgresql restart

Verificar la generación de registros

Una vez que haya reiniciado el sistema Postgres, los efectos de sus cambios deberían ocurrir. Después del reinicio, el registro debería comenzar de inmediato. Para asegurarse de que esto suceda, vaya al directorio data/pg_log de su instalación específica de Postgres.

Hace unos pasos, le pedimos que guardara la ruta del directorio de datos; aquí es donde lo pones en uso. Luego, navegue a ese directorio agregando /pg_log al final para llegar al directorio de registro.

$ cs /var/lib/postgresql/version/main/pg_log

Proceda a enumerar los archivos.

$ ls -l

Se creará un archivo de registro después del reinicio anterior del servicio de Postgres. Estos archivos de registro generados automáticamente están hechos para que Postgres registre todas las consultas cambiando algunos ajustes de configuración.

Con el tiempo, los archivos de registro tienden a crecer mucho y, en última instancia, podrían matar su máquina. Para evitar que esto suceda, escriba un script bash que elimine los registros y reinicie el servidor postgresql para su seguridad.

Otro enfoque cuando no desea escribir un script bash pero desea que los archivos de registro se sobrescriban mensualmente, realice un procedimiento simple para hacerlo: 'log_filename='postgresql-%d.log'.

No se sobrescribirá después de cada reinicio, sino que se agregará cada día y se sobrescribirá cada mes. Todo lo anterior registrará soluciones desde la base de datos predeterminada de postgreSQL.

Para proceder a registrar a otros también, debe comenzar con su solución y luego ejecutar lo siguiente:

ALTER DATABASE databasename
SET log_statement = 'all';

Mientras navega por el registro de Postgres, todo el proceso de consultas puede parecer confuso; Este artículo está diseñado para facilitar las cosas. Hemos proporcionado un proceso paso a paso para que pueda estar bien encaminado para registrar consultas en PostgreSQL.

Bilal Shahid avatar Bilal Shahid avatar

Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!

GitHub

Artículo relacionado - PostgreSQL Query