2016-02-17 4 views
9

Я наконец-то (думаю) успешно установил PostgreSQL, а также psycopg2 (я использую Windows). Кстати, есть способ проверить правильность работы?Не удается запустить сервер на Django (соединение было отклонено)

Ну, думаю теперь, что я не могу запустить сервер, в то время как я типа «питон manage.py runserver» кажется это (в конце команды):

conn = _connect(dsn, connection_factory=connection_factory, async=async) 
django.db.utils.OperationalError: could not connect to server: Connection refused (0x0000274D/10061) 
    Is the server running on host "localhost" (::1) and accepting 
    TCP/IP connections on port 8000? 
could not connect to server: Connection refused (0x0000274D/10061) 
    Is the server running on host "localhost" (127.0.0.1) and accepting 
    TCP/IP connections on port 8000? 

Я вы искали много документации об этом, например in this topic, но я не могу найти способ заставить его работать должным образом. Я пробовал несколько изменений в файлах pg_hba и postgresql, но без выхода. В этот момент, pg_hba выглядит следующим образом:

# TYPE DATABASE  USER   ADDRESS     METHOD 

# IPv4 local connections: 
host all    all    127.0.0.1   md5 
# IPv6 local connections: 
host all    all    127.0.0.1   md5 
# Allow replication connections from localhost, by a user with the 
# replication privilege. 
#host replication  postgres  127.0.0.1/32   md5 
#host replication  postgres  ::1/128     md5 

И конф PostgreSQL выглядит следующим образом:

# - Connection Settings - 

listen_addresses = 'localhost'  # what IP address(es) to listen on; 
       # comma-separated list of addresses; 
       # defaults to 'localhost'; use '*' for all 
       # (change requires restart) 
port = 8000    # (change requires restart) 
max_connections = 100   # (change requires restart) 
# Note: Increasing max_connections costs ~400 bytes of shared memory per 
# connection slot, plus lock space (see max_locks_per_transaction). 
#superuser_reserved_connections = 3 # (change requires restart) 
#unix_socket_directories = '' # comma-separated list of directories 
       # (change requires restart) 
#unix_socket_group = ''   # (change requires restart) 
#unix_socket_permissions = 0777  # begin with 0 to use octal notation 
       # (change requires restart) 
#bonjour = off    # advertise server via Bonjour 
       # (change requires restart) 
#bonjour_name = ''   # defaults to the computer name 

Btw, мой settings.py базы данных выглядит следующим образом:

DATABASES = { 
'default': { 
    'ENGINE': 'django.db.backends.postgresql_psycopg2', 
    'NAME': 'database1',      
    'USER': 'root', 
    'PASSWORD': '123456', 
    'HOST': 'localhost', 
    'PORT': '8000', 
    } 
} 

Я убежище 't создал базу данных BTW, как мне это сделать? Каковы приложения подсказки PostgreSQL?

Я был бы очень признателен за помощь в решении этой проблемы. Я искал и пытался поискать дни, но без выхода. Большое спасибо.

EDIT 1: Я попытался изменить settings.py порт 5432, но теперь сообщение об ошибке такое же, только изменяя порт:

could not connect to server: Connection refused (0x0000274D/10061) 
    Is the server running on host "localhost" (127.0.0.1) and accepting 
    TCP/IP connections on port 5432? 

файлы конфигурации прав таким образом? Должен ли я что-то изменить? Я не могу найти ответ. Я пробовал с python manage.py runserver, и оба указали 127.0.0.1:8000 и 8001, но никаких изменений в сообщении об ошибке. Что случилось? Большое спасибо.

+4

Сервер разработки Django работает по умолчанию на порту 8000. Почему вы выбрали один и тот же порт для вашего сервера PostgreSQL? Просто оставьте значение по умолчанию (5432) и повторите попытку. Соединение должно быть в порядке, не касаясь каких-либо файлов конфигурации. – Selcuk

+0

Должно ли это быть в определенном каталоге или что-то в этом роде? Просто попытался, но не могу понять, почему сообщение об ошибке сохраняется ...Спасибо большое. – Jim

ответ

4

Сделать порт по умолчанию 5432

DATABASES = { 
'default': { 
    'ENGINE': 'django.db.backends.postgresql_psycopg2', 
    'NAME': 'database1',      
    'USER': 'root', 
    'PASSWORD': '123456', 
    'HOST': 'localhost', 
    'PORT': '5432', 
    } 
} 

запустить команду:

python manage.py runserver 127.0.0.1:8000 
+0

В настоящее время ошибка сообщения включает в себя: Не удалось подключиться к серверу: Соединение отклонено (0x0000274D/10061) Работает ли сервер на хосте «localhost» (127.0.0.1) и принимает TCP/IP-соединения на порт 5432? Должен ли я что-то изменить в файлах блокнота? Спасибо вам за ответы. – Jim

+2

'python manage.py runningerver' попробуйте это или' python manage.py runningerver 127.0.0.1: 8001' –

+0

Привет, спасибо за ответы. Я запускаю команду и меняю порты, но сообщение об ошибке все еще там. Соединение отказалось, все еще происходит. Я отредактировал первое сообщение, объясняющее, что происходит при смене порта. Должен ли я внести некоторые изменения в файлы конфигурации? Я пытаюсь все, но не могу понять, что не так ... спасибо вам снова – Jim

3

Я просто была такая же проблема, и я просто забыл, чтобы начать свои Postgres. Открыв его из моих приложений и выбрав «Open psql», решила проблему.

1

Если вы используете Postgresql и разрабатываете на Mac, вы можете использовать следующую команду, чтобы запустить Postgresql, и она должна исправить вашу проблему.

pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start 

и остановить его

pg_ctl -D /usr/local/var/postgres stop -s -m fast 
0

Для меня это было для Postgres не начался и включен. Поэтому я решил проблему, выполнив следующие действия:

sudo systemctl start postgresql 
sudo systemctl enable postgresql 
Смежные вопросы