PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come avviare PostgreSQL Server su Mac OS X tramite Homebrew

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.