sql >> Database >  >> RDS >> PostgreSQL

Hoe PostgreSQL Server op Mac OS X te starten via Homebrew

PostgreSQL installeren via Homebrew

Waarschijnlijk kennen de meeste OS X-gebruikers Homebrew , maar Homebrew is een pakketbeheerder voor OS X waarmee je eenvoudig een enorme bibliotheek met applicaties en hulpprogramma's kunt installeren en uitvoeren.

We zullen niet het hele (zij het korte) installatieproces van Homebrew doorlopen, maar als je Homebrew wilt installeren en gebruiken voor PostgreSQL-beheer, bekijk dan de installatieopdracht in de officiële documentatie. Als je niet zeker weet of Homebrew is geïnstalleerd, probeer dan de which brew commando van de terminal om te verifiëren.

Nadat Homebrew is geïnstalleerd, kunt u PostgreSQL installeren door de volgende opdrachten in uw terminal uit te voeren:

$ brew update
$ brew doctor
$ brew install postgres

De eerste twee opdrachten worden gebruikt om Homebrew bij te werken en eventuele problemen te melden (indien nodig). Dan, natuurlijk, brew install postgres is de eenregelige opdracht voor het installeren van PostgreSQL.

U zou tijdens de installatie veel nuttige informatie in de uitvoer moeten zien, waarvan een groot deel moet worden gekopieerd voor gebruik in de volgende secties.

Een LaunchAgent en plist gebruiken om PostgreSQL bij opstarten te starten

In de meeste gevallen wilt u waarschijnlijk dat PostgreSQL wordt gestart wanneer u uw systeem opstart, dus u moet uw computer vertellen dat dit uw wens is.

Eerst moet u een map maken voor uw LaunchAgents om te verblijven (als de map nog niet bestaat). LaunchAgents in OS X zijn eenvoudige scripts die worden gebruikt door launchd die ervoor zorgen dat het systeem programma's of code uitvoert tijdens het opstarten.

Maak uw user -specifieke LaunchAgents directory met dit commando, indien nodig:

$ mkdir -p ~/Library/LaunchAgents

Nu moet je een symbolische link van het script maken waarmee Postgres daadwerkelijk naar de LaunchAgents kan rennen map. Een symbolische link is vergelijkbaar met het maken van een nieuwe kopie van een bestand voor gebruik in een andere directory, maar aangezien de link 'symbolisch' is, is de link slechts een doorstuuradres:elk verzoek aan die symbolische linklocatie wordt in feite "doorgestuurd" of omgeleid naar waar de echte bestand daadwerkelijk aanwezig is.

Link naar de plist (property list) bestand dat is gegenereerd door Homebrew en plaats die nieuwe symbolische link in LaunchAgents met dit commando:

$ ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents

Opmerking:Controleer nogmaals of het commando correct is:het had deel moeten uitmaken van de hierboven genoemde installatie-uitvoer toen Homebrew Postgres aanvankelijk installeerde.

Ten slotte laden we de nieuwe symbolische link'ed LaunchAgent bestand met behulp van de launchctl load commando, wat specifiek de computer informeert om dit script uit te voeren en Postgres te starten wanneer de computer opstart. Nogmaals, het exacte commando dat je moet invoeren voor je eigen installatie zal een uitvoer zijn tijdens de Homebrew's Postgres-installatie, maar het zou er ongeveer zo uit moeten zien:

$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

PostgreSQL handmatig starten

Om Postgres handmatig op te starten zonder opnieuw op te starten, zou je opnieuw de opdracht moeten kunnen gebruiken die tijdens de installatie is uitgevoerd, zoals:

$ postgres -D /usr/local/var/postgres

Hiermee wordt geprobeerd Postgres te starten in daemon modus, wat betekent dat het als een achtergrondproces wordt uitgevoerd zonder uw terminal over te nemen.

Start/Stop PostgreSQL zonder homebrew

In het geval dat je Homebrew voor Postgres niet hebt (of niet wilt gebruiken), maar je hebt Postgres al geïnstalleerd, je kunt het ook handmatig starten met pg_ctl , het starthulpprogramma dat door Postgres zelf wordt geleverd.

Hiermee wordt Postgres gestart (uitgaande van standaarddirectory's):

$ pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start

En dit stopt Postgres:

pg_ctl -D /usr/local/var/postgres stop -s -m fast

Opstartproblemen oplossen:heb je initdb uitgevoerd ?

In sommige gevallen, als je problemen hebt met het uitvoeren van Postgres, zorg er dan voor dat je de initdb hebt uitgevoerd commando één keer, waardoor Postgres het databasecluster initialiseert voor een nieuwe installatie en u verbinding kunt maken met de standaard postgres gebruiker.


  1. Hoe voeg ik indexen toe aan MySQL-tabellen?

  2. Geoptimaliseerde SQL voor boomstructuren

  3. Voer een query uit met een LIMIT/OFFSET en verkrijg ook het totale aantal rijen

  4. Hoe schrijf ik LINQ's .Skip(1000).Take(100) in pure SQL?