2016-02-17 33 views
9

Ich endlich (denke) erfolgreich installiert PostgreSQL und auch de psycopg2 (ich benutze Windows). Btw, ist eine Möglichkeit zu überprüfen, ob es richtig funktioniert?Kann den Server nicht auf Django laufen lassen (Verbindung abgelehnt)

Nun, jetzt die denken, ist, dass ich den Server nicht starten kann, während ich 'Python manage.py runserver' geben sie dies erscheint (am Ende des Befehls):

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? 

I‘ Ich habe viel Dokumentation darüber gesucht, zum Beispiel in this topic, aber ich finde nicht den Weg, um es richtig funktionieren zu lassen. Ich habe einige Änderungen in den Dateien pg_hba und postgresql versucht, aber ohne Ausgang. In diesem Moment sieht pg_hba wie:

# 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 

Und postgresql conf wie folgt aussieht:

# - 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, meine settings.py der Datenbank wie folgt aussehen:

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

I haven 't erstellt eine Datenbank BTW, wie soll ich es tun? Was sind die Anwendungen der PostgreSQL-Eingabeaufforderung?

Ich würde sehr schätzen, Hilfe mit diesem Problem, das ich seit Tagen gesucht und versucht habe, aber ohne Ausgang. Vielen Dank.

EDIT 1: Ich versuchte, den settings.py Port 5432 zu ändern, aber jetzt ist die Fehlermeldung ist die gleiche, nur die Änderung der Port:

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? 

Die Konfigurationsdateien befinden sich direkt auf diese Weise? Sollte ich etwas ändern? Ich kann keine Antwort finden. Ich versuchte mit python manage.py runserver und beide, die die 127.0.0.1:8000 und 8001 anzeigen, aber keine Änderungen in der Fehlermeldung. Was läuft falsch? Vielen Dank.

+4

Django Entwicklungsserver läuft auf Port 8000 standardmäßig. Warum haben Sie den gleichen Port für Ihren PostgreSQL-Server gewählt? Belassen Sie einfach die Standardeinstellung (5432) und versuchen Sie es erneut. Die Verbindung sollte in Ordnung sein, ohne irgendwelche Konfigurationsdateien zu berühren. – Selcuk

+0

Muss es in einem bestimmten Verzeichnis oder etwas sein? Gerade versucht, aber kann nicht herausfinden, warum die Fehlermeldung weiter besteht ...ich danke dir sehr. – Jim

Antwort

4

Make-Port standardmäßig auf 5432

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

führen Sie den Befehl:

python manage.py runserver 127.0.0.1:8000 
+0

Der Nachrichtenfehler enthält nun: Verbindung zum Server konnte nicht hergestellt werden: Verbindung abgelehnt (0x0000274D/10061) Wird der Server auf dem Host "localhost" (127.0.0.1) ausgeführt und akzeptiert er TCP/IP-Verbindungen an Port 5432? Sollte ich etwas in den Notepad-Dateien ändern? Danke euch beiden für die Antworten. – Jim

+2

'Python manage.py runserver' versuchen Sie dies oder' python manage.py runserver 127.0.0.1: 8001' –

+0

Hallo, danke für die Antworten. Ich habe den Befehl ausgeführt und die Ports geändert, aber die Fehlermeldung ist immer noch da. Die Verbindung wurde noch immer verweigert. Ich habe den ersten Beitrag bearbeitet, der erklärt, was passiert, wenn der Port geändert wird. Sollte ich Änderungen an den Konfigurationsdateien vornehmen? Ich versuche alles, aber ich kann nicht herausfinden, was los ist ... Vielen Dank nochmal – Jim

3

Ich hatte gerade das gleiche Problem, und ich hatte nur vergessen mein Postgres zu starten. Öffnen Sie es von meinen Anwendungen und wählen Sie "Open psql" löste das Problem.

1

Wenn Sie Postgresql verwenden und auf einem Mac entwickeln, können Sie den folgenden Befehl verwenden, um Postgresql zu starten, und es sollte Ihr Problem beheben.

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

und es

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

für mich zu stoppen es für Postgres war nicht gestartet wird und aktiviert ist. So habe ich das Problem damit gelöst:

sudo systemctl start postgresql 
sudo systemctl enable postgresql 
Verwandte Themen