Compruebe si el servidor PostgreSQL se está ejecutando en macOS
- Compruebe si el servidor PostgreSQL se está ejecutando en macOS
-
Use el comando
grep
para verificar el estado de PostgreSQL -
Use el comando
pg_ctl status
para verificar el estado de PostgreSQL -
Use el comando
pg_isready
para verificar el estado de PostgreSQL - Otros comandos para verificar el estado de PostgreSQL
- Conclusión
Este artículo está especialmente articulado para ayudarlo a encontrar el estado de su servidor PostgreSQL en el sistema operativo MAC. Se han mencionado varios comandos BASH en el artículo.
Estos se pueden usar para verificar el estado de PostgreSQL y si se está ejecutando o no.
Nota: Es posible que los comandos BASH mencionados a lo largo del artículo no funcionen para todos los sistemas operativos; sin embargo, se sabe que funcionan bien para macOS.
Se han mencionado numerosos comandos BASH como una alternativa entre sí; si un comando no funciona, se pueden ejecutar otros comandos para verificar el estado del servidor PostgreSQL.
Compruebe si el servidor PostgreSQL se está ejecutando en macOS
Se pueden usar numerosos comandos, pasando a los comandos BASH para verificar el estado de PostgreSQL. Este artículo se enfoca en los comandos que lo ayudarán a determinar si PostgreSQL se está ejecutando o no.
Antes de profundizar en los comandos BASH, veamos los mensajes de error que puede recibir cuando intenta acceder a PostgreSQL.
Error de mensajes
Echemos un vistazo a los siguientes mensajes y analicemos si le resultan familiares o no.
[~/dev/working/sw] sudo bundle exec rake db:migrate rake aborted!
could not connect to the server: Connection refused
Is the server running on the host "localhost" and accepting TCP/IP connections on port 5432?
Otro mensaje de error que aparece cuando usas el comando pg_ctl
es el siguiente:
> which postgres
/usr/local/bin/postgres
> pg_ctl -D /usr/local/bin/postgres -l usr/local/bin/postgres/server.log start
pg_ctl: could not open PID file "/usr/local/bin/postgres/postmaster.pid": Not a directory
Estos son dos ejemplos de mensajes de error que podría haber encontrado al intentar ejecutar PostgreSQL en su sistema. Estos errores pueden deberse a una configuración de ruta incorrecta durante el proceso de inicialización.
Cuando utilice el comando initdb
para crear un clúster de base de datos de PostgreSQL, debe proporcionar la ruta correcta que apunte a la ubicación de PostgreSQL. Si hay algún error en la inicialización de la ruta, debe corregirlo y luego verificar si PostgreSQL funciona o no.
A continuación se proporcionan varias opciones de comando BASH, por lo que puede elegir cualquiera de ellas para verificar el estado de PostgreSQL. Analicemos cada uno de los comandos en detalle.
Use el comando grep
para verificar el estado de PostgreSQL
El primer comando BASH que ayuda a verificar si los procesos se están ejecutando o no es el siguiente:
> ps auxwww | grep postgres
O bien, puede probar otra versión del mismo comando, que es:
> ps aux | grep postgres
El mensaje de retorno lo ayuda a identificar si PostgreSQL se está ejecutando o no. Si desea iniciar el servidor PostgreSQL, debe buscar un comando similar al siguiente.
/Library/PostgreSQL/12/bin/postgres -D /Library/PostgreSQL/12/data
En el comando anterior, 12
representa la versión de PostgreSQL. Si tiene instalada una versión diferente de PostgreSQL, verá una figura diferente en el lugar de 12
.
Para iniciar el servidor PostgreSQL, use el siguiente comando.
/Library/PostgreSQL/12/bin/pg_ctl start-D /Library/PostgreSQL/12/data -l postgres.log
Nota:
/Library/PostgreSQL/12/data
es un directorio de clúster de base de datos arbitrario creado por el usuario usandoinitdb
en el proceso de inicialización.
Estos comandos pueden ayudarlo a identificar si PostgreSQL se está ejecutando o no. Si PostgreSQL no se está ejecutando, puede iniciarlo con el comando anterior.
Use el comando pg_ctl status
para verificar el estado de PostgreSQL
Otro comando BASH que verifica el estado de PostgreSQL es el siguiente:
> pg_ctl status
El comando pg_ctl status
comprueba la existencia del proceso postmaster. El comando informa que se está ejecutando si puede encontrar el proceso.
Nota: El estado de ejecución no indica que el postmaster esté listo para aceptar otras conexiones o ejecutar más consultas.
La variable de entorno PGDATA
también puede requerir algunas ediciones para comprobar el estado de PostgreSQL. Aquí hay una descripción del archivo PostgreSQL ~/.bashrc
.
export PGDATA='/usr/local/var/postgres'
export PGHOST=localhost
alias start-pg='pg_ctl -l $PGDATA/server.log start'
alias stop-pg='pg_ctl stop -m fast'
alias show-pg-status='pg_ctl status'
alias restart-pg='pg_ctl reload'
Una vez que haya editado la variable de entorno, es esencial ejecutar el siguiente comando para generar el archivo.
> . ~/.bashrc
Después de esto, puede ejecutar el comando show-pg-status
para PostgreSQL en BASH.
> show-pg-status
pg_ctl: server isrunning (PID: 11030)
/usr/local/Cellar/postgresql/9.2.4/bin/postgres
El comando pg_ctl
también se puede utilizar para iniciar el servidor PostgreSQL manualmente. Es esencial determinar la ruta de PostgreSQL antes de ejecutar el comando.
La ruta se puede determinar usando el comando what postgres
. Luego se puede usar para iniciar PostgreSQL manualmente.
> pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
Use el comando pg_isready
para verificar el estado de PostgreSQL
Otro comando interesante que debe mirar es el comando pg_isready
. Esto se usa para verificar el estado de conexión del servidor PostgreSQL.
> pg_isready
La ejecución del comando pg_isready
devuelve cualquiera de los siguientes valores:
0
: indica que el servidor acepta conexiones como de costumbre.1
: se devuelve si el servidor no acepta ninguna conexión.2
- muestra que no se recibió respuesta después del intento de conexión.3
: indica que no se realizó ningún intento de conexión; esto podría deberse a un error, por ejemplo, al usar parámetros no válidos.
Otros comandos para verificar el estado de PostgreSQL
Hay varias otras opciones para los comandos BASH que puede usar para verificar el estado de PostgreSQL.
Intente usar el comando psql
o el comando pgrep postgres
para determinar si el servidor PostgreSQL se está ejecutando en su MAC o no.
Conclusión
Diferentes sistemas operativos requieren diferentes comandos para realizar la misma función. Se sabe que los comandos BASH mencionados en el artículo funcionan bien en macOS; sin embargo, también puede probarlos en otros sistemas operativos.