Инсталирайте PostgreSQL чрез Homebrew
Вероятно повечето потребители на OS X знаят за Homebrew
, но Homebrew е мениджър на пакети за OS X, който ви позволява лесно да инсталирате и стартирате огромна библиотека от приложения и помощни програми с лекота.
Няма да преминем през целия (макар и кратък) процес на инсталиране на Homebrew, но ако искате да инсталирате Homebrew и да го използвате за управление на PostgreSQL, вижте командата за инсталиране в официалната документация. Ако не сте сигурни дали Homebrew е инсталиран, опитайте which brew
команда от терминала за проверка.
След като Homebrew бъде инсталиран, можете да инсталирате PostgreSQL, като издадете следните команди във вашия терминал:
$ brew update
$ brew doctor
$ brew install postgres
Първите две команди се използват за актуализиране на Homebrew и докладване на евентуални проблеми (ако е необходимо). След това, разбира се, brew install postgres
е едноредовата команда за инсталиране на PostgreSQL.
Трябва да видите много полезна информация в изхода по време на инсталацията, голяма част от която трябва да бъде копирана за използване в следващите раздели.
Използване на LaunchAgent и plist за стартиране на PostgreSQL при стартиране
В повечето случаи вероятно ще искате да стартирате PostgreSQL, когато стартирате системата си, така че ще трябва да кажете на компютъра си, че това е вашето желание.
Първо, ще трябва да създадете директория за вашите LaunchAgents
да пребивава (ако директорията вече не съществува). LaunchAgents
в OS X са прости скриптове, използвани от launchd
които карат системата да стартира програми или код по време на стартиране.
Създайте своя user
-специфични LaunchAgents
директория с тази команда, ако е необходимо:
$ mkdir -p ~/Library/LaunchAgents
Сега ще трябва да създадете символна връзка от скрипта, която всъщност позволява на Postgres да работи към LaunchAgents
директория. Символичната връзка е подобна на създаването на ново копие на файл за използване в друга директория, но тъй като връзката е „символична“, връзката е просто адрес за препращане:всяка заявка, направена до това местоположение на символната връзка, всъщност се „препраща“ или пренасочени до истинските файлът всъщност се намира.
Връзка към plist
(списък със свойства), който е генериран от Homebrew и поставете тази нова символна връзка в LaunchAgents
с тази команда:
$ ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents
Забележка:Проверете отново дали командата е правилна:би трябвало да е част от инсталационния изход, споменат по-горе, когато Homebrew е инсталирал Postgres първоначално.
Накрая зареждаме новата символична връзка LaunchAgent
файл с помощта на launchctl load
команда, която е конкретно това, което информира компютъра да изпълни този скрипт и да стартира Postgres, когато компютърът се стартира. Отново, точната команда, която трябва да въведете за вашата собствена инсталация, ще бъде изход по време на инсталацията на Homebrew Postgres, но трябва да изглежда нещо подобно:
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
Ръчно стартиране на PostgreSQL
За да стартирате ръчно Postgres без рестартиране, отново трябва да можете да използвате командата, изведена по време на инсталацията, както следва:
$ postgres -D /usr/local/var/postgres
Това ще се опита да стартира Postgres в daemon
режим, което означава, че ще се изпълнява като фонов процес, без да поема вашия терминал.
Стартиране/Спри PostgreSQL без Homebrew
В случай, че нямате (или не желаете да използвате) Homebrew за Postgres, но вече имате инсталиран Postgres, можете също ръчно да го стартирате с pg_ctl
, което е помощната програма за стартиране, предоставена от самия Postgres.
Това ще стартира Postgres (приемайки директории по подразбиране):
$ pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
И това ще спре Postgres:
pg_ctl -D /usr/local/var/postgres stop -s -m fast
Отстраняване на неизправности при стартиране:Изпълнихте ли initdb
?
В някои случаи, ако имате проблеми с стартирането на Postgres, уверете се, че сте изпълнили initdb
команда еднократно, което кара Postgres да инициализира клъстера на базата данни за нова инсталация и ви позволява да се свържете с postgres
по подразбиране потребител.