Bitte beachten Sie, dass ich im gesamten Web einige ähnliche Fragen zu Stapelüberlauf und Artikeln gefunden habe, aber keine davon hat mir geholfen, mein Problem zu beheben:
- PG-Fehler konnte keine Verbindung zum Server herstellen: Verbindung abgelehnt Läuft der Server auf Port 5432?
- PG :: ConnectionBad - Verbindung zum Server konnte nicht hergestellt werden: Verbindung abgelehnt
- psql: Verbindung zum Server konnte nicht hergestellt werden: Verbindung abgelehnt
Hier ist das Problem:
- Ich habe eine Rails-App, die wie ein Zauber funktioniert.
- Mit meinem Mitarbeiter arbeiten wir mit GitHub zusammen.
- Wir haben eine
master
und einemvp
Niederlassung. - Ich habe kürzlich meine
git
Version mit Homebrew (Mac) aktualisiert . - Wir verwenden Foreman, um unsere App lokal zu starten.
Wenn ich jetzt versuche, die App lokal zu starten, wird folgende Fehlermeldung angezeigt:
PG::ConnectionBad at /
could not connect to server: Connection refused
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
Ich habe mehrmals versucht, meine Computer neu zu starten.
Ich habe auch den Inhalt überprüft von /usr/local/var/postgres
:
PG_VERSION pg_dynshmem pg_multixact pg_snapshots pg_tblspc postgresql.conf
base pg_hba.conf pg_notify pg_stat pg_twophase postmaster.opts
global pg_ident.conf pg_replslot pg_stat_tmp pg_xlog server.log
pg_clog pg_logical pg_serial pg_subtrans postgresql.auto.conf
Wie Sie sehen können, befindet sich dort keine postmaster.pid
Datei.
Irgendeine Idee, wie ich das beheben könnte?
ruby-on-rails
ruby
postgresql
ruby-on-rails-3
ruby-on-rails-4
Thibaud Clement
quelle
quelle
postgresql.conf
?Antworten:
Die Batterie ist höchstwahrscheinlich leer und Ihr Postgresql-Server wurde nicht richtig heruntergefahren.
Die einfachste Lösung besteht darin, die offizielle postgresql-App herunterzuladen und zu starten: Dadurch wird der Server zum Starten gezwungen ( http://postgresapp.com/ ).
quelle
git fetch
, vielleicht ist das das Problem.laufen
postgres -D /usr/local/var/postgres
und du solltest so etwas sehen wie:FATAL: lock file "postmaster.pid" already exists HINT: Is another postmaster (PID 379) running in data directory "/usr/local/var/postgres"?
Führen Sie dann
kill -9 PID
TIPP ausUnd du solltest gut gehen.
quelle
brew services start postgres
oderbrew services restart postgres
den Trick machen könntenHöchstwahrscheinlich liegt es daran, dass Ihr System unerwartet heruntergefahren wurde
Versuchen
postgres -D /usr/local/var/postgres
Sie könnten sehen
Dann versuche es
kill -9 PID
Beispiel
kill -9 419
Und es sollte normal mit Postgres beginnen
quelle
Der Postgresql-Server ist möglicherweise ausgefallen und die Lösung ist möglicherweise so einfach wie das Ausführen:
sudo service postgresql start
das hat das Problem für mich behoben.
quelle
Ich hatte fast den gleichen Fehler mit meiner Ruby on Rails-Anwendung, auf der postgresql (mac) ausgeführt wurde. Das hat bei mir funktioniert:
quelle
Das hat in meinem Fall funktioniert:
brew uninstall postgresql rm -fr /usr/local/var/postgres/ brew install postgresql
quelle
Dies kann durch die für Postgres erstellte PID-Datei verursacht werden, die aufgrund eines unerwarteten Herunterfahrens nicht gelöscht wurde. Um dies zu beheben, entfernen Sie diese PID-Datei.
Suchen Sie das Datenverzeichnis von postgres. Auf einem MAC, der Homebrew verwendet
/usr/local/var/postgres/
, handelt es sich möglicherweise um andere Systeme/usr/var/postgres/
Entfernen Sie die PID-Datei, indem Sie Folgendes ausführen:
rm postmaster.pid
Postgress neu starten. Führen Sie auf dem Mac Folgendes aus:
quelle
Ich habe das Problem über diesen Befehl behoben
pg_ctl -D /usr/local/var/postgres start
Manchmal kann dieser Fehler auftreten
pg_ctl: another server might be running; trying to start server anyway
Versuchen Sie also, den folgenden Befehl auszuführen, und führen Sie dann den ersten oben angegebenen Befehl aus.
pg_ctl -D /usr/local/var/postgres stop
quelle
Das hat bei mir funktioniert: renn
sudo lsof -i :<port_number>
Danach wird die PID angezeigt, die derzeit an den Prozess angehängt ist.
Nach diesem Lauf
sudo kill -9 <PID>
Wenn das nicht funktioniert, probieren Sie die von user8376606 angebotene Lösung aus, es würde definitiv funktionieren!
quelle
Wenn Sie Postgresql unter Linux neu starten möchten, müssen Sie den folgenden Befehl verwenden.
/etc/init.d/postgresql restart
quelle
Zuerst habe ich es versucht
Zweitens habe ich es versucht
Also habe ich meinen Mac neu gestartet, um alle Ports wiederherzustellen, und es hat bei mir funktioniert.
quelle
Für Docker- Benutzer: In meinem Fall wurde dies durch eine übermäßige Docker-Bildgröße verursacht. Sie können nicht verwendete Daten mit dem folgenden
prune
Befehl entfernen :docker system prune --all --force --volumes
Warnung: gemäß Handbuch (
docker system prune --help
):quelle
Ich stoße häufig auf dieses Problem unter Windows. Die Art und Weise, wie ich das Problem gelöst habe, ist Service - Klicken Sie auf PostgreSQL Database Server 8.3 - Klicken Sie auf die zweite Registerkarte "Anmelden" - wählen Sie die erste Zeile "Das lokale Systemkonto".
quelle
Es gibt auch den gleichen Fehler, wenn Sie nur Ihre PostgreSQL-App stoppen. Sie müssen es nur erneut starten. (PostgreSQL 11)
quelle
Ich hatte das gleiche Problem und konnte den postgresql-Server nicht starten und konnte auch nach Eingabe des Kennworts nicht auf meine Datenbank zugreifen. Ich habe alle möglichen Methoden ausgeführt.
Diese Lösung hat bei mir funktioniert,
Für die Ubuntu-Benutzer: Geben Sie über die Befehlszeile die folgenden Befehle ein:
1.service --status-all (gibt eine Liste aller Dienste und deren Status an. Dabei bezieht sich "+" auf die Ausführung und "-" darauf, dass der Dienst nicht mehr ausgeführt wird).
Überprüfen Sie den Postgresql-Status. Wenn "-" angezeigt wird, geben Sie den folgenden Befehl ein
2.systemctl start postgresql (startet den Server erneut)
Aktualisieren Sie die Postgresql-Seite im Browser, und es funktioniert
Für die Windows-Benutzer:
Suchen Sie nach Diensten, wo wir eine Liste der Dienste sehen können und klicken Sie mit der rechten Maustaste auf postgresql, klicken Sie auf Start und der Server funktioniert einwandfrei.
quelle
In meinem Fall
Führen Sie => service.msc => Neustart aus
quelle
Schritt 1:
cd /etc/postgresql/12/main/
Datei mit dem Namen öffnen
postgresql.conf
sudo nano postgresql.conf
Fügen Sie diese Zeile zu dieser Datei hinzu
listen_addresses = '*'
Öffnen Sie dann die Datei mit dem Namen
pg_hba.conf
sudo nano pg_hba.conf
und fügen Sie diese Zeile zu dieser Datei hinzu
host all all 0.0.0.0/0 md5
Es ermöglicht allen Benutzern mit einem verschlüsselten Passwort den Zugriff auf alle Datenbanken
Starten Sie Ihren Server neu
sudo /etc/init.d/postgresql restart
quelle