it-swarm.com.de

Postgres konnte keine Verbindung zum Server herstellen

Nachdem ich das Update und das Upgrade durchgeführt hatte, hatten meine Postgres ein Problem. Ich habe versucht, postgres zu deinstallieren und erneut zu installieren, aber es hat nicht so gut funktioniert.

Dies ist die Fehlermeldung. (Diese Fehlermeldung wird auch angezeigt, wenn ich versuche, "rake db: migrate" auszuführen.)

$ psql
psql: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

Wie kann ich das lösen?

Mac-Version: Berglöwe.

homebrew-Version: 0.9.3

postgres version: psql (PostgreSQL) 9.2.1

Und das habe ich getan.

12:30 ~/D/works$ brew uninstall postgresql
Uninstalling /usr/local/Cellar/postgresql/9.2.1...
12:31 ~/D/works$ brew uninstall postgresql
Uninstalling /usr/local/Cellar/postgresql/9.1.4...
12:31 ~/D/works$ psql --version
bash: /usr/local/bin/psql: No such file or directory
12:33 ~/D/works$ brew install postgresql
==> Downloading http://ftp.postgresql.org/pub/source/v9.2.1/postgresql-9.2.1.tar.bz2
Already downloaded: /Library/Caches/Homebrew/postgresql-9.2.1.tar.bz2
......
......
==> Summary
/usr/local/Cellar/postgresql/9.2.1: 2814 files, 38M, built in 2.7 minutes
12:37 ~/D/works$ initdb /usr/local/var/postgres -E utf8
The files belonging to this database system will be owned by user "laigary".
This user must also own the server process.

The database cluster will be initialized with locale "en_US.UTF-8".
The default text search configuration will be set to "english".

initdb: directory "/usr/local/var/postgres" exists but is not empty
If you want to create a new database system, either remove or empty
the directory "/usr/local/var/postgres" or run initdb
with an argument other than "/usr/local/var/postgres".
12:39 ~/D/works$ mkdir -p ~/Library/LaunchAgents
12:39 ~/D/works$   cp /usr/local/Cellar/postgresql/9.2.1/homebrew.mxcl.postgresql.plist ~/Library/LaunchAgents/
12:39 ~/D/works$   launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
homebrew.mxcl.postgresql: Already loaded
12:39 ~/D/works$ pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
server starting
12:39 ~/D/works$ env ARCHFLAGS="-Arch x86_64" gem install pg
Building native extensions.  This could take a while...
Successfully installed pg-0.14.1
1 gem installed
12:42 ~/D/works$ psql --version
psql (PostgreSQL) 9.2.1
12:42 ~/D/works$ psql
psql: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

Nachdem ich howbrew neu installiert habe und $ psql verwende, wird keine Fehlermeldung angezeigt.

Aber ich starte rake db:migrate in meiner Rails App, es zeigt:

could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/postgresql_adapter.rb:1213:in `initialize'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/postgresql_adapter.rb:1213:in `new'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/postgresql_adapter.rb:1213:in `connect'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/postgresql_adapter.rb:329:in `initialize'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/postgresql_adapter.rb:28:in `new'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/postgresql_adapter.rb:28:in `postgresql_connection'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:309:in `new_connection'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:319:in `checkout_new_connection'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:241:in `block (2 levels) in checkout'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:236:in `loop'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:236:in `block in checkout'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:233:in `checkout'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:96:in `block in connection'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:95:in `connection'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:404:in `retrieve_connection'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_specification.rb:170:in `retrieve_connection'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_specification.rb:144:in `connection'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/railties/databases.rake:107:in `rescue in create_database'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/railties/databases.rake:51:in `create_database'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/railties/databases.rake:40:in `block (3 levels) in <top (required)>'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/railties/databases.rake:40:in `each'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/gems/1.9.1/gems/activerecord-3.2.8/lib/active_record/railties/databases.rake:40:in `block (2 levels) in <top (required)>'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/1.9.1/rake/task.rb:205:in `call'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/1.9.1/rake/task.rb:205:in `block in execute'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/1.9.1/rake/task.rb:200:in `each'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/1.9.1/rake/task.rb:200:in `execute'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/1.9.1/rake/task.rb:158:in `block in invoke_with_call_chain'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/1.9.1/rake/task.rb:151:in `invoke_with_call_chain'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/1.9.1/rake/task.rb:144:in `invoke'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/1.9.1/rake/application.rb:116:in `invoke_task'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/1.9.1/rake/application.rb:94:in `block (2 levels) in top_level'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/1.9.1/rake/application.rb:94:in `each'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/1.9.1/rake/application.rb:94:in `block in top_level'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/1.9.1/rake/application.rb:133:in `standard_exception_handling'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/1.9.1/rake/application.rb:88:in `top_level'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/1.9.1/rake/application.rb:66:in `block in run'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/1.9.1/rake/application.rb:133:in `standard_exception_handling'
/usr/local/Cellar/Ruby/1.9.3-p327/lib/Ruby/1.9.1/rake/application.rb:63:in `run'
/usr/local/bin/rake:32:in `<main>'
Couldn't create database for {"adapter"=>"postgresql", "encoding"=>"unicode", "database"=>"riy_development", "pool"=>5, "username"=>nil, "password"=>nil}

Endlich finde ich die Lösung.

$ Sudo mkdir /var/pgsql_socket/
$ Sudo ln -s /private/tmp/.s.PGSQL.5432 /var/pgsql_socket/

Diese Lösung ist zwar etwas knifflig, funktioniert aber. Hoffe jemand hat eine bessere Lösung

pdate

Das funktioniert auch bei mir.

rm /usr/local/var/postgres/postmaster.pid
370
Gary Lai

Hatte ein ähnliches Problem; Eine PID-Datei blockierte den Start von Postgres. Etwas reparieren:

rm /usr/local/var/postgres/postmaster.pid

und dann ist alles gut.

733
jonathanpberger

Dies kann manchmal ein Problem bei einem Postgres-Upgrade sein.

In meinem Fall geschah dies beim Upgrade von 9.3 auf 9.4.

Siehe http://www.postgresql.org/docs/9.4/static/upgrading.html

OS X/Homebrew:

Versuchen Sie es mit postgres -D /usr/local/var/postgres - es liefert eine viel ausführlichere Ausgabe, wenn postgres nicht startet.

In meinem Fall hat das Ausführen von rm -rf /usr/local/var/postgres && initdb /usr/local/var/postgres -E utf8 meine alten Datenbanken entfernt und dann das DB-Schema postgres neu initialisiert.

Vielen Dank an https://github.com/Homebrew/homebrew/issues/3524 für diese Lösung.

Nach der Neuerstellung meiner Datenbanken (mit rake db:create) hat alles wieder funktioniert.

228
FreePender

Hier wurde eine Lösung gefunden, die für mich funktioniert:

https://dba.stackexchange.com/questions/75214/psql-could-not-connect-to-server-no-such-file-or-directory

Grundsätzlich führen Sie den folgenden Befehl aus, um den Server manuell zu starten:

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

Wenn das Installieren und Deinstallieren von postgres mit brew bei Ihnen nicht funktioniert, lesen Sie die Protokolle Ihrer postgresql-Installation oder:

postgres -D /usr/local/var/postgres

wenn Sie diese Art von Ausgabe sehen:

LOG:  skipping missing configuration file "/usr/local/var/postgres/postgresql.auto.conf"
FATAL:  database files are incompatible with server
DETAIL:  The data directory was initialized by PostgreSQL version 9.4, which is not compatible with this version 9.6.1.

Dann versuchen Sie folgendes:

rm -rf /usr/local/var/postgres && initdb /usr/local/var/postgres -E utf8

Dann starte den Server:

pg_ctl -D /usr/local/var/postgres -l logfile start

Quelle

32
SsouLlesS

Wenn in Yosemite die pid-Datei den Start von Postgres blockiert und ein launchctl -Dämon versucht (und fehlschlägt), die Datenbank-Dämonen zu laden, müssen Sie die plist-Datei entladen:

$ launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

Dann entfernen Sie die PID-Datei

$ rm /usr/local/var/postgres/postmaster.pid

Laden Sie dann den Daemon launchctl neu

$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
32
Ryan Atallah

Wenn Sie dies lesen und Postgres.app verwenden, benötigen Sie möglicherweise Host: localhost in Ihrer database.yml. http://postgresapp.com/documentation#toc_

28
David Winiecki
brew services start postgres 

arbeitete für mich!

18
rld

Ein Upgrade der Datenbank funktioniert bei mir

brew postgresql-upgrade-database

18
Tomer G

Überprüfen Sie, ob die Socket-Datei vorhanden ist.

$ ls -l /tmp/.s.PGSQL.5432
srwxrwxrwx  1 you  wheel  0 Nov 16 09:22 /tmp/.s.PGSQL.5432

Wenn dies nicht der Fall ist, überprüfen Sie Ihre postgresql.conf auf unix_socket_directory-Änderungen.

$ grep unix_socket /usr/local/var/postgres/postgresql.conf
#unix_socket_directory = ''     # (change requires restart)
#unix_socket_group = ''         # (change requires restart)
#unix_socket_permissions = 0777     # begin with 0 to use octal notation
16
jrwren

Das Problem kann auch auf einen abgestürzten Prozess zurückgeführt werden, der die Datei postmaster.pid zurückgelassen hat. Ich mache das und arbeite's:

$ brew services stop postgresql
$ rm /usr/local/var/postgres/postmaster.pid # adjust path accordingly to your install
$ brew services start postgresql
13
rld

Das Problem ist, dass auf dem Port 5432 bereits ein Dienst ausgeführt wird und wir über diesen Port keine psql-Socket-Verbindung herstellen können.

Ich habe die Socket-Datei entfernt

rm -rf /tmp/.s.PGSQL.5432/

Dann habe ich die Postgres-Dienste neu initialisiert

postgres -D /usr/local/var/postgres

Das hat bei mir funktioniert.

8
Abdullah Gürsu

Das solltest du eigentlich tun:

sie sollten sich stattdessen /usr/local/var/postgres/postmaster.pid ansehen

und dann schauen Sie sich die erste Zeile der Datei an - das ist die schlechte PID

Lauf

ps aux | grep <PID>

zum Beispiel:

ps aux | grep 12345

dann mach

kill <PID>

zum Beispiel

kill 12345

Vorausgesetzt, es läuft noch

https://superuser.com/questions/553045/fatal-lock-file-postmaster-pid-already-exists

nicht auf die akzeptierte Antwort hören, es ist schlecht und wird Ihre Daten verfälschen !!!

7
user1596067

Dies ist mir beim Upgrade von 9.3.4 auf 9.5 passiert, da die Datenbanken ohne Upgrade nicht kompatibel sind.

Ich habe pg_upgrade wie folgt benutzt:

Stoppen Sie Postgres

$ brew services stop postgresql

Aktualisieren Sie die Datenbanken:

$ pg_upgrade \
   -d /usr/local/var/postgres \
   -D /usr/local/var/postgres9.5 \
   -b /usr/local/Cellar/postgresql/9.3.4/bin/ \
   -B /usr/local/Cellar/postgresql/9.5.0/bin/ \
   -v

Archivieren Sie die alten Datenbanken:

 $ mv /usr/local/var/postgres /usr/local/var/postgres9.3.save
 $ mv /usr/local/var/postgres9.5 /usr/local/var/postgres

Starten Sie postgres neu:

 $ brew services start postgresql

Aktualisierte Edelsteine ​​(für Rails/aktiven Datensatz):

 $ gem uninstall pg
 $ gem uninstall activerecord-postgresql-adapter
 $ bundle install
7
stujo

Das Ändern der Konfigurationseinstellungen für postresql oder database.yml, das Ändern von $ PATH oder das Erstellen von Symlinks waren für mich allesamt unnötig. Alles, was ich tun musste, war gem uninstall pg und dann bundle (oder gem install pg).

Das Problem war, dass das pg gem vor homebrew postgres installiert wurde und die Einstellungen aus der mit MacOS gelieferten Postgres-Version übernommen wurden. Die Neuinstallation (und damit die Wiederherstellung der nativen Erweiterung) hat das Problem behoben.

6
John

Der idiotensichere Weg, dies zu umgehen, ist zu tun

brew reinstall postgresql

Dadurch bleibt Ihre Benutzerberechtigung usw. erhalten und alles wird auf neu zurückgesetzt. Funktioniert die ganze Zeit!

6

Psql-Option

-h Hostname --Host = Hostname

: Gibt den Hostnamen des Computers an, auf dem der Server ausgeführt wird. Wenn der Wert mit einem Schrägstrich beginnt, wird er als Verzeichnis für den Unix-Domain-Socket verwendet.

$ grep "port\|unix_socket" /etc/postgresql/9.1/main/postgresql.conf
port = 5433                                         # (change requires restart)
unix_socket_directory = '/var/run/postgresql'       # (change requires resta

$ netstat -nalp | grep postgres
unix  2      [ ACC ]     STREAM     LISTENING     106753   4349/postgres       /tmp/.s.PGSQL.5432
unix  2      [ ACC ]     STREAM     LISTENING     10377 1031/postgres       /var/run/postgresql/.s.PGSQL.5433

Führen Sie psql mit der Option -Host aus

$ psql -p 5433 -h /var/run/postgresql

Keine Notwendigkeit, einen Softlink zu erstellen

4
Juno Choo

Kam auch unter MacOS Sierra auf dieses Problem und als wir pg_ctl wie oben beschrieben ausführten, hatten wir den folgenden Fehler pg_ctl: no database directory specified and environment variable PGDATA unset. Also folgten wir den Schritten hier , die unser Problem lösten, nämlich:

mkdir ~/.postgres

initdb ~/.postgres

pg_ctl -D ~/.postgres start

4
Austin

Das hat bei mir geklappt (als Mischung aus vorherigen Antworten):

$ rm /usr/local/var/postgres/postmaster.pid

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

Quelle: https://coderwall.com/p/zf-fww/postgres-on-osx-with-homebrew-not-running-after-osx-crash

4
Ramon Diogo

Wenn postgres mit homebrew installiert wurde, können Sie dies beheben, indem Sie Folgendes ausführen:

brew link postgres
4
Cl Local

Dies liegt daran, dass ein vorheriger Server noch ausgeführt wird. Versuchen Sie, alles herunterzufahren und Ihre Anwendung erneut auszuführen.

3
Kamara Jōb

FWIW das ist mir heute passiert, aber was passiert ist, war, dass ich zu der Zeit Ubuntu-Updates ausgeführt habe, die wahrscheinlich Postgres aktualisierten. Sobald das Update abgeschlossen war, konnte ich ohne Probleme eine Verbindung herstellen.

Der Vollständigkeit halber habe ich versucht, Datensätze von einer Rails Konsole aus der Datenbank abzurufen:

development (main):0 > a = MyModel.find 73694
PG::ConnectionBad: could not connect to server: No such file or directory
        Is the server running locally and accepting
        connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
3
Ruy Diaz

Ich habe das gleiche Problem, weil ich einen falschen Postgres-Benutzernamen im Code verwende. Ich habe mich bei postgres psql -d postgres angemeldet und \du eingegeben, um den Rollennamen zu übernehmen und den Benutzernamen von Postgres zu korrigieren.

Wenn Sie dieses Problem haben, müssen Sie sicherstellen, dass Sie den richtigen Postgres-Benutzernamen, das richtige Passwort, den richtigen Hostnamen und die richtige Datenbank verwenden ...

Hoffe das wird jedem helfen

3
Brilliant-DucN

Dies passiert, wenn der Postgres-Server nicht läuft. Schritte zum korrekten Installieren von Postgres über Homebrew auf MAC:

  1. brew install postgres

  2. initdb /Users/<username>/db -E utf8 [Dies initialisiert postgres, um das angegebene Verzeichnis als Datenbankverzeichnis zu verwenden. Normalerweise wird davon abgeraten, das Benutzerverzeichnis für die Datenbankspeicherung zu verwenden. Bearbeiten Sie die sudoers-Datei, um initdb und ähnliche Befehle hinzuzufügen, und führen Sie dann initdb unter/usr/local/var/postgres aus.]

  3. pg_ctl -D /Users/<username>/db -l logfile start [Nach erfolgreicher Ausführung von Schritt 2 wird zur Ausführung von Schritt 3 aufgefordert. Dieser Befehl startet den Server manuell.]

3
Souvik Das

Es sieht so aus, als würde dein psql nicht laufen. Sie sollten es ausführen, bevor Sie eine Verbindung herstellen. Sie können dies nur mit Postgres.app für Mac OS tun. (Laden Sie diese App herunter und installieren Sie sie http://postgresapp.com ) Öffnen Sie die App, und Sie haben einen PostgreSQL-Server, der auf neue Verbindungen wartet. Schließen Sie die App und der Server wird heruntergefahren. Sie finden diese Informationen auch hier http://www.postgresql.org/download/macosx/ . Hoffe das wird dir helfen.

3
lisyk

¿Hast du kürzlich die pg_hba.conf geändert? Wenn Sie nur nach Tippfehlern gesucht haben:

"local" gilt nur für Unix-Domain-Socket-Verbindungen

local all all password

Lokale IPv4-Verbindungen:

Host all all 127.0.0.1/32 Passwort

Lokale IPv6-Verbindungen:

Host all all :: 1/128 Passwort

Manchmal kann uns ein einfacher Fehler Kopfschmerzen bereiten. Ich hoffe, dass diese Hilfe und Entschuldigung, wenn mein Englisch überhaupt nicht gut ist.

3
Sergio Zapata

Für diejenigen, die diesen Befehl verwenden und nicht funktionieren oder die Datei nicht vorhanden ist und Ruby auf Rails verwenden

rm /usr/local/var/postgres/postmaster.pid

Oder irgendeinen anderen Befehl und scheitern einfach weiter.

Ich habe dieses Problem bei der Deinstallation mit Brew gelöst. Ich musste 2 Mal mit brew deinstallieren, da bei der ersten Deinstallation eine andere Version von postgresql verbleibt. Bei der zweiten Deinstallation wird der Vorgang abgeschlossen.

Installieren Sie postgresql mit Brew

Dann löschen, erstellen und migrieren Sie die Datenbanken des Projekts

(Vergiss nicht den postgresql Server zu starten)

3

Für mich war es ein Apache-Upgrade, das das Problem verursachte. Ich könnte immer noch psql in der Konsole ausführen oder db direkt von kdevelop aus aufrufen. Es funktionierte auch, "Host = localhost" zur Verbindungszeichenfolge hinzuzufügen.

ABER das eigentliche Problem war, dass Apache auf private tmp umgestellt hatte.

Lösung: Aktualisieren Sie /usr/lib/systemd/system/Apache2.service und ändern Sie PrivateTmp = true in PrivateTmp = false.

Ich arbeite an OpenSuse OS, aber ich vermute, dass auf dem Mac etwas Ähnliches passieren könnte.

2
kaah

Nach einer enormen Menge an Hin und Her kam es wirklich auf die Edelsteinversion pg an, die ich benutzte. Auf Außenseitern würde pg version 0.15.1 keine Verbindung zu Port 5432 herstellen, aber version 0.17.1 funktioniert einwandfrei - sehr seltsam.

2
Anthony

Ich habe den gleichen Fehler bekommen. Es stellte sich heraus, dass Postgres überhaupt nicht lief (es läuft normalerweise immer im Hintergrund, aber aus welchem ​​Grund auch immer, es war nicht heute).

In diesem Fall geben Sie einfach postgres in die Befehlszeile Ihres Projektverzeichnisses ein

2
Benjamin Dunphy

Ich hatte das gleiche Problem mit psql (PostgreSQL) 9.6.11.

was hat bei mir funktioniert -

postmaster.pid - rm /usr/local/var/[email protected]/postmaster.pid entfernen

postgres neu starten - brew services restart [email protected]

2
Piyush Sawaria

Ich bin auf dieses Problem gestoßen, nachdem ich versucht habe, eine Datenbank wiederherzustellen/zu löschen/zu erstellen, während andere Prozesse auf sie zugegriffen haben. MacOSX/Homebrew-Fix war:

  1. schließe alle anderen zugreifenden Prozesse Rails server, Rails console, guard, etc ...
  2. laden/Entladen mit den Befehlen in brew info postgres
  3. führen Sie "restore/drop/create from before" aus
2
TomFuertes

Wenn Sie Ihr System herunterfahren, ohne psql zu beenden, hätte postgres einige Dateien nicht entfernt.

Ich habe die Datei postmaster.pid nicht im Verzeichnis usr/local/var/postgres gefunden

Also habe ich folgendes gemacht:

brühdienste starten postgresql

Mit dem obigen Befehl können Sie postgres starten

1
Ashwin

Eine der Ursachen ist es, sicherzustellen, dass die Größe der Festplatte nicht voll ist. Führen Sie dazu den Befehl postmaster -D path of the postgres aus

0
Ajay Takur

Die Ursache

Lion wird mit einer bereits installierten Version von postgres ausgeliefert und verwendet diese Binärdateien standardmäßig. Im Allgemeinen können Sie dies umgehen, indem Sie den vollständigen Pfad zu den Postgres-Binärdateien von Homebrew verwenden. Es kann jedoch weiterhin Probleme mit anderen Programmen geben.

Die Lösung

curl http://nextmarvel.net/blog/downloads/fixBrewLionPostgres.sh | sh

Via

http://nextmarvel.net/blog/2011/09/brew-install-postgresql-on-os-x-lion/

0
SocoM

Wenn Sie während des Upgrades von Postgres (oder nach dem Upgrade) auf das Problem stoßen, befolgen Sie die hier beschriebenen Schritte, um Daten sicher zwischen Versionen zu übertragen. Dadurch wird das Problem behoben:

Aktualisieren Sie PostgreSQL 9.6.5 auf 10.0 mit Homebrew (macOS)

Ich habe den Bitnami-Stack verwendet und als Nicht-Root-Benutzer psql installiert. Bei der Verwendung von psql habe ich den genannten Fehler erhalten.

Es stellt sich heraus, dass es 2 Versionen von psql gibt

  1. ein Root-Level-psql in der Linux-Distribution vorgepackt. Dies zeigt auf/usr/bin/psql
  2. ein nicht als Root ausgeführter psql, der vom Bitnami-Stack installiert wird. Dies verweist auf/bitnami/postgresql/postgresql/bin/psql

Möglicherweise möchten Sie den Alias ​​des psql so ändern, dass er auf den Benutzer ohne Rootberechtigung verweist.

alias psql='/bitnami/postgresql/postgresql/bin/psql'

Das oben Genannte hat für mich bei der Umsetzung von psql -U postgres funktioniert.

0
Thyag

Nach der Installation des neuesten Patches für Postgres 9.6 wurden alle meine ausführbaren Dateien (postgres, psql, pg_dump, pg_restore usw.) gelöscht und ich musste sie erneut verknüpfen. Glücklicherweise kann Homebrew dies für Sie tun:

brew link --force postgresql # (or in my case, `[email protected]`)
0
PJSCopeland

Das Datenverzeichnis enthält eine alte postmaster.pid-Datei./Das Datenverzeichnis enthält eine nicht lesbare postmaster.pid-Datei. PostgreSQL legt eine Datei mit dem Namen postmaster.pid im Datenverzeichnis ab, um die Prozess-ID des PostgreSQL-Serverprozesses zu speichern. Wenn PostgreSQL abstürzt, kann diese Datei eine alte PID enthalten, die PostgreSQL verwirrt. Sie können dieses Problem beheben, indem Sie die Datei postmaster.pid löschen. Sie müssen jedoch sicherstellen, dass PostgreSQL wirklich nicht ausgeführt wird. Öffnen Sie den Aktivitätsmonitor und vergewissern Sie sich, dass keine Prozesse mit dem Namen "postgres" oder "postmaster" vorhanden sind.

Wenn Sie die postmaster.pid-Datei löschen, während PostgreSQL ausgeführt wird, passieren schlimme Dinge.

Quelle: https://postgresapp.com/dokumentation/fehlersuche.html

0
Selv

Nur zwei Schritte zum Ausführen der Datenbank nach der Installation (Stellen Sie zuvor sicher, dass Sie als postgres Benutzer angemeldet sind.)

Installierte-Verzeichnisse/bin/postmaster -D Installierte-Verzeichnisse/pgsql/data

Zum Beispiel:

[[email protected] bin]$ /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data

Schritt 2: Führen Sie psql über den Pfad Installed aus (um zu überprüfen, wo Sie "#which postgres" installiert haben, um den Installationsort zu ermitteln)

[[email protected] bin]$ psql 

Für uns mussten wir localhost im Befehl psql wie folgt definieren:

psql -h localhost -U postgres

Nicht sicher, warum -h nicht standardmäßig localhost... ist.

0
hooknc