Instalar PostgreSQL a través de Homebrew
Probablemente la mayoría de los usuarios de OS X conozcan Homebrew
, pero Homebrew es un administrador de paquetes para OS X que le permite instalar y ejecutar fácilmente una enorme biblioteca de aplicaciones y utilidades con facilidad.
No pasaremos por todo el proceso de instalación (aunque breve) de Homebrew, pero si desea instalar Homebrew y usarlo para la administración de PostgreSQL, consulte el comando de instalación en la documentación oficial. Si no está seguro de si Homebrew está instalado, pruebe which brew
Comando desde la terminal para verificar.
Una vez que Homebrew está instalado, puede instalar PostgreSQL emitiendo los siguientes comandos en su terminal:
$ brew update
$ brew doctor
$ brew install postgres
Los primeros dos comandos se usan para actualizar Homebrew e informar cualquier problema potencial (si es necesario). Luego, por supuesto, brew install postgres
es el comando de una línea para instalar PostgreSQL.
Debería ver una gran cantidad de información útil en el resultado durante la instalación, gran parte de la cual debe copiarse para usarla en las siguientes secciones.
Uso de LaunchAgent y plist para iniciar PostgreSQL en el inicio
En la mayoría de los casos, es probable que desee que PostgreSQL se inicie cuando inicie su sistema, por lo que deberá decirle a su computadora que ese es su deseo.
Primero, deberá crear un directorio para sus LaunchAgents
para residir (si el directorio aún no existe). LaunchAgents
en OS X son scripts simples usados por launchd
que hacen que el sistema ejecute programas o código durante el inicio.
Crea tu user
-LaunchAgents
específicos directorio con este comando, si es necesario:
$ mkdir -p ~/Library/LaunchAgents
Ahora deberá crear un enlace simbólico desde el script que realmente permita que Postgres se ejecute en LaunchAgents
directorio. Un enlace simbólico es similar a crear una nueva copia de un archivo para usar en otro directorio, pero dado que el enlace es 'simbólico', el enlace es solo una dirección de reenvío:cualquier solicitud realizada a esa ubicación de enlace simbólico en realidad se "reenvía". o redirigido a donde el real el archivo reside realmente.
Enlace a la plist
(lista de propiedades) que fue generado por Homebrew y coloque ese nuevo enlace simbólico en LaunchAgents
con este comando:
$ ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents
Nota:Vuelva a verificar que el comando sea correcto:debería haber sido parte del resultado de la instalación mencionado anteriormente cuando Homebrew instaló Postgres inicialmente.
Finalmente, cargamos el nuevo LaunchAgent
con enlace simbólico. archivo usando la carga launchctl load
comando, que es específicamente lo que le informa a la computadora que ejecute este script e inicie Postgres cuando se inicie la computadora. Nuevamente, el comando exacto que debe ingresar para su propia instalación será una salida durante la instalación de Postgres de Homebrew, pero debería verse así:
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
Inicio manual de PostgreSQL
Para iniciar Postgres manualmente sin reiniciar, nuevamente debería poder usar el comando que se emitió durante la instalación, así:
$ postgres -D /usr/local/var/postgres
Esto intentará iniciar Postgres en daemon
modo, lo que significa que se ejecutará como un proceso en segundo plano sin controlar su terminal.
Iniciar/detener PostgreSQL sin Homebrew
En el caso de que no tenga (o no desee usar) Homebrew para Postgres, pero ya tiene Postgres instalado, también puede iniciarlo manualmente con pg_ctl
, que es la utilidad de lanzamiento proporcionada por el propio Postgres.
Esto iniciará Postgres (asumiendo directorios predeterminados):
$ pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
Y esto detendrá Postgres:
pg_ctl -D /usr/local/var/postgres stop -s -m fast
Resolución de problemas de inicio:ejecutó initdb
?
En algunos casos, si tiene problemas para ejecutar Postgres, asegúrese de haber ejecutado initdb
comando una vez, lo que hace que Postgres inicialice el clúster de la base de datos para una nueva instalación y le permite conectarse con el postgres
predeterminado usuario.