2013-02-19 6 views
19

У меня действительно была эта проблема на некоторое время, но я, наконец, решил принять ее. Первоначально Postgres была установлена ​​с использованием Brew.Как запустить сервер Postgres?

После моего обновления до OSX 10.8.2, чтобы получить ошибку

psql: could not connect to server: No such file or directory 
    Is the server running locally and accepting 
    connections on Unix domain socket "/tmp/.s.PGSQL.5432"? 

, когда я набрал команду

$ psql 

.

Я вижу следующие процессы:

$ ps auxw | grep post 
Tulsa   59222 0.0 0.2 2483256 14808 ?? Ss Thu03PM 0:02.61 /System/Library/PrivateFrameworks/DiskImages.framework/Resources/diskimages-helper -uuid 470DA5CC-1602-4D69-855F-F365A6512F90 -post-exec 4 
Tulsa   57940 0.0 0.2 2498852 13648 ?? Ss Wed10PM 0:00.61 /System/Library/PrivateFrameworks/DiskImages.framework/Resources/diskimages-helper -uuid FAFAAAB4-0F67-42C8-864E-EF8C31A42EE3 -post-exec 4 
root   24447 0.0 0.1 2476468 10080 ?? Ss 8Feb13 0:03.40 /System/Library/PrivateFrameworks/DiskImages.framework/Resources/diskimages-helper -uuid CC768720-12C2-436C-9020-548C275A6B0C -post-exec 4 
Tulsa   74224 0.0 0.0 2432768 596 s002 R+ 7:24PM 0:00.00 grep post 


$ which psql 
/usr/local/bin/psql 

$ pg_ctl start 
pg_ctl: no database directory specified and environment variable PGDATA unset 
Try "pg_ctl --help" for more information. 
+28

У меня нет ни малейшего понятия, что это такое, но название бесценно ... +1 –

+4

@retailcoder: Кажется, он должен * быть «Обновление OS/X разрушает мою жизнь». –

+2

Я уверен, что '-post-exec' не имеет * ничего, что связано с PostgreSQL. Таким образом, сервер не работает локально. В Linux его процессы можно найти с помощью 'ps aux | grep postgres'. Я был бы немного удивлен, если бы это было по-разному в OS/X. Сделайте то, что вам говорит pg_ctl. –

ответ

24

Вы не запустили сервер Postgres. Некоторые из пакетов dmg для Postgres устанавливают его для запуска в качестве службы при запуске. Но, тем не менее, вы сделали установку.

Вам необходимо создать каталог данных, запустить postgres, а затем перейти оттуда.

initdb /some/directory # just do this ONCE 
pg_ctl -D /some/directory start # many other options, e.g. logging, available here 
psql postgres 

Вы можете установить переменные окружения для каталога данных, и вы не будете нуждаться в -D флаге позже. Вы можете посмотреть это позже.

+1

Да, но какой каталог ??? – Michael

+0

@Michael Любой каталог, который вы хотите, в зависимости от настройки вашего жесткого диска. –

+47

Ненавижу подобные ответы. Если бы я знал, какой каталог был хорошим выбором, то, вероятно, я бы не стал копировать код из S.O. Как трудно добавить «любой каталог, ** EG: **'/usr/local/var/postgres' ». – Sinetheta

Смежные вопросы