install ubuntu postgresql: Guía práctica para instalar y configurar PostgreSQL en Ubuntu
Esta guía ofrece instrucciones concretas y probadas para instalar PostgreSQL en Ubuntu y dejar una base de datos lista para producción ligera o desarrollo. Se presentan comandos, ajustes de seguridad, ejemplos de líneas de comando y una prueba práctica de despliegue. El tono es directo y técnico, orientado a administradores y desarrolladores que necesitan resultados reproducibles.
Requisitos y decisiones iniciales
Antes de ejecutar comandos conviene elegir la versión de PostgreSQL y el método de instalación. Ubuntu incluye paquetes en sus repositorios oficiales, pero el repositorio oficial de PostgreSQL (PGDG) ofrece versiones más recientes. Decidir entre ambos depende del soporte requerido y del entorno:
- Repositorio de Ubuntu: estabilidad y parches integrados con el sistema operativo.
- PGDG (postgresql.org): versiones nuevas, necesario para features recientes o compatibilidad con herramientas externas.
- Contenedores: Docker o Podman cuando se prefiere aislamiento para entornos de desarrollo o despliegues efímeros.
Requisitos mínimos: una máquina Ubuntu 18.04 o superior, usuario con privilegios sudo, al menos 1 CPU y 1 GB de RAM para pruebas. Para entornos de producción, asignar recursos según la carga esperada y usar almacenamiento rápido para el directorio de datos.
Instalación paso a paso
Estos pasos sirven tanto para Ubuntu Server como Desktop. Si se opta por PGDG, añadir el repositorio antes de instalar.
Instalación desde repositorio de Ubuntu
Ejecutar:
sudo apt update
sudo apt install postgresql postgresql-contrib
Luego comprobar el estado del servicio:
sudo systemctl status postgresql
En la mayoría de instalaciones, PostgreSQL crea un rol del sistema llamado postgres y un cluster por defecto. Para acceder al cliente:
sudo -i -u postgres psql
Instalación desde PGDG (versión más reciente)
Agregar la clave y el repositorio, por ejemplo para Ubuntu 22.04 y PostgreSQL 15:
wget -qO – https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add –
sudo sh -c ‘echo «deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main» > /etc/apt/sources.list.d/pgdg.list’
sudo apt update
sudo apt install postgresql-15
Esta vía permite instalar versiones que no están en el repositorio base de Ubuntu.
Configuración básica y gestión de usuarios
Tras la instalación, realizar ajustes mínimos para usar la base de datos.
Crear roles y bases
Ejemplo para crear un rol y una base para una aplicación:
sudo -i -u postgres createuser –interactive –pwprompt
sudo -i -u postgres createdb miapp_db -O miapp_user
También es posible crear el usuario desde psql:
sudo -i -u postgres psql
create role miapp_user with login password ‘CambiarEstaClave’;
create database miapp_db owner miapp_user;
q
Asignar privilegios y roles
En proyectos con varias bases o entornos, usar roles de grupo facilita la gestión:
create role readonly;
grant connect on database miapp_db to readonly;
grant usage on schema public to readonly;
Estos pasos reducen el número de cambios cuando se escala a múltiples bases o aplicaciones.
Ajustes de red y seguridad
Por defecto PostgreSQL escucha en localhost. Para permitir conexiones remotas editar el archivo de configuración:
/etc/postgresql/version/main/postgresql.conf
cambiar listen_addresses = ‘localhost’ a listen_addresses = ‘*’
A continuación ajustar pg_hba.conf con reglas precisas. Ejemplo de línea para permitir solo una red:
host miapp_db miapp_user 192.0.2.0/24 md5
En la práctica, conviene adoptar varias capas de seguridad:
- Firewall: permitir el puerto 5432 únicamente desde IPs autorizadas usando ufw o reglas de red del proveedor.
- Autenticación: usar md5 o scram-sha-256 y evitar confiar en conexiones sin contraseña.
- SSL: cifrar tráfico entre cliente y servidor si la red no es de confianza, generando certificados y activando ssl = on.
Ejemplo de regla UFW para permitir solo una IP:
sudo ufw allow from 198.51.100.25 to any port 5432
Ajustes de rendimiento y mantenimiento
Algunas variables del archivo postgresql.conf impactan el rendimiento. Para bases pequeñas y servidores con 2–4 GB de RAM, ajustar:
- shared_buffers = 512MB
- work_mem = 4MB
- maintenance_work_mem = 64MB
- effective_cache_size = 1GB
Estos valores dependen de la carga y del tamaño de la memoria. Antes de cambiar en producción, realizar pruebas de carga sencillas con pgbench o una réplica del entorno.
Backups, restauración y migraciones
Una estrategia de backups simple consiste en combinar dumps lógicos y copias base con pg_basebackup para replicación o recuperación rápida.
Backup rápido con pg_dump
Para volcar una base:
pg_dump -U miapp_user -h localhost -Fc miapp_db > miapp_db.dump
Restaurar:
pg_restore -U miapp_user -d miapp_db_restored miapp_db.dump
Dump completo y recuperación rápida
Para recuperar un sistema completo o configurar réplica, usar pg_basebackup o herramientas de WAL archiving. Un ejemplo de comando:
sudo -u postgres pg_basebackup -D /var/lib/postgresql/backup -F tar -z -P
Registrar wal_level y configurar archive_mode permite restauraciones punto en el tiempo.
Ejemplo práctico: desplegar una base para una aplicación web
Mini-caso: una API en Node.js necesita una base PostgreSQL en una VM Ubuntu. Requisitos: seguridad por IP, usuario específico y backup diario.
Pasos resumidos ejecutables en la VM:
- Actualizar e instalar: sudo apt update && sudo apt install postgresql postgresql-contrib
- Crear usuario y base: sudo -i -u postgres createuser -P miapi_user && sudo -i -u postgres createdb miapi_db -O miapi_user
- Configurar acceso remoto limitado: editar listen_addresses y pg_hba.conf para la IP de la API
- Configurar UFW: sudo ufw allow from 203.0.113.10 to any port 5432
- Automatizar dumps: script diario con pg_dump y rotación por cron
Resultado: la API se conecta con credenciales restringidas, la base queda protegida por firewall y existe copia diaria para recuperación rápida.
Conclusión y pasos recomendados
Instalar PostgreSQL en Ubuntu es un proceso directo, pero el valor real reside en la configuración posterior: control de accesos, backups y ajustes de rendimiento. Para poner en marcha un servicio robusto, seguir estos pasos concretos:
- Elegir la fuente de instalación según la versión requerida (repositorio de Ubuntu o PGDG).
- Crear roles y bases siguiendo el principio de mínimos privilegios.
- Aplicar reglas de conexión en pg_hba.conf y limitar acceso con firewall.
- Configurar backups automatizados y verificar restauraciones periódicamente.
- Medir el rendimiento y ajustar shared_buffers y work_mem con pruebas controladas.
Con estas acciones se obtiene un servidor PostgreSQL en Ubuntu preparado para desarrollo y apto para escalar hacia entornos de producción con réplicas y políticas de alta disponibilidad. Implementar cada cambio en un entorno de pruebas antes de aplicarlo a producción reduce riesgos y facilita iteraciones.

