2016-02-17 8 views
9

Ho finalmente (pensato) installato correttamente PostgreSQL e anche de psycopg2 (utilizzo Windows). Btw, è un modo per verificare che funzioni correttamente?Impossibile eseguire il server su Django (connessione rifiutata)

Bene, il pensare ora è che non posso avviare il server, durante la digitazione 'python manage.py runserver' compare questo (alla fine del comando):

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' Ho cercato un sacco di documentazione su di esso, ad esempio in this topic, ma non riesco a trovare il modo per farlo funzionare correttamente. Ho provato diverse modifiche nei file pg_hba e postgresql, ma senza uscita. In questo momento, pg_hba assomiglia:

# 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 

e PostgreSQL conf assomiglia:

# - 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, il mio settings.py del database simile a questa:

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

Mi rifugio creato un database BTW, come dovrei farlo? Quali sono le applicazioni del prompt PostgreSQL?

Apprezzerei molto l'aiuto con questo problema Sono stato giorni di ricerca e di prova, ma senza uscita. Grazie mille.

EDIT 1: Ho provato a cambiare la porta settings.py al 5432, ma ora il messaggio di errore è lo stesso, basta cambiare la porta:

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? 

I file di configurazione sono proprio in questo modo? Dovrei cambiare qualcosa? Non riesco a trovare una risposta. Ho provato con python manage.py runserver ed entrambi indicano lo 127.0.0.1:8000 e l'8001, ma nessuna modifica nel messaggio di errore. Cosa c'è che non va? Grazie mille.

+4

Il server di sviluppo Django viene eseguito sulla porta 8000 per impostazione predefinita. Perché hai scelto la stessa porta per il tuo server PostgreSQL? Lasciare il valore predefinito (5432) e riprovare. La connessione dovrebbe essere ok senza toccare alcun file di configurazione. – Selcuk

+0

Deve essere in una directory specifica o qualcosa del genere? Appena provato ma non riesco a capire perché il messaggio di errore persiste ...grazie mille. – Jim

risposta

4

Rendi default porta a 5432

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

eseguire il comando:

python manage.py runserver 127.0.0.1:8000 
+0

Ora l'errore del messaggio include: impossibile connettersi al server: Connessione rifiutata (0x0000274D/10061) Il server è in esecuzione su host "localhost" (127.0.0.1) e accetta connessioni TCP/IP sulla porta 5432? Devo cambiare qualcosa nei file del blocco note ?? Grazie a entrambi per le risposte. – Jim

+2

'python manage.py runserver' prova questo o' python manage.py runserver 127.0.0.1: 8001' –

+0

Ciao, grazie per le risposte. Eseguo il comando e ho cambiato le porte ma il messaggio di errore è ancora lì. Connessione rifiutata ancora in corso. Ho modificato il primo post spiegando cosa succede cambiando la porta. Dovrei apportare alcune modifiche nei file di configurazione? Sto provando tutto ma non riesco a capire cosa c'è che non va ... grazie ancora a tutti – Jim

3

Ho appena avuto lo stesso problema e ho dovuto dimenticato di iniziare la mia Postgres. Aprirlo dalle mie Applicazioni e selezionare "Apri psql" ha risolto il problema.

1

Se si sta utilizzando Postgresql e si sta sviluppando su un Mac, è possibile utilizzare il comando seguente per avviare Postgresql e risolvere il problema.

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

e per fermarlo

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

Per me è stato per Postgres non essere iniziate e abilitato. Quindi ho risolto il problema nel modo seguente:

sudo systemctl start postgresql 
sudo systemctl enable postgresql