sql >> Databáze >  >> RDS >> PostgreSQL

Jak spustit PostgreSQL Server na Mac OS X přes Homebrew

Instalovat PostgreSQL přes Homebrew

Většina uživatelů OS X pravděpodobně zná Homebrew , ale Homebrew je správce balíčků pro OS X, který umožňuje snadnou instalaci a spouštění rozsáhlé knihovny aplikací a nástrojů.

Nebudeme procházet celým (i když krátkým) instalačním procesem Homebrew, ale pokud si chcete Homebrew nainstalovat a použít pro správu PostgreSQL, podívejte se na instalační příkaz v oficiální dokumentaci. Pokud si nejste jisti, zda je Homebrew nainstalován, vyzkoušejte which brew příkaz z terminálu k ověření.

Jakmile je Homebrew nainstalován, můžete nainstalovat PostgreSQL zadáním následujících příkazů ve vašem terminálu:

$ brew update
$ brew doctor
$ brew install postgres

První dva příkazy se používají k aktualizaci Homebrew a hlášení případných problémů (v případě potřeby). Pak samozřejmě brew install postgres je jednořádkový příkaz pro instalaci PostgreSQL.

Během instalace byste měli ve výstupu vidět spoustu užitečných informací, z nichž většinu byste si měli zkopírovat pro použití v dalších částech.

Použití LaunchAgent a plist ke spuštění PostgreSQL při spuštění

Ve většině případů budete pravděpodobně chtít, aby se při spouštění systému spustil PostgreSQL, takže budete muset svému počítači sdělit, že je to vaše přání.

Nejprve budete muset vytvořit adresář pro vaše LaunchAgents přebývat (pokud adresář již neexistuje). LaunchAgents v OS X jsou jednoduché skripty používané launchd které způsobují, že systém během spouštění spouští programy nebo kód.

Vytvořte svého user -specifické LaunchAgents adresář s tímto příkazem, je-li to nutné:

$ mkdir -p ~/Library/LaunchAgents

Nyní budete muset vytvořit symbolický odkaz ze skriptu, který skutečně umožní Postgresu spustit se na LaunchAgents adresář. Symbolický odkaz je podobný vytvoření nové kopie souboru pro použití v jiném adresáři, ale protože je odkaz „symbolický“, je odkaz pouze adresou pro přeposílání:jakýkoli požadavek na toto místo symbolického odkazu je ve skutečnosti „předán dál“ nebo přesměrováni tam, kde je skutečné soubor skutečně sídlí.

Odkaz na plist (seznam vlastností), který vygeneroval Homebrew, a umístěte tento nový symbolický odkaz do LaunchAgents pomocí tohoto příkazu:

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

Poznámka:Znovu zkontrolujte, zda je příkaz správný:Měl být součástí výše uvedeného instalačního výstupu, když Homebrew zpočátku instaloval Postgres.

Nakonec načteme nový symbolický odkaz s názvem LaunchAgent pomocí launchctl load příkaz, což je konkrétně to, co informuje počítač, aby spustil tento skript a spustil Postgres, když se počítač spustí. Opět platí, že přesný příkaz pro vaši vlastní instalaci bude výstupem během instalace Postgres společnosti Homebrew, ale měl by vypadat nějak takto:

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

Ruční spuštění PostgreSQL

Chcete-li ručně spustit Postgres bez restartu, opět byste měli být schopni použít příkaz, který byl vydán během instalace, například takto:

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

Toto se pokusí spustit Postgres v daemon režimu, což znamená, že bude spuštěn jako proces na pozadí, aniž by přebíral váš terminál.

Spuštění/zastavení PostgreSQL bez Homebrew

V případě, že nemáte (nebo nechcete používat) Homebrew pro Postgres, a přesto již máte Postgres nainstalovaný, můžete jej také spustit ručně pomocí pg_ctl , což je spouštěcí nástroj poskytovaný samotným Postgres.

Tím se spustí Postgres (za předpokladu výchozích adresářů):

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

A to Postgres zastaví:

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

Odstraňování problémů se spuštěním:Spustili jste initdb ?

V některých případech, pokud máte potíže se spuštěním Postgresu, ujistěte se, že jste spustili initdb jeden příkaz, který způsobí, že Postgres inicializuje databázový cluster pro novou instalaci a umožní vám připojit se k výchozímu postgres uživatel.


  1. Deset tipů, jak začít s PostgreSQL

  2. 2 způsoby formátování výsledků dotazu v SQLcl (Oracle)

  3. Jak mohu chránit uživatelské jméno a heslo MySQL před dekompilací?

  4. Jak mohu přidat sloupec, který nepovoluje hodnoty null v databázi Postgresql?