Как перезапустить сервер PostgreSQL на MacOS? - PullRequest
16 голосов
/ 03 ноября 2011

Я попробовал следующее, и это не удалось

bash-3.2$ pg_ctl restart
pg_ctl: no database directory specified and environment variable PGDATA unset

Я использую Macbook Pro и не помню каталог, в котором хранятся мои данные, и поэтому не могу также установить PGDATA, есть ли способ вообще перезапустить Postgres без потери данных?

Спасибо

Ответы [ 3 ]

20 голосов
/ 03 ноября 2011

Как вы хотите re - запустить Postgres Я предполагаю, что сервер уже работает.

Используя учетную запись суперпользователя, вы можете запросить местоположение каталога данных с помощью SQL:

select name, setting
from pg_settings
where name = 'data_directory'

С этой информацией вы можете передать каталог данных команде pg_ctl с помощью переключателя -D(подробности см. в руководстве)

17 голосов
/ 08 июня 2013

Если вы использовали brew, вы могли бы найти инструкции по перезапуску (запуску / остановке), выполнив brew info postgresql Некоторые возникающие проблемы связаны с тем, что я видел, что plist не загружается при запуске ОС по какой-то причине,Я всегда забывал, что делать, и это помогло.

на моем рецепте приготовления пива Postgres 9.2:

launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
10 голосов
/ 03 апреля 2017

Один вкладыш (с установкой по умолчанию postgresSql 9.6)

sudo su postgres -c "/Library/PostgreSQL/9.6/bin/pg_ctl restart -D /Library/PostgreSQL/9.6/data"

Полная версия

Получить папку pgdata (дал мне /Library/PostgreSQL/9.6/data) (спасибо @a_horse_with_no_name)

select name, setting from pg_settings where name = 'data_directory';

Для меня это возвращает '/Library/PostgreSQL/9.6/data'

Тогда

sudo su - postgres
./bin/pg_ctl restart -D /Library/PostgreSQL/9.6/data

Примечание: домашний каталог пользователя postgres должен быть "/Library/PostgreSQL/9.6"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...