Как перезапустить сервер PostgreSQL на MacOS?
Я попробовал следующее и не получилось
bash-3.2$ pg_ctl restart
pg_ctl: no database directory specified and environment variable PGDATA unset
Я использую Macbook Pro
и не помню каталог, где хранятся мои данные, и поэтому не может установить PGDATA, есть ли способ перезапуска Postgres вообще без потери данных?
Спасибо
Ответы
Ответ 1
Как вы хотите re -start Postgres Я предполагаю, что сервер уже запущен.
Используя учетную запись суперпользователя, вы можете запросить расположение каталога данных через SQL:
select name, setting
from pg_settings
where name = 'data_directory'
С помощью этой информации вы можете предоставить каталог данных команде pg_ctl с помощью переключателя -D
(подробнее см. руководство)
Ответ 2
Если вы использовали brew
, вы можете найти инструкции для перезапуска (start | stop), выполнив brew info postgresql
Некоторые проблемы, которые происходят из-за того, что я видел, что plist не загружается при запуске ОС по какой-либо причине, Я всегда забывал, что делать, и это помогло.
в моем рецепте Postgres 9.2 brew, который у него был:
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
Ответ 3
Один вкладыш (с установкой по умолчанию 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"