Installa PostgreSQL tramite Homebrew
Probabilmente la maggior parte degli utenti di OS X conoscono Homebrew
, ma Homebrew è un gestore di pacchetti per OS X che ti consente di installare ed eseguire facilmente una vasta libreria di applicazioni e utilità con facilità.
Non esamineremo l'intero (anche se breve) processo di installazione di Homebrew, ma se desideri installare Homebrew e utilizzarlo per la gestione di PostgreSQL, controlla il comando di installazione nella documentazione ufficiale. Se non sei sicuro che Homebrew sia installato, prova which brew
comando dal terminale per verificare.
Una volta installato Homebrew, puoi installare PostgreSQL emettendo i seguenti comandi nel tuo terminale:
$ brew update
$ brew doctor
$ brew install postgres
I primi due comandi servono per aggiornare Homebrew e segnalare eventuali problemi (se necessario). Quindi, ovviamente, brew install postgres
è il comando a riga singola per l'installazione di PostgreSQL.
Durante l'installazione dovresti vedere una buona quantità di informazioni utili nell'output, molte delle quali dovrebbero essere copiate per essere utilizzate nelle sezioni successive.
Utilizzo di LaunchAgent e plist per avviare PostgreSQL all'avvio
Nella maggior parte dei casi, probabilmente vorrai che PostgreSQL venga avviato all'avvio del tuo sistema, quindi dovrai dire al tuo computer che questo è il tuo desiderio.
Innanzitutto, dovrai creare una directory per i tuoi LaunchAgents
risiedere (se la directory non esiste già). LaunchAgents
in OS X sono semplici script usati da launchd
che fanno sì che il sistema esegua programmi o codice durante l'avvio.
Crea il tuo user
-specifici LaunchAgents
directory con questo comando, se necessario:
$ mkdir -p ~/Library/LaunchAgents
Ora dovrai creare un collegamento simbolico dallo script che consenta effettivamente a Postgres di essere eseguito su LaunchAgents
directory. Un collegamento simbolico è simile alla creazione di una nuova copia di un file da utilizzare in un'altra directory, ma poiché il collegamento è 'simbolico', il collegamento è solo un indirizzo di inoltro:qualsiasi richiesta fatta a quella posizione del collegamento simbolico viene effettivamente "inoltrata" o reindirizzato a dove il reale il file risiede effettivamente.
Link al plist
(elenco delle proprietà) che è stato generato da Homebrew e posiziona il nuovo collegamento simbolico in LaunchAgents
con questo comando:
$ ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents
Nota:ricontrolla che il comando sia corretto:avrebbe dovuto far parte dell'output di installazione menzionato sopra quando Homebrew ha installato Postgres inizialmente.
Infine, carichiamo il nuovo link simbolico LaunchAgents
utilizzando il launchctl load
comando, che è specificamente ciò che informa il computer di eseguire questo script e avviare Postgres all'avvio del computer. Ancora una volta, il comando esatto da inserire per la tua installazione sarà un output durante l'installazione di Postgres di Homebrew, ma dovrebbe assomigliare a questo:
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
Avvio manuale di PostgreSQL
Per avviare manualmente Postgres senza riavviare, dovresti essere ancora in grado di utilizzare il comando che è stato emesso durante l'installazione, in questo modo:
$ postgres -D /usr/local/var/postgres
Questo tenterà di avviare Postgres in daemon
modalità, il che significa che verrà eseguito come processo in background senza prendere il controllo del tuo terminale.
Avvia/arresta PostgreSQL senza homebrew
Nel caso in cui non possiedi (o non desideri utilizzare) Homebrew per Postgres, ma hai già installato Postgres, puoi anche avviarlo manualmente con pg_ctl
, che è l'utilità di avvio fornita da Postgres stessa.
Questo avvierà Postgres (assumendo le directory predefinite):
$ pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
E questo fermerà Postgres:
pg_ctl -D /usr/local/var/postgres stop -s -m fast
Risoluzione dei problemi di avvio:hai eseguito initdb
?
In alcuni casi, se hai problemi con l'esecuzione di Postgres, assicurati di aver eseguito initdb
comando una volta, che fa sì che Postgres inizializzi il cluster di database per una nuova installazione e ti consente di connetterti con il postgres
predefinito utente.