2013-06-18 7 views
0

Установлен postgresql и (я думаю) pyscopg2. Я хочу запустить postgresql с помощью django. Я попробовал команду «createdb mydb», и я получил сообщение об ошибке, показанное ниже. Что мне делать?Установка postgresql для Django

не удалось подключиться к базе данных Postgres:

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"? 

Я бегу Mac OSX 10.8.2.

Когда я набираю в ps auwwx|grep postg я получаю:

robbie   27589 0.0 0.0 2443176 1528 ?? Ss 7:25am 0:00.01 postgres: autovacuum launcher process  
robbie   27588 0.0 0.0 2443044 552 ?? Ss 7:25am 0:00.01 postgres: wal writer process  
robbie   27587 0.0 0.0 2443044 592 ?? Ss 7:25am 0:00.16 postgres: writer process  
robbie   27586 0.0 0.0 2443044 612 ?? Ss 7:25am 0:00.00 postgres: checkpointer process  
robbie   27584 0.0 0.1 2443044 3524 ?? S  7:25am 0:00.02 /usr/local/opt/postgresql/bin/postgres -D /usr/local/var/postgres -r /usr/local/var/postgres/server.log 
robbie   27626 0.0 0.0 2423572  24 s000 S+ 7:36am 0:00.00 grep postg 
robbie   27590 0.0 0.0 2439324 444 ?? Ss 7:25am 0:00.01 postgres: stats collector process 

Когда я набираю в psql -V I ПОЛУЧАЕТЕ: psql (PostgreSQL) 9.1.4 Когда я набираю в which psql я получаю: /usr/bin/psql

+1

Как говорится в сообщении об ошибке.Используется ваш экземпляр postgresql? В какой среде вы работаете? – kanishk

+0

См. Обновленный вопрос. – user2104778

+0

Вы пробовали подключиться через psql? как psql -U user databse_name – kanishk

ответ

1

Вы можете подключить 2 различными способами для PostgreSQL :

  1. Unix розетки. Это специальные файлы в вашей файловой системе, которые процесс может записывать и читать.
  2. TCP-сокеты, основная цель которых заключается в разрешении межмашинной связи поверх интернет-протокола, но это очень хорошо можно использовать для подключения 2 процессов на одном компьютере.

Сообщение об ошибке, которое вы получаете, сообщает вам, что Django попытался использовать метод one, ища специальный файл, представляющий собой Unix-сокет, но не получился. Весьма вероятно, что ваш экземпляр PostgreSQL прослушивает TCP-сокеты вместо Unix-сокетов. Чтобы убедиться в этом, попробуйте подключиться к PostgreSQL с помощью клиенту в psql командной строке, как это:

psql -h localhost -U user databse_name 

Если вы успешно, то вы можете настроить Django для подключения к локальному через TCP сокеты, установив HOST ключ в settings.py file:

DATABASES = { 
    'default': { 
    [...] 
     'HOST': 'localhost', 
    [...] 
    } 
} 
+0

Я пробовал код psql выше и получил эту ошибку: psql: FATAL: роль «пользователь» не существует – user2104778

+0

Вам необходимо адаптировать эту команду в свой собственный контекст. Замените пользователя именем созданного вами пользователя PostgreSQL и именем базы данных по имени вашей собственной базы данных. Кажется, вы новичок как с Django, так и с PostgreSQL. Я бы порекомендовал вам немного узнать PostgreSQL, прежде чем пытаться подключить его к Django: http://www.postgresql.org/docs/9.2/static/tutorial.html –

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