En esta oportunidad veremos en extensivo los parámetros de configuración del archivo postgresql.conf, dentro del mismo podemos configurar ampliamente el comportamiento de nuestra base de datos.
Parte 1: Parámetros Básicos
Hoy veremos:
- Directorios Básicos
- Accesos y conexiones
- Log
- Localización Regional
Enlaces de interés:
- https://www.postgresql.org/docs/current/runtime-config.html (documentación de los parámetros del postgresql.conf)
- https://www.postgresql.org/docs/current/multibyte.html
- https://en.wikipedia.org/wiki/List_of_tz_database_time_zones (lista de time zones)
Parte 2: Consumo de RAM en PostgreSQL
Hoy veremos como afecta en el consumo de RAM el ajuste de los parámetros del postgreSQL.conf, entre ellos:
- max_connections
- autovacuum_max_workers
- shared_buffers
- work_mem
- autovacuum_work_mem
- maintenance_work_mem
- temp_buffers
- effective_cache_size
La Hoja de Cálculo utilizada puede ser descargada desde AQUÍ (en ODF) y AQUÍ (en Excel).
PARTE 3: TCP, Vacuum, WAL, LOCKs y otros …..
Tipo | Parámetro | Notas |
TCP | tcp_keepalives_idle | cantidad de tiempo (en segundos o unidad especificada) en que no existe tráfico de red antes de enviar un mensaje de “ALIVE”. |
TCP | tcp_keepalives_count | cantidad de mensajes que se enviaran al cliente postgresql antes que se cierre la sesión. |
TCP | tcp_keepalives_interval | cantidad de tiempo (en segundos o unidad especificada) en que se envía un mensaje que el cliente no ha respondido. |
TCP | tcp_user_timeout | cantidad de tiempo (en segundos o unidad especificada) en que se cerrar la conexión. |
WAL | max_wal_size | tamaño máximo que puede tener un archivo de WAL antes de crear otro. |
WAL | min_wal_size | tamaño minino. |
WAL | checkpoint_timeout | tiempo (en unidades) en los cuales se va a generar un archivo WAL. |
WAL | checkpoint_warning | si los archivos WAL se generan en menor tiempo (en unidades) al especificado, se envía un Warning al LOG. |
WAL | log_checkpoints | pasar de OFF a ON. |
AUTOVACUUM | autovacuum_naptime | cada cuanto tiempo se ejecuta el proceso en una db. |
AUTOVACUUM | autovacuum_vacuum_threshold | cantidad de “registros” actualizados mínimos que se hayan movido para ejecutarse el proceso. |
AUTOVACUUM | autovacuum_vacuum_insert_threshold | lo mismo pero de inserts. |
AUTOVACUUM | autovacuum_analyze_threshold | lo mismo pero en tuplas. |
AUTOVACUUM | autovacuum_vacuum_scale_factor | % de cambios en el tamaño de la tabla para lanzar un autovacuum. |
LOCK | deadlock_timeout | tiempo que puede durar un bloqueo antes de considerarse que hay un deadlock. |
LOCK | max_locks_per_transaction | cantidad máxima de bloqueos que se pueden dar dentro de una transacción. |
Impactos: 338
Comments are closed