sql >> Base de Datos >  >> RDS >> PostgreSQL

Cómo iniciar el servidor PostgreSQL en Mac OS X a través de Homebrew

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.