Instalar PostgreSQL a través de Homebrew
Probablemente la mayoría de los usuarios de OS X conocen Homebrew
, pero Homebrew es un gestor de paquetes para OS X que permite instalar y ejecutar fácilmente una enorme biblioteca de aplicaciones y utilidades con facilidad.
No vamos a repasar todo el (aunque breve) proceso de instalación de Homebrew, pero si quieres instalar Homebrew y utilizarlo para la gestión de PostgreSQL, consulta el comando de instalación en la documentación oficial. Si no estás seguro de si Homebrew está instalado, prueba el comando which brew
desde la terminal para verificarlo.
Una vez instalado Homebrew, puedes instalar PostgreSQL emitiendo los siguientes comandos en tu terminal:
$ brew update$ brew doctor$ brew install postgres
Los dos primeros comandos se utilizan para actualizar Homebrew e informar de cualquier posible problema (si es necesario). Luego, por supuesto, brew install postgres
es el comando de una línea para instalar PostgreSQL.
Deberías ver una buena cantidad de información útil en la salida durante la instalación, gran parte de la cual debería ser copiada para su uso en las siguientes secciones.
Usando un LaunchAgent y un plist para lanzar PostgreSQL al inicio
En la mayoría de los casos, es probable que desee que PostgreSQL se inicie al arrancar su sistema, por lo que tendrá que decirle a su ordenador que este es su deseo.
En primer lugar, tendrá que crear un directorio para que su LaunchAgents
resida (si el directorio no existe ya). LaunchAgents
en OS X son simples scripts utilizados por launchd
que hacen que el sistema ejecute programas o código durante el arranque.
Crea tu user
específico LaunchAgents
directorio con este comando, si es necesario:
$ mkdir -p ~/Library/LaunchAgents
Ahora tendrás que crear un enlace simbólico desde el script que realmente permita a Postgres ejecutarse al directorio LaunchAgents
. Un enlace simbólico es similar a la creación de una nueva copia de un archivo para su uso en otro directorio, pero como el enlace es ‘simbólico’, el enlace es sólo una dirección de reenvío: cualquier solicitud hecha a esa ubicación de enlace simbólico es realmente «reenviada a lo largo» o redirigida a donde realmente reside el archivo real.
Enlaza al archivo plist
(lista de propiedades) que fue generado por Homebrew y coloca ese nuevo enlace simbólico en LaunchAgents
con este comando:
$ ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents
Nota: Comprueba dos veces que el comando es correcto: debería haber sido parte de la salida de instalación mencionada anteriormente cuando Homebrew instaló Postgres inicialmente.
Por último, cargamos el nuevo enlace simbólico LaunchAgent
usando el comando launchctl load
, que es específicamente lo que informa al ordenador para que ejecute este script e inicie Postgres cuando el ordenador se inicie. De nuevo, el comando exacto a introducir para tu propia instalación será una salida durante la instalación de Postgres de Homebrew, pero debería ser algo así:
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
Iniciando manualmente PostgreSQL
Para iniciar manualmente Postgres sin reiniciar, de nuevo deberías poder usar el comando que salió durante la instalación, así:
$ postgres -D /usr/local/var/postgres
Esto intentará lanzar Postgres en modo daemon
, lo que significa que se ejecutará como un proceso en segundo plano sin ocupar tu terminal.
Iniciar/Detener PostgreSQL sin Homebrew
En el caso de que no tengas (o no quieras usar) Homebrew para Postgres, y sin embargo ya tengas Postgres instalado, también puedes iniciarlo manualmente con pg_ctl
, que es la utilidad de lanzamiento que proporciona el propio Postgres.
Esto iniciará Postgres (asumiendo los directorios por defecto):
$ pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
Y esto parará Postgres:
pg_ctl -D /usr/local/var/postgres stop -s -m fast
Solución de problemas de arranque: ¿Has ejecutado initdb?
En algunos casos, si tienes problemas para ejecutar Postgres, asegúrate de haber ejecutado una vez el comando initdb
, que hace que Postgres inicialice el cluster de bases de datos para una nueva instalación y te permite conectarte con el usuario por defecto postgres
.