Compruebe si el servidor PostgreSQL se está ejecutando en macOS

Aqsa Amir 20 junio 2023
  1. Compruebe si el servidor PostgreSQL se está ejecutando en macOS
  2. Use el comando grep para verificar el estado de PostgreSQL
  3. Use el comando pg_ctl status para verificar el estado de PostgreSQL
  4. Use el comando pg_isready para verificar el estado de PostgreSQL
  5. Otros comandos para verificar el estado de PostgreSQL
  6. Conclusión
Compruebe si el servidor PostgreSQL se está ejecutando en macOS

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 usando initdb 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:

  1. 0: indica que el servidor acepta conexiones como de costumbre.
  2. 1: se devuelve si el servidor no acepta ninguna conexión.
  3. 2 - muestra que no se recibió respuesta después del intento de conexión.
  4. 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.