Como configurar servidor postgresql

 

www.onlinetis.com

Para configurar un servidor PostgreSQL, necesitas instalar el software, inicializar la base de datos, y luego ajustar los parámetros de configuración en los archivos postgresql.conf y pg_hba.conf. Aquí te muestro los pasos principales:

1. Instalación y Inicialización

Primero, instala el servidor de PostgreSQL. Los comandos varían según tu sistema operativo. Por ejemplo, en Ubuntu/Debian, usarías:

Bash
sudo apt update
sudo apt install postgresql

En RHEL/CentOS, el comando sería:

Bash
sudo yum install postgresql-server postgresql-contrib

Una vez instalado, el servicio generalmente se inicia automáticamente. El siguiente paso es inicializar la base de datos si no lo ha hecho el instalador. En algunas distribuciones, se realiza con este comando:

Bash
sudo /usr/bin/postgresql-setup initdb

Luego, debes iniciar el servicio de PostgreSQL. En sistemas que usan systemd (como la mayoría de los Linux modernos):

Bash
sudo systemctl start postgresql
sudo systemctl enable postgresql  # Para que inicie automáticamente en el arranque

2. Configuración de Acceso

El usuario principal de PostgreSQL por defecto se llama postgres. Para administrarlo, primero cambia al usuario postgres en la terminal:

Bash
sudo -i -u postgres

Ahora puedes acceder a la consola de PostgreSQL (psql):

Bash
psql

Para salir de la consola, escribe \q y presiona Enter. Es importante establecer una contraseña para el usuario postgres para mayor seguridad. Desde la consola psql:

SQL
ALTER USER postgres WITH PASSWORD 'tu_contraseña_segura';

No olvides remplazar 'tu_contraseña_segura' con una contraseña fuerte.


3. Archivos de Configuración

Los dos archivos de configuración más importantes son postgresql.conf y pg_hba.conf. Su ubicación puede variar, pero a menudo están en /etc/postgresql/versión/main/ o /var/lib/pgsql/data/.

postgresql.conf

Este archivo controla los parámetros del servidor. Aquí hay algunas configuraciones comunes que podrías querer ajustar:

  • listen_addresses = 'localhost': Por defecto, PostgreSQL solo escucha conexiones locales. Para permitir conexiones desde otras máquinas, cámbialo a '*' o a la dirección IP específica de la máquina remota.

  • port = 5432: Este es el puerto por defecto de PostgreSQL. Puedes cambiarlo si lo necesitas.

  • max_connections = 100: Define el número máximo de conexiones concurrentes. Ajusta este valor según la carga de trabajo esperada.

  • shared_buffers = 128MB: La cantidad de memoria compartida que el servidor utiliza. Es una de las configuraciones más críticas para el rendimiento. Un buen punto de partida es el 25% de tu RAM total.

Después de cualquier cambio en postgresql.conf, debes reiniciar el servicio para que los cambios surtan efecto:

Bash
sudo systemctl restart postgresql

pg_hba.conf (Host-Based Authentication)

Este archivo controla la autenticación de los clientes. Cada línea especifica cómo un cliente puede conectarse. La sintaxis es la siguiente: tipo base_de_datos usuario dirección_ip método_de_autenticación.

  • host all all 127.0.0.1/32 trust: Permite a cualquiera en tu máquina local conectarse a cualquier base de datos. trust significa que no se requiere contraseña. No uses trust para conexiones externas.

  • host all all 0.0.0.0/0 md5: Para conexiones externas, esta línea permitiría a cualquier host (0.0.0.0/0) conectarse a cualquier base de datos con cualquier usuario, siempre que proporcionen la contraseña correcta (usando el método md5). Es la configuración más común para accesos remotos.

Para permitir una conexión desde una IP específica (ej. 192.168.1.100), la línea sería:

Plaintext
host all all 192.168.1.100/32 md5

Después de modificar pg_hba.conf, también necesitas recargar la configuración o reiniciar el servicio:

Bash
sudo systemctl reload postgresql

Con estos pasos, tendrás un servidor PostgreSQL básico y seguro, listo para ser utilizado.

Entradas populares de este blog

Ciberseguridad y hacking con Whatweb

Como robar contraseñas haciendo un phishing web

Arsenal software hacking NFC