Curso de PostgreSQL

Instalación y configuración de PostgreSQL en Ubuntu

Curso de PostgreSQL

Contenido del curso

Instalación y configuración de PostgreSQL en Ubuntu

Resumen

Configurar PostgreSQL en Ubuntu es la parte más exigente del curso, pero también la puerta de entrada para trabajar con bases de datos profesionales. Aquí verás cómo instalar el motor, ajustar archivos de configuración, crear un usuario con contraseña encriptada y conectar un cliente sin tropiezos.

La instalación se hace dentro de Linux porque el entorno está prácticamente estandarizado en la industria, lo que vuelve más cómodo trabajar con herramientas interoperables, ya sea en Ubuntu nativo o usando WSL en Windows.

¿Cómo instalo PostgreSQL en Ubuntu desde la terminal?

La instalación se resuelve con un solo comando, aunque necesitas privilegios de superusuario para ejecutarlo correctamente.

En la terminal escribes apt install postgresql. Si aparece un error de permisos denegados, lo solucionas con sudo !!, atajo que repite el comando anterior con privilegios de administrador. El gestor te pedirá la contraseña y confirmará una descarga aproximada de 162 MB [01:30].

¿Qué hace sudo !! en Linux? Repite el último comando ejecutado, pero con permisos de superusuario. Es útil cuando olvidaste anteponer sudo.

¿Dónde están los archivos de configuración de PostgreSQL?

La configuración vive dentro de la carpeta /etc/postgresql, una de las rutas más comunes en Linux para guardar configuraciones del sistema.

Para llegar al archivo correcto sigue esta ruta:

  • Entra con cd /etc/postgresql.
  • Verifica la versión instalada con ls, en este caso la versión 14.
  • Accede con cd 14/main para encontrar todos los archivos de configuración.

La ruta final queda como /etc/postgresql/14/main. Con el paso del tiempo el número de versión cambiará, pero la estructura se mantiene [02:50].

¿Cómo edito postgresql.conf para aceptar conexiones externas?

Para permitir que el servidor escuche conexiones desde otras direcciones necesitas modificar el archivo principal de configuración usando un editor con permisos elevados.

Ejecutas sudo nano postgresql.conf y buscas la línea listen_addresses, que viene marcada como localhost. Cambias ese valor por un asterisco (*) para habilitar la escucha desde cualquier dirección. También conviene quitar el comentario de la línea, porque en algunas configuraciones genera ruido aun estando comentado.

Guardas con Ctrl + X, confirmas con Y y presionas Enter. Nano escribe los cambios y te devuelve a la terminal [04:20].

¿Cómo creo un usuario con contraseña encriptada en PostgreSQL?

Para establecer credenciales seguras entras al motor con el usuario administrador del sistema y modificas el rol con una contraseña cifrada.

El flujo es:

  1. Ejecuta sudo -u postgres psql template1 para abrir la consola interactiva sobre la plantilla por defecto.
  2. Escribe ALTER USER postgres WITH ENCRYPTED PASSWORD 'PlatziRules'; usando comillas simples obligatoriamente.
  3. Cierra la sesión con exit una vez que aparezca la confirmación ALTER ROLE.

La instrucción ENCRYPTED PASSWORD asegura que la contraseña no se guarde como texto plano, sino cifrada en el catálogo del sistema [05:40].

¿Para qué sirve el archivo pg_hba.conf?

Este archivo controla qué usuarios pueden conectarse, desde qué direcciones y con qué método de autenticación. Sin ajustarlo, ninguna conexión remota llegará al servidor.

Antes de editarlo, ejecuta ifconfig para conocer la dirección IP de tu red actual. Después abres el archivo con sudo nano pg_hba.conf y agregas una nueva línea al final con estos campos en orden:

  • Type: hostssl para forzar conexión cifrada.
  • Database: template1.
  • User: postgres.
  • Address: la IP de tu red o 0.0.0.0/0 para permitir cualquier red.
  • Method: scram-sha-256, el método de encriptación moderno para contraseñas.

¿Qué es scram-sha-256 en PostgreSQL? Es un mecanismo de autenticación que verifica la contraseña sin enviarla en claro por la red, reemplazando al antiguo MD5.

Durante el aprendizaje conviene usar 0.0.0.0/0 con máscara en ceros para evitar dolores de cabeza al cambiar de red, por ejemplo si trabajas desde una cafetería. En entornos productivos esto debe restringirse [07:30].

¿Cómo reinicio el servicio de PostgreSQL tras los cambios?

Las modificaciones en los archivos de configuración solo se aplican cuando el servicio se reinicia. Sin este paso, parecerá que nada funciona.

Usa sudo systemctl restart postgresql para reiniciar el motor y luego sudo service postgresql status para verificar que aparezca como active. Si todo está bien, el servidor queda listo para recibir conexiones [09:00].

¿Cómo conecto un cliente al servidor PostgreSQL?

El cliente es la herramienta que envía consultas al motor. Se instala por separado y permite conectarse desde la misma máquina o desde otra dentro de la red.

Instalas el paquete con sudo apt install postgresql-client. Una vez listo, te conectas con este comando completo:

bash psql --host 172.29.39.4 --username postgres --password --dbname template1

La terminal solicitará la contraseña configurada antes (PlatziRules). Al ingresarla verás el prompt del motor, listo para ejecutar comandos SQL. Pruebas con \dt para listar tablas, aunque al inicio no habrá ninguna, y sales con \q [10:40].

Con esto ya tienes un servidor de bases de datos funcionando, autenticación cifrada y un cliente conectado por red. ¿Te animas a contar en los comentarios qué sistema operativo usaste y si tuviste algún ajuste extra en el camino?