GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo puedo verificar si PostgreSQL está instalado o no a través de un script de Linux?

Si está basado en Debian.

aptitude show postgresql | grep State

Pero supongo que puedes intentar lanzarlo con alguna bandera como --version , que simplemente imprime alguna información y sale.

Actualizado usando "estado de postgres del servicio". Prueba:

service postgres status
if [ "$?" -gt "0" ]; then
  echo "Not installed".
else
  echo "Intalled"
fi

Simplemente podemos escribir:

psql --version

espectáculo de salida como:

psql (PostgreSQL) 11.5 (Ubuntu 11.5-1.pgdg18.04+1)

No hay una manera directa de hacer esto. Todo lo que puede hacer es verificar con el administrador de paquetes (rpm, dpkg) o sondear algunas ubicaciones probables para los archivos que desea. O puede intentar conectarse a un puerto probable (5432) y ver si obtiene una respuesta del protocolo PostgreSQL. Pero nada de esto va a ser muy robusto. Es posible que desee revisar sus requisitos.


¿Qué tal probar el which? comando?

Si tuviera que ejecutar which psql y Postgres no está instalado, parece que no hay salida. Simplemente obtiene el indicador de terminal listo para aceptar otro comando:

> which psql
>

Pero si Postgres está instalado, obtendrá una respuesta con la ruta a la ubicación de la instalación de Postgres:

> which psql
/opt/boxen/homebrew/bin/psql

Mirando man which también parece haber una opción que podría ayudarte:

-s      No output, just return 0 if any of the executables are found, or
        1 if none are found.

Por lo tanto, parece que, siempre que el lenguaje de secuencias de comandos que esté utilizando pueda ejecutar un comando de terminal, podría enviar which -s psql y use el valor devuelto para determinar si Postgres está instalado. Desde allí puedes imprimir ese resultado como quieras.

Tengo postgres instalado en mi máquina, así que ejecuto lo siguiente

> which -s psql
> echo $?
0

lo que me dice que el comando devolvió 0, lo que indica que se encontró el ejecutable de Postgres en mi máquina.

Aquí está la información sobre el uso de echo $?


Linux
  1. Linux:¿cómo encontrar qué versión de Java en la carpeta instalada de Java?

  2. Cómo verificar el proveedor de paquetes RPM instalados en Linux

  3. ¿Cómo puedo saber en Linux qué proceso envió una señal a mi proceso?

  4. Comando de Linux para verificar si un script de shell se está ejecutando o no

  5. ¿Cómo verificar si el kernel de Linux está habilitado para Retpoline o no?

Cómo comprobar la versión de Java instalada en Linux

Cómo verificar si está en sesión de pantalla o no en Linux

Cómo encontrar si un paquete está instalado o no en Linux y Unix

Cómo verificar si la GUI está instalada en Linux desde la línea de comandos

¿Cómo puedo verificar qué puertos están ocupados y qué puertos están libres en mi máquina Linux?

¿Cómo puedo identificar qué proceso está generando tráfico UDP en Linux?