Último artículo de la etapa de lenguajes y datos: PostgreSQL en macOS. Vas a aprender exactamente cómo instalarlo con Postgres.app, dejar las herramientas de terminal en el PATH y hacer tu primera conexión, con el modelo de usuarios de Mac explicado.
La versión de Ubuntu del jueves usaba el repositorio oficial y la terminal; en Mac existe un camino mejor y es el que uso: Postgres.app, un PostgreSQL completo empaquetado como app normal de macOS. Servidor con interfaz gráfica, ícono en la barra de menú, actualizaciones menores automáticas, la extensión PostGIS incluida… y aun así trae todas las herramientas de línea de comandos para cuando las necesites.
El problema típico de PostgreSQL en Mac es la instalación misma: entre fórmulas keg-only, servicios que arrancar a mano y usuarios que no son los que dicen los tutoriales, montarlo por terminal tiene más fricción de la necesaria. Postgres.app elimina casi toda.
Vamos a ver:
- Instalar Postgres.app e inicializar el servidor.
- Dejar
psqly las herramientas en el PATH. - Conectarte con tu usuario y entender el modelo de Mac.
- Ponerle contraseña para tus aplicaciones.
Al final tendrás PostgreSQL funcionando y listo para tus proyectos.
Tabla de contenidos
Tabla de contenidos
Paso 1: Instala Postgres.app
Tres gestos, como cualquier app de Mac:
- Descarga Postgres.app desde postgresapp.com.
- Muévela a la carpeta Aplicaciones.
- Ábrela con doble clic.
El paso 2 no es opcional: si no mueves Postgres.app a Aplicaciones, algunas funciones no operan correctamente.
Paso 2: Inicializa el servidor
Con la app abierta, haz clic en Initialize. Eso crea y arranca tu servidor PostgreSQL.
Ya está: tienes un servidor andando con estos valores por defecto:
| Parámetro | Valor |
|---|---|
| Host | localhost |
| Puerto | 5432 |
| Usuario | tu usuario del sistema |
| Base de datos | igual que el usuario |
| Contraseña | ninguna |
| URL de conexión | postgresql://localhost |
Desde el ícono de la barra de menú puedes ver el estado, iniciar y detener el servidor cuando quieras.
Paso 3: Deja las herramientas en el PATH
Postgres.app incluye psql, createdb y todas las herramientas de línea de comandos, pero la terminal aún no sabe dónde viven. Regístralas (te pedirá tu contraseña de macOS):
sudo mkdir -p /etc/paths.d &&
echo /Applications/Postgres.app/Contents/Versions/latest/bin | sudo tee /etc/paths.d/postgresapp
Abre una terminal nueva y verifica:
psql --version
Paso 4: Conéctate con tu usuario
Mira de nuevo la tabla del Paso 2: en Mac no existe el usuario postgres del que hablan casi todos los tutoriales. El superusuario es tu propio usuario de macOS, y ya tiene una base de datos con su mismo nombre. Así que conectarte es lo más corto posible:
psql
Sin argumentos: entra con tu usuario, a tu base de datos. Verifica con quién estás conectado, prueba un comando y sal:
SELECT current_user;
SELECT version();
\q
current_user debe responder con tu nombre de usuario de macOS. Desde aquí ya puedes crear las bases de tus proyectos:
createdb mi_proyecto
psql -d mi_proyecto
Paso 5: Ponle contraseña a tu usuario
Por defecto tu usuario no tiene contraseña, y para la terminal local no la necesita. Pero tus aplicaciones, frameworks y clientes gráficos se conectan por red y muchos la exigen. Defínela:
psql -c "\password"
Te pedirá escribirla dos veces (no se muestra al teclear, es normal). Con eso, la conexión de tus proyectos queda así:
postgresql://tu-usuario:tu-contraseña@localhost:5432/mi_proyecto
Y para probar la conexión por red, como lo harán tus apps:
psql -h localhost -U $USER -d postgres
Solución de problemas comunes
psql: command not found
Falta el PATH del Paso 3, o estás en la misma terminal de antes: el cambio solo aplica en terminales nuevas.
El servidor no arranca (puerto 5432 ocupado)
Otra instalación de PostgreSQL está usando el puerto (por ejemplo, una vieja de Homebrew). Detenla (brew services stop postgresql@17) o cambia el puerto desde la configuración de Postgres.app.
role "postgres" does not exist
No es un error: es el modelo de usuarios de Mac que vimos en el Paso 4. Si alguna herramienta exige específicamente un rol postgres, créalo:
createuser -s postgres
Mantenimiento
Postgres.app instala las actualizaciones menores automáticamente: los parches de seguridad llegan solos. Las versiones mayores se manejan desde la propia app, que puede correr varias en paralelo.
Conclusión
PostgreSQL corriendo como una app más de tu Mac: servidor en dos clics, herramientas en el PATH, tu usuario con contraseña y PostGIS incluido de regalo. Con esto cierra la etapa de lenguajes y datos: Node, Python, Ruby, Java y la base de datos, todos gestionados y replicables en ambas plataformas.
Si esto te fue útil, el artículo relacionado es el paso lógico: Cómo instalar y configurar PostgreSQL en Ubuntu y WSL, la versión de esta guía para Ubuntu.
La próxima semana la serie cambia de etapa: infraestructura, empezando por Docker en ambas plataformas. Si no te lo quieres perder, suscríbete al newsletter en la portada del blog.