Cómo instalar PostgreSQL 17 en Ubuntu 24.04: guía paso a paso
Cómo instalar PostgreSQL 17 en Ubuntu 24.04 LTS
PostgreSQL 17 es la última versión estable. Ubuntu 24.04 trae la 16 por defecto, así que te explico cómo instalar la 17 con el repositorio oficial.
—
TL;DR — Lo que vas a tener al final
- Tiempo de setup: 30 minutos para instalación, 1-2 horas para upgrade in-place.
- Requisitos: Backup de /home, conexión a internet, 20+ GB libres.
- Resultado: Sistema actualizado con soporte extendido, drivers funcionando.
- Troubleshooting: dnf distro-sync, akmods para NVIDIA, journalctl -p err.
Por qué PostgreSQL 17 y no 16
PostgreSQL 17 trae mejoras importantes sobre la 16:
- Vacuum más eficiente: hasta 5x mejor performance en vacuum de tablas grandes
- Logical replication mejorada: failover más rápido
- Constructores JSON: JSON_ARRAY, JSON_OBJECT, JSON_ARRAYAGG, JSON_OBJECTAGG (estándar SQL/JSON)
- Memory management: mejor uso de RAM en workloads grandes
- Streaming I/O: mejor performance en SSD y NVMe
Si tu aplicación va a estar en producción por años, empieza con 17.
—
Requisitos
- Ubuntu 24.04 LTS actualizado
- Acceso root o usuario con sudo
- 2 GB RAM mínimo (recomendado 4 GB)
- 10 GB de disco libre
—
Paso 1: Actualizar el sistema
Antes de tocar nada de PostgreSQL, asegurate de que los paquetes del sistema estén al día. Esto evita fallos raros tipo “dependencia no encontrada” cuando instales el repo de PG después.
sudo apt update && sudo apt upgrade -y
Si tu servidor está en producción, este paso puede tardar varios minutos. No te saltes apt upgrade: muchas veces las claves GPG de Ubuntu se renuevan, y si las tienes viejas, el gpg --dearmor del paso 2 puede fallar con un error críptico.
—
Paso 2: Agregar el repositorio oficial de PostgreSQL
El repo por defecto de Ubuntu 24.04 te deja PostgreSQL 16 (la versión que vino cuando se congeló Noble). Si quieres la 17 con sus features nuevas (mejor vacuum, constructores JSON, streaming I/O), necesitas el repositorio oficial de apt.postgresql.org, que mantiene la PGDG (PostgreSQL Global Development Group).
Hay tres cosas que se hacen en este paso y conviene entender qué hace cada una:
apt install curl gnupg2 ca-certificates: herramientas base para descargar la clave y validar HTTPS.gpg --dearmor: convierte la clave ASCII que devuelvecurlal formato binario queaptespera.tee /etc/apt/sources.list.d/pgdg.list: deja la URL del repo en un archivo dedicado. Si después quieres desinstalar PG 17, basta con borrar ese archivo y los paquetes quedan limpios.
# Instalar dependencias previas
sudo apt install -y curl gnupg2 ca-certificates
# Agregar la clave GPG del repositorio
sudo install -d /usr/share/postgresql-common/pgdg && sudo curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.gpg
# Agregar el repositorio
echo "deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.gpg] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
# Actualizar
sudo apt update
Si te falla apt update con un error tipo NO_PUBKEY: es que la clave GPG no se descargó bien. Borrá el archivo /usr/share/postgresql-common/pgdg/apt.postgresql.org.gpg y volvé a ejecutar la línea de curl | gpg --dearmor.
—
Paso 3: Instalar PostgreSQL 17
Con el repo ya agregado, instalar la 17 es un solo paquete. apt resuelve las dependencias automáticamente (libicu, libssl, etc.) y configura el cluster inicial.
sudo apt install -y postgresql-17
Esto instala:
- El servidor PostgreSQL 17
- El cliente
psql - Las herramientas de administración (
pg_dump,pg_restore,pg_isready, etc.)
Cuidado si ya tienes otra versión de PG: apt install postgresql-17 no reemplaza la 16 si ya está instalada. Vas a tener ambos clusters corriendo en paralelo (uno en el puerto 5432, el otro en 5433). Si quieres solo la 17, primero purgá la vieja con sudo apt purge postgresql-16.
—
Paso 4: Verificar la instalación
Después de instalar, vale la pena confirmar dos cosas: que el binario responde y que el servicio systemd está corriendo. Si alguna falla, mejor enterarte ahora que después de configurar usuarios.
psql --version
# psql (PostgreSQL) 17.x
sudo systemctl status postgresql
# Muestra que el servicio está activo
psql --version te confirma qué binario está en el PATH. systemctl status postgresql te dice si el cluster arrancó y en qué puerto escucha (5432 por defecto). Si ves active (running) y LISTEN en el puerto, todo bien.
El servicio se inicia automáticamente con systemd. Si por alguna razón quedó detenido (por ejemplo después de un reinicio que falló), arrancalo y dejalo persistente:
sudo systemctl start postgresql
sudo systemctl enable postgresql
enable es lo que hace que el servicio arranque en cada boot. Sin esto, después de un reboot el servidor queda abajo hasta que tú lo levantes a mano.
—
Paso 5: Configurar el acceso
Por defecto, PostgreSQL crea un usuario postgres que solo puede acceder desde localhost. Para acceder:
sudo -u postgres psql
Crear tu propio usuario de base de datos
-- Crear usuario
CREATE USER mi_usuario WITH ENCRYPTED PASSWORD 'contraseña_segura';
-- Crear base de datos propiedad de este usuario
CREATE DATABASE mi_db OWNER mi_usuario;
-- Dar todos los privilegios
GRANT ALL PRIVILEGES ON DATABASE mi_db TO mi_usuario;
-- Salir
q
—
Paso 6: Habilitar conexiones remotas (opcional)
⚠️ Solo si necesitas conectarte desde otro servidor.
Edita el archivo de configuración:
sudo nano /etc/postgresql/17/main/postgresql.conf
Cambia:
listen_addresses = 'localhost' # por defecto
A:
listen_addresses = '*' # o la IP específica de tu servidor
Edita también pg_hba.conf para permitir conexiones remotas:
sudo nano /etc/postgresql/17/main/pg_hba.conf
Agrega al final:
# Permitir conexiones desde una IP específica
host all all 192.168.1.0/24 scram-sha-256
Reinicia PostgreSQL:
sudo systemctl restart postgresql
—
Paso 7: Configurar firewall
Si tienes UFW activo:
sudo ufw allow from 192.168.1.0/24 to any port 5432
—
Paso 8: Tips de configuración post-instalación
Configurar conexión local con scram-sha-256
Por defecto PostgreSQL usa peer authentication para el usuario postgres. Para cambiarlo a password:
sudo nano /etc/postgresql/17/main/pg_hba.conf
Cambia la línea:
local all postgres peer
Por:
local all postgres scram-sha-256
Habilitar logs de queries lentas
Edita postgresql.conf y agrega:
log_min_duration_statement = 1000 # log queries que tardan > 1s
log_statement = 'mod' # log modificaciones de schema
Configurar conexiones máximas
max_connections = 100 # default
Ajusta según tu workload. Para apps con connection pooling (PgBouncer), 200+ conexiones.
—
Cómo probar la instalación
# Conectar como tu usuario
psql -U mi_usuario -d mi_db -h localhost
# Si pide password, escribirlo
# Si conecta, verás:
# mi_db=>
# Probar una query
SELECT version();
# PostgreSQL 17.x on x86_64-pc-linux-gnu, ...
# Listar bases de datos
l
# Salir
q
—
Resumen
Ahora tienes PostgreSQL 17 corriendo en Ubuntu 24.04. Próximos pasos recomendados:
- Configurar backups automáticos con
pg_dump+ cron - Configurar replicación si necesitas HA
- Configurar monitoring con
pg_stat_statementso Zabbix/Prometheus
Si quieres aprender SQL avanzado, lee nuestra guía de SQL para developers (próximamente).
Lee también: Cómo instalar Redis para caché, o Kubernetes en producción si quieres correr PostgreSQL en cluster.
Preguntas frecuentes
¿Por qué Cómo instalar PostgreSQL 17 en Ubuntu 24.04: guía paso a paso es relevante para sysadmins Linux?
Forma parte del flujo diario de administración. Los conceptos explicados se aplican directamente a servidores en producción y resuelven problemas reales que enfrentan sysadmins hispanohablantes.
¿Qué necesito para empezar con Cómo instalar PostgreSQL 17 en?
Distribución Linux actualizada (Debian, Ubuntu, RHEL, Fedora o Arch), acceso root, y conexión a internet. Para producción: entorno de staging separado antes de aplicar cambios.
¿Cuáles son los errores más comunes con Cómo instalar PostgreSQL 17 en?
Los tres más frecuentes: (1) saltar la lectura de logs, (2) aplicar cambios directos en producción sin probar, (3) olvidar permisos y ownership. La documentación y un plan de rollback siempre.
¿Cuándo usar Cómo instalar PostgreSQL 17 en y cuándo una alternativa?
Esta solución es ideal para el caso descrito. Alternativas como Docker, Ansible o configuración manual pueden ser mejores según contexto: portabilidad, escala y reproducibilidad son los factores clave.
¿Cómo migro desde una configuración previa a Cómo instalar PostgreSQL 17 en?
Documentar el estado actual, probar la nueva configuración en staging, validar funcionalmente, y aplicar en producción con rollback plan listo. Los posts de SoyLinux incluyen troubleshooting para los problemas más comunes.
Lee también
- Guía Fedora 44: Novedades, Instalación y Upgrade para Sysadmins Linux
- Configura VLANs en Linux con nmcli: Guía paso a paso para sysadmins
- Protege tu SSH: Guía esencial para configurar Fail2ban en Linux
- Guía Definitiva: Configura Kubernetes con kubeadm en Ubuntu para Sysadmins Linux
- Configura Prometheus y Grafana: Guía DevOps para SysAdmins Linux

Pingback: ZFS en Proxmox: configuración y errores comunes
Pingback: BTRFS vs ZFS vs ext4: qué filesystem elegir para tu servidor Linux en 2026
Pingback: Instalar Nginx en Ubuntu 24.04 paso a paso: la guía completa 2026 - Soy Linux