GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso verificare se PostgreSQL è installato o meno tramite script Linux?

Se è basato su debian.

aptitude show postgresql | grep State

Ma suppongo che tu possa semplicemente provare ad avviarlo con un flag come --version , che stampa semplicemente alcune informazioni ed esce.

Aggiornato utilizzando "servizio postgres status". Prova:

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

Possiamo semplicemente scrivere:

psql --version

l'output mostra come:

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

Non esiste un modo semplice per farlo. Tutto quello che puoi fare è controllare con il gestore pacchetti (rpm, dpkg) o sondare alcune probabili posizioni per i file che desideri. Oppure potresti provare a connetterti a una probabile porta (5432) e vedere se ottieni una risposta del protocollo PostgreSQL. Ma niente di tutto questo sarà molto robusto. Potresti voler rivedere i tuoi requisiti.


Che ne dici di provare il which comando?

Se dovessi eseguire which psql e Postgres non è installato sembra non esserci output. Devi solo preparare il prompt del terminale per accettare un altro comando:

> which psql
>

Ma se Postgres è installato, riceverai una risposta con il percorso della posizione dell'installazione di Postgres:

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

Guardando man which sembra esserci anche un'opzione che potrebbe aiutarti:

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

Quindi sembra che fintanto che qualsiasi linguaggio di scripting che stai usando può eseguire un comando da terminale potresti inviare which -s psql e utilizzare il valore restituito per determinare se Postgres è installato. Da lì puoi stampare quel risultato come preferisci.

Ho postgres installato sulla mia macchina, quindi eseguo quanto segue

> which -s psql
> echo $?
0

che mi dice che il comando ha restituito 0, indicando che l'eseguibile Postgres è stato trovato sulla mia macchina.

Ecco le informazioni sull'uso di echo $?


Linux
  1. Come verificare quale versione di Postgres è in esecuzione/installata

  2. Linux:come trovare quale versione di Java nella cartella installata di Java?

  3. Come controllare il fornitore dei pacchetti RPM installati in Linux

  4. Comando Linux per verificare se uno script di shell è in esecuzione o meno

  5. Come posso rispondere automaticamente alle richieste in uno script Linux Bash?

Come controllare la versione Java installata su Linux

Come verificare se sei nella sessione dello schermo o meno in Linux

Come scoprire se un pacchetto è installato o meno in Linux e Unix

Come verificare se la GUI è installata in Linux dalla riga di comando

Come verificare se il kernel Linux è abilitato o meno per Retpoline?

Come posso verificare se i cgroup sono disponibili sul mio host Linux?