Luego de compilar e instalar un servidor de bases de datos Postgres, el siguiente paso luego de inicializar una instancia consiste en configurar el demonio o servicio. Este artículo explica las opciones de configuración básicas de un servidor de bases de datos PostgreSQL.

Suponiendo que se ha creado una nueva instancia de PostgreSQL en el directorio /usr/local/postgres/pg_nuevo (directorio de datos de la instancia de Postgres), editar el archivo de configuración de la misma (postgresql.conf):

# nano /usr/local/postgres/pg_nuevo/postgresql.conf

El archivo postgresql.conf define los parámetros de configuración del servidor PostgreSQL (es una especie de análogo a my.cnf en servidores MySQL). Este archivo es creado por la herramienta initdb al momento de crear la instancia.

Los parámetros de configuración básicos para toda instancia de Postgres son los siguientes:

  • data_directory: directorio de datos de la instancia. Típicamente es el directorio donde se encuentra el archivo postgresql.conf, aunque es posible ubicarlo en cualquier otro directorio.
    data_directory = '/usr/local/postgres/pg_nuevo'
    
  • external_pid_file: archivo donde guardar el ID de proceso de la instancia.
    external_pid_file = '/usr/local/postgres/pg_nuevo/postmaster.pid'
    
  • listen_addresses: direcciones IP donde escuchar peticiones.
    listen_addresses = 'localhost,192.168.63.42'
    
  • port: puerto donde escuchar peticiones (por defecto 5432).
    port = 5432
    
  • max_connections: máxima cantidad de clientes de manera concurrente permitida
    max_connections = 100
    
  • ssl_*: opciones de SSL. Si se utiliza SSL (recomendado), estas opciones definen las suites de cifrado permitidas y las rutas al certificado y su clave privada.
    ssl = on
    ssl_ciphers = 'ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH'
    ssl_cert_file = 'server.crt'
    ssl_key_file = 'server.key'
    
  • shared_buffers: tamaño de la memoria utilizada para caché. A partir de 1 GB, el valor aconsejado es a partir de 1/4 de la memoria RAM (por ejemplo 128 MB). En sistemas con menor cantidad de memoria se recomienda utilizar un 15% de la misma.
    shared_buffers = 24MB
    
  • log_*: opciones de logging (registro de eventos). Estas opciones determinan dónde se guardan los archivos de log y su esquema de rotación (en este ejemplo cada 180 días o 100 MB).
    logging_collector = on
    log_directory = 'pg_log'
    log_filename = 'pg_nuevo%Y%m%d%H%M%S.log'
    log_truncate_on_rotation = on
    log_rotation_age = 180d
    log_rotation_size = 100MB
    log_duration = on
    log_line_prefix = '%t %u %c %d %p %i'
    log_statement = 'all'
    
    La opción log_line_prefix determina el prefijo de cada entrada en el log: %t indica el timestamp, %u el usuario, %c el ID de sesión, %d el nombre de la base de datos, %p el ID de proceso e %i el tag asociado al comando ejecutado.
  • Opciones de localización (configuradas por initdb):
    datestyle = 'iso, dmy'
    lc_messages = 'es_AR.UTF-8'
    lc_monetary = 'es_AR.UTF-8'
    lc_numeric = 'es_AR.UTF-8'
    lc_time = 'es_AR.UTF-8'
    default_text_search_config = 'pg_catalog.spanish'
    
  • Referencias


    Tal vez pueda interesarte


    Compartí este artículo