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 …..

TipoParámetroNotas
TCPtcp_keepalives_idlecantidad de tiempo (en segundos o unidad especificada) en que no existe tráfico de red antes de enviar un mensaje de “ALIVE”.
TCPtcp_keepalives_countcantidad de mensajes que se enviaran al cliente postgresql antes que se cierre la sesión.
TCPtcp_keepalives_intervalcantidad de tiempo (en segundos o unidad especificada) en que se envía un mensaje que el cliente no ha respondido.
TCPtcp_user_timeoutcantidad de tiempo (en segundos o unidad especificada) en que se cerrar la conexión.
WALmax_wal_sizetamaño máximo que puede tener un archivo de WAL antes de crear otro.
WALmin_wal_sizetamaño minino.
WALcheckpoint_timeouttiempo (en unidades) en los cuales se va a generar un archivo WAL.
WALcheckpoint_warningsi los archivos WAL se generan en menor tiempo (en unidades) al especificado, se envía un Warning al LOG.
WALlog_checkpointspasar de OFF a ON.
AUTOVACUUMautovacuum_naptimecada cuanto tiempo se ejecuta el proceso en una db.
AUTOVACUUMautovacuum_vacuum_thresholdcantidad de “registros” actualizados mínimos que se hayan movido para ejecutarse el proceso.
AUTOVACUUMautovacuum_vacuum_insert_thresholdlo mismo pero de inserts.
AUTOVACUUMautovacuum_analyze_thresholdlo mismo pero en tuplas.
AUTOVACUUMautovacuum_vacuum_scale_factor% de cambios en el tamaño de la tabla para lanzar un autovacuum.
LOCKdeadlock_timeouttiempo que puede durar un bloqueo antes de considerarse que hay un deadlock.
LOCKmax_locks_per_transactioncantidad máxima de bloqueos que se pueden dar dentro de una transacción.

Impactos: 20

Categories:

Comments are closed