J'ai enfin (pense) installé avec succès PostgreSQL et aussi de psycopg2 (j'utilise Windows). Btw, est un moyen de vérifier que cela fonctionne correctement?
Eh bien, je pense maintenant que je ne peux pas démarrer le serveur, tandis que je tape 'python manage.py runserver', il apparaît ceci (à la fin de la commande):
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?
J'ai cherché beaucoup de documentation à ce sujet, par exemple dans cette rubrique , mais je ne trouve pas le moyen de le faire fonctionner correctement. J'ai essayé plusieurs modifications dans les fichiers pg_hba et postgresql, mais sans quitter. En ce moment, pg_hba ressemble à:
# 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
Et la conf postgresql ressemble à:
# - 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, mes settings.py de la base de données ressemblent à ceci:
DATABASES = {
'default': {
'ENGINE': 'Django.db.backends.postgresql_psycopg2',
'NAME': 'database1',
'USER': 'root',
'PASSWORD': '123456',
'Host': 'localhost',
'PORT': '8000',
}
}
Je n'ai pas créé de base de données BTW, comment dois-je le faire? Quelles sont les applications de l'invite PostgreSQL?
J'apprécierais grandement l'aide avec ce problème que j'ai cherché et essayé pendant des jours mais sans sortie. Merci beaucoup.
EDIT 1: J'ai essayé de changer le port settings.py en 5432, mais maintenant le message d'erreur est le même, il suffit de changer le 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?
Les fichiers de configuration sont-ils comme ça? Dois-je changer quelque chose? Je ne trouve pas de réponse. J'ai essayé avec python manage.py runserver
et les deux indiquant le 127.0.0.1:8000
et 8001, mais aucun changement dans le message d'erreur. Qu'est-ce qui ne va pas? Merci beaucoup.
Pour moi, c'était pour les postgres qui n'étaient pas démarrés et activés. J'ai donc résolu le problème en procédant ainsi:
Sudo systemctl start postgresql
Sudo systemctl enable postgresql
J'ai juste eu le même problème et j'avais juste oublié de démarrer mon Postgres. L'ouvrir à partir de mes applications et sélectionner "Ouvrir psql" a résolu le problème.
Définir le port par défaut sur 5432
DATABASES = {
'default': {
'ENGINE': 'Django.db.backends.postgresql_psycopg2',
'NAME': 'database1',
'USER': 'root',
'PASSWORD': '123456',
'Host': 'localhost',
'PORT': '5432',
}
}
exécutez la commande:
python manage.py runserver 127.0.0.1:8000
Si vous utilisez Postgresql et que vous développez sur un Mac, vous pouvez utiliser la commande ci-dessous pour démarrer Postgresql et cela devrait résoudre votre problème.
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
et pour l'arrêter
pg_ctl -D /usr/local/var/postgres stop -s -m fast