У меня проблема с моей установкой postgres в моей среде разработки, и мне нужна помощь в ее диагностике. Мне еще не повезло найти решение.
- У меня установлена postgres 9.0.4 с homebrew
- Я работаю на OS X 10.6.8 (Snow Leopard)
Я могу запустить и остановить сервер
$ pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
server starting
Если я попытаюсь остановиться, хотя
$ pg_ctl -D /usr/local/var/postgres stop -s -m fast
pg_ctl: PID file "/usr/local/var/postgres/postmaster.pid" does not exist
Is server running?
Хорошо, это отсутствует
$ ls -l /usr/local/var/postgres/ | grep postmaster
$
Но он определенно работает
$ ps aux | grep postgres
pschmitz 303 0.9 0.0 2445860 1428 ?? Ss 3:12PM 0:02.46 postgres: autovacuum launcher process
pschmitz 304 0.9 0.0 2441760 428 ?? Ss 3:12PM 0:02.57 postgres: stats collector process
pschmitz 302 0.0 0.0 2445728 508 ?? Ss 3:12PM 0:00.56 postgres: wal writer process
pschmitz 301 0.0 0.0 2445728 560 ?? Ss 3:12PM 0:00.78 postgres: writer process
pschmitz 227 0.0 0.1 2445728 2432 ?? S 3:11PM 0:00.42 /usr/local/Cellar/postgresql/9.0.3/bin/postgres -D /usr/local/var/postgres -r /usr/local/var/postgres/server.log
И если я пытаюсь получить доступ или использовать его, я получаю это.
$psql
psql: FATAL: could not open relation mapping file "global/pg_filenode.map": No such file or directory
Но глобальный / pg_filenode.map определенно существует в
$ls -l /usr/local/var/postgres/
...
-rw------- 1 pschmitz staff 8192 Sep 16 15:48 pg_control
-rw------- 1 pschmitz staff 512 Sep 16 15:48 pg_filenode.map
-rw------- 1 pschmitz staff 12092 Sep 16 15:48 pg_internal.init
Я попытался удалить и переустановить безрезультатно. Любые идеи о том, как я могу решить это?
Это в значительной степени помешало мне сделать что-нибудь сегодня.
РЕДАКТИРОВАТЬ Решено
Я не уверен, что источник моей первоначальной проблемы был с 9.0.3, потому что я получал эту проблему
psql: FATAL: could not open relation mapping file "global/pg_filenode.map": No such file or directory
Однако, как указано выше, выясняется, что запущенный процесс был для моей предыдущей установки postgres 9.0.3
Мне кажется, у меня была старая версия org.postgresql.postgres.plist в ~ / Library / LaunchAgents /
Мне пришлось:
- Удалите и повторно добавьте агент запуска
- убить процессы за 9.0.3
- Инициализировать БД
initdb /usr/local/var/postgres
- Перезагрузите компьютер
и теперь у меня это работает и работает.