Cómo funciona Postgres Auto Vacuum
El autovacuum es el proceso de fondo en Postgres y está habilitado de forma predeterminada. Sin embargo, puede obtener la configuración de Autovacuum navegando al postgresql.confusión archivo.
Como se discutió anteriormente, el vacío automático realiza la aspiradora y el análisis. Postgres analiza y aspira una tabla basada en el umbral que se describe a continuación:
Para el umbral de aspiración automática de una tabla, se utiliza la siguiente ecuación:
Umbral de vacío Autovacuum = autovacuum_vacuum_scale_factor * no._OF_TUPLES + Autovacuum_vacuum_thresholdY para obtener el umbral de análisis automático, la siguiente ecuación hace el trabajo:
Autovacuum analizar umbral = autovacuum_analyze_scale_factor * Número de tuplas + autovacuum_analyze_thresholdLas terminologías utilizadas en las secciones anteriores se describen en la próxima sección.
Cómo configurar el vacío automático de Postgres
La funcionalidad de vacío automático de Postgres depende de la configuración y las opciones disponibles dentro del PostgreSQL.archivo conf. Con la ayuda de la descripción proporcionada a continuación, puede cambiar los parámetros para ajustar la funcionalidad de vacío automático.
Los siguientes parámetros tienen el papel clave en la definición de la política para Postgres Autovacuum.
Para editar el archivo, puede abrirlo en un editor nano utilizando el comando indicado a continuación (la ubicación de PostgreSQL.El archivo conf puede variar en su caso):
$ sudo nano/etc/postgresql/12/main/postgresql.confusiónCómo configurar los parámetros de vacío automático para una tabla
El postgresql.confusión Archivo se ocupa de los cambios globales en los parámetros de Autovacuum. Sin embargo, puede ajustar los parámetros para una sola tabla. Por ejemplo, hemos utilizado los siguientes parámetros para el Linuxhint Tabla de base de datos MyDB:
Estos parámetros se pasarán con la declaración de Tabla Alter de PowerShell y la tabla ALTER se aplicará en la tabla LinuxHint como se muestra a continuación:
> ALTER TABLE LINUXHINT SET (Autovacuum_vacuum_Scale_Factor = 0.2, autovacuum_vacuum_threshold = 30, autovacuum_analyze_scale_factor = 0.2, autovacuum_analyze_threshold = 20);Se puede calcular manualmente insertando los valores en las ecuaciones dadas en la sección anterior y es el siguiente. Supongamos que la tabla Linuxhint contiene 10 tuplas:
La operación de vacío de autovacuum se calcula como se muestra a continuación. La salida muestra que la operación de vacío de Autovacuum se realizará cuando el número de registros obsoletos llegue a 31.
Umbral de vacío de autovacuum de la tabla Linuxhint = (0.2 * 5) + 30 = 31Del mismo modo, la operación de análisis de Autovacuum en la tabla Linuxhint se llevará a cabo cuando el número de inserciones/deleciones/actualización sea igual o excede 21.
Autovacuum Analyze of LinuxHint Table = (0.2*5) + 20 = 21Por qué la aspiradora automática
Mirando el trabajo y la discusión anterior, se pueden extraer los siguientes beneficios del vacío automático:
Conclusión
La funcionalidad de vacío automático de Postgres le permite realizar el vacío y analizar las tablas de una base de datos. Aunque uno puede aspirarse y analizarse manualmente, el vacío automatizado hará ambas cosas. Este artículo proporciona información detallada sobre la funcionalidad de vacío automático de Postgres. Postgres calcula los valores de umbral para cada tabla y luego decide si aspira o analizar esa tabla. Además, hemos proporcionado las ecuaciones de Postgres para calcular el vacío y analizar el umbral.