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

Sådan starter du PostgreSQL Server på Mac OS X via Homebrew

Installer PostgreSQL via Homebrew

Sandsynligvis kender de fleste OS X-brugere til Homebrew , men Homebrew er en pakkehåndtering til OS X, der giver dig mulighed for nemt at installere og køre et massivt bibliotek af applikationer og hjælpeprogrammer.

Vi vil ikke gennemgå hele (omend korte) installationsprocessen af ​​Homebrew, men hvis du ønsker at installere Homebrew og bruge det til PostgreSQL-administration, så tjek installationskommandoen på den officielle dokumentation. Hvis du ikke er sikker på, om Homebrew er installeret, kan du prøve which brew kommando fra terminalen for at bekræfte.

Når Homebrew er installeret, kan du installere PostgreSQL ved at udstede følgende kommandoer i din terminal:

$ brew update
$ brew doctor
$ brew install postgres

De første to kommandoer bruges til at opdatere Homebrew og rapportere eventuelle problemer (hvis nødvendigt). Så skal du selvfølgelig brew install postgres er kommandoen på én linje til installation af PostgreSQL.

Du bør se en hel del nyttig information i outputtet under installationen, hvoraf meget bør kopieres ned til brug i de næste afsnit.

Brug af en LaunchAgent og plist til at starte PostgreSQL ved opstart

I de fleste tilfælde vil du sandsynligvis have PostgreSQL-lancering, når du starter dit system, så du bliver nødt til at fortælle din computer, at dette er dit ønske.

Først skal du oprette en mappe til dine LaunchAgents at opholde sig (hvis biblioteket ikke allerede eksisterer). LaunchAgents i OS X er simple scripts brugt af launchd som får systemet til at køre programmer eller kode under opstart.

Opret din user -specifikke LaunchAgents mappe med denne kommando, hvis det er nødvendigt:

$ mkdir -p ~/Library/LaunchAgents

Nu skal du oprette et symbolsk link fra scriptet, der faktisk tillader Postgres at køre til LaunchAgents vejviser. Et symbolsk link svarer til at oprette en ny kopi af en fil til brug i en anden mappe, men da linket er 'symbolsk', er linket kun en videresendelsesadresse:enhver anmodning til den symbolske linkplacering bliver faktisk "videresendt sammen" eller omdirigeret til hvor den rigtige filen faktisk ligger.

Link til plist (egenskabsliste) fil, der blev genereret af Homebrew, og placer det nye symbolske link i LaunchAgents med denne kommando:

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

Bemærk:Dobbelttjek, at kommandoen er korrekt:Den burde have været en del af installationsoutputtet nævnt ovenfor, da Homebrew installerede Postgres oprindeligt.

Til sidst indlæser vi det nye symbolske linket LaunchAgent fil ved hjælp af launchctl load kommando, som specifikt er det, der informerer computeren om at køre dette script og starte Postgres, når computeren starter. Igen, den nøjagtige kommando til at indtaste for din egen installation vil være et output under Homebrews Postgres-installation, men det skulle se nogenlunde sådan ud:

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

Manuel start af PostgreSQL

For manuelt at starte Postgres uden at genstarte, skal du igen være i stand til at bruge kommandoen, der blev udsendt under installationen, som sådan:

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

Dette vil forsøge at starte Postgres i daemon tilstand, hvilket betyder, at den kører som en baggrundsproces uden at overtage din terminal.

Start/stop PostgreSQL uden hjemmebryg

I tilfælde af at du ikke har (eller ikke ønsker at bruge) Homebrew til Postgres, men alligevel har Postgres installeret, kan du også starte det manuelt med pg_ctl , som er startværktøjet leveret af Postgres selv.

Dette vil starte Postgres (forudsat standardmapper):

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

Og dette vil stoppe Postgres:

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

Startfejlfinding:Kørte du initdb ?

I nogle tilfælde, hvis du har problemer med at køre Postgres, skal du sørge for, at du har udført initdb kommando én gang, hvilket får Postgres til at initialisere databaseklyngen til en ny installation og giver dig mulighed for at oprette forbindelse til standard postgres bruger.


  1. Er din database sikret? Tænk igen

  2. SQL Server-tjektabel partitioneret

  3. Opdatering af JLabel via SetIcon fra bytea-datatype i postgres

  4. TypeError:'int'-objekt understøtter ikke indeksering