Wie starte ich PostgreSQL Server unter Mac OS X?


720

Endgültiges UPDATE:

Ich hatte vergessen, den initdb Befehl auszuführen.

</FINAL UPDATE>

durch diesen Befehl ausführen

ps auxwww | grep postgres 

Ich sehe, dass Postgres nicht

> ps auxwww | grep postgres 
remcat   1789 0.0 0.0 2434892 480 s000 R+ 11:28PM 0:00.00 grep postgres 

stellt sich die Frage läuft: Wie beginne ich die postgresql Server?

Update:

>pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start 
server starting 
sh: /usr/local/var/postgres/server.log: No such file or directory 

Update 2:

Die Berührung war nicht erfolgreich, so habe ich diese statt:

> mkdir /usr/local/var/postgres 
> vi /usr/local/var/postgres/server.log 
> ls /usr/local/var/postgres/   
server.log 

Aber wenn ich versuche, Schienen-Server zu starten, habe ich noch sehen dieses:

Is the server running on host "localhost" and accepting 
TCP/IP connections on port 5432? 

Update 3:

> pg_ctl -D /usr/local/var/postgres status 
pg_ctl: no server running 

Update 4:

Ich fand, dass es KEINE pg_hba.conf WAS (nur pg_hba.conf.sample) so geändert ich die Probe und benannte sie (zum Remover die .sample) . Hier ist der Inhalt:

# IPv4 local connections: 
host all    all    127.0.0.1/32   trust 
# IPv6 local connections: 
host all    all    ::1/128    trust 

aber ich verstehe das nicht:

> pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start  
server starting 
> pg_ctl -D /usr/local/var/postgres status          
pg_ctl: no server running 

auch:

sudo find/-name postgresql.conf 
find: /dev/fd/3: Not a directory 
find: /dev/fd/4: Not a directory 

Update 5:

sudo pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start 
Password: 
pg_ctl: cannot be run as root 
Please log in (using, e.g., "su") as the (unprivileged) user that will own the server process. 

Update 6:

dies scheint seltsam:

> egrep 'listen|port' /usr/local/var/postgres/postgresql.conf 
egrep: /usr/local/var/postgres/postgresql.conf: No such file or directory 

aber ich tat dies tun:

>sudo find/-name "*postgresql.conf*" 
find: /dev/fd/3: Not a directory 
find: /dev/fd/4: Not a directory 
/usr/local/Cellar/postgresql/9.0.4/share/postgresql/postgresql.conf.sample 
/usr/share/postgresql/postgresql.conf.sample 

so habe ich dies:

egrep 'listen|port' /usr/local/Cellar/postgresql/9.0.4/share/postgresql/postgresql.conf.sample 
#listen_addresses = 'localhost'  # what IP address(es) to listen on; 
#port = 5432    # (change requires restart) 
       # supported by the operating system: 
       # %r = remote host and port 

so habe ich versucht, dies:

> cp /usr/local/Cellar/postgresql/9.0.4/share/postgresql/postgresql.conf.sample /usr/local/Cellar/postgresql/9.0.4/share/postgresql/postgresql.conf   
> cp /usr/share/postgresql/postgresql.conf.sample /usr/share/postgresql/postgresql.conf 

st Das gleiche bekommen "Läuft der Server?" Botschaft.

  0

Wie haben Sie Postgres installiert? Haben Sie einen Paketmanager oder eine manuelle Installation verwendet? 02 nov. 112011-11-02 13:08:54

+1

kann mich nicht genau erinnern, aber es war entweder bereits installiert oder ich lief "brauen install postgres". Ich würde mich dem letzteren zuwenden, aber ich bin mir nicht 100% sicher. 02 nov. 112011-11-02 13:19:03

  0

definitiv nicht manuell obwohl 02 nov. 112011-11-02 13:19:36

  0

Verwenden Sie 'sudo', dh' sudo pg_ctl ... ' 04 nov. 112011-11-04 02:42:26

  0

siehe update5 bitte. 04 nov. 112011-11-04 02:48:20

  0

Ich habe den gleichen Fehler, irgendwelche Updates dazu? 09 nov. 112011-11-09 05:47:37

  0

@SAnandNarayan, am Ende fand ich, dass ich den Befehl initdb ausführen musste. Wie hast du Postgres installiert? 10 nov. 112011-11-10 16:32:04

  0

@Ramy ja initdb löste das Problem 16 nov. 112011-11-16 08:11:25

  0

Ich hatte das gleiche Problem. Wenn Ihr postgres-Server läuft (überprüfen Sie mit ps aux | grep postgres) und psql sagt immer noch Server nicht ausgeführt: Erstellen einer postgresql.conf-Datei durch Kopieren der postgresql.conf.sample gearbeitet 02 mai. 132013-05-02 21:06:59

+41

Ich habe dies nur, weil das letzte UPDATE gemacht ich lache sehr hart! : D 10 mai. 132013-05-10 00:53:59

+8

Hatte zu upvote, komme ich hier mindestens 3 mal pro Woche, um den ersten pg_ctl Befehl zu kopieren, um psql nach einer unerwarteten Beendigung neu zu starten .. heh ich muss es lernen: D Danke dude! 17 jun. 142014-06-17 01:13:53

  0

Ich folgte einfach [das] (http://stackoverflow.com/questions/27700596/homebrew-postgres-broken) und es hat den Trick 03 mai. 162016-05-03 18:38:08

+1

Diese Frage hat mir mindestens zweimal im Laufe der Jahre geholfen 15 nov. 172017-11-15 15:38:02

1,365

Der Paketmanager Homebrew enthält launchctl plists, um automatisch zu starten. Für weitere Informationen führen Sie brew info postgres.

manuell zu starten:

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

vorzeitigen Stopp:

pg_ctl -D /usr/local/var/postgres stop

Automatisch starten:

"launchd Start postgresql haben, jetzt und starten Sie bei der Anmeldung:"

brew services start postgresql


Was das Ergebnis pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start ist?

Was ist das Ergebnis von pg_ctl -D /usr/local/var/postgres status?

Gibt es Fehlermeldungen in der server.log?

sicher tcp localhost Verbindungen Stellen sind in pg_hba.conf aktiviert:

# IPv4 local connections: 
host all    all    127.0.0.1/32   trust 

Überprüfen Sie die listen_addresses und Hafen in postgresql.conf:

egrep 'listen|port' /usr/local/var/postgres/postgresql.conf

#listen_addresses = 'localhost'  # what IP address(es) to listen on; 
#port = 5432    # (change requires restart) 

Reinigung bis

Postgres wurde höchstwahrscheinlich über Homebrew, Fink, MacPorts oder den EnterpriseDB Installer installiert.

Überprüfen Sie die Ausgabe der folgenden Befehle, die Paket-Manager wurde installiert mit bestimmen:

brew && brew list|grep postgres 
fink && fink list|grep postgres 
port && port installed|grep postgres 
  0

Ich versuchte zu 'touch/usr/local/var/postgres/server.log '. aber kein Glück 02 nov. 112011-11-02 03:58:44

+1

@Ramy Hat die Berührung gelingen? Überprüfen Sie die Existenz und die Berechtigungen von */usr/local/var/postgres * und * server.log *. Es sollte rw für Ihre Benutzer-ID sein. 02 nov. 112011-11-02 04:04:50

+1

@Ramy: Können Sie Informationen in /usr/local/var/postgres/server.log aufnehmen? Ihre Installation ist möglicherweise beschädigt und es kann schneller sein, sie mit einer bekannten Quelle wie Homebrew zu bereinigen und neu zu installieren. 04 nov. 112011-11-04 03:19:54

  0

@Ramy: Ich habe meine Antwort aktualisiert, um eine Methode zur Bestimmung der Installation von Postgres hinzuzufügen. 04 nov. 112011-11-04 03:41:19

  0

ok, das wird lächerlich.ich lief "brew list | grep postgres" und bekam eine einzeilige Antwort: "postgres". Also nahm ich an, dass ich Postgres mit Homebrew installiert habe. Ich habe dann postgres mit "brew uninstall postgres" deinstalliert und dann den Postgres Tarball aus dem Cache entfernt, falls es beim Download beschädigt wurde ("rm /Users/remcat/Library/Caches/Homebrew/postgresql-9.0.4.tar.bz2"). Ich habe dann den Server mit dem Befehl pg_ctl gestartet, den Sie in Ihrer Antwort angezeigt haben. Ich habe sichergestellt, dass die pg_hba.conf korrekt aktualisiert wurde. immer noch die gleiche Nachricht "ist der Server läuft". 05 nov. 112011-11-05 22:20:55

  0

Ich musste einfach 'mkdir/usr/local/var/postgres' und es fing gleich an. 29 apr. 122012-04-29 02:46:22

  0

Wenn dies Ihre erste Installation ist, erstellen Sie eine Datenbank mit: 'initdb/usr/local/var/postgres -E utf8' ... Erfolg. Sie können den Datenbankserver nun starten mit: 'postgres -D/usr/local/var/postgres' 30 nov. 122012-11-30 09:04:03

+7

Warum ist das alles notwendig? Warum kannst du Postgres nicht so starten, wie du Knoten startest? 05 aug. 132013-08-05 02:37:20

  0

Ich bekomme immer '-bash: postgres: command not found' 05 aug. 132013-08-05 02:48:41

  0

Wenn Sie versuchen, eine vorhandene brauen installierte Version nach einer upgarde zu verwenden, können Sie nach http://stackoverflow.com/questions/3987683/homebrew umschalten -install-specific-version-of-formula Ich brauchte nur 'brew switch postgresql 9.2.1' als' which pg_ctl' kam leer. 03 mär. 142014-03-03 22:46:57

  0

ein Nitpick 'brew && brew list | grep postgres' zeigt keine Postgres aus meiner Brühliste an. Aber 'brew list | grep postgres' tut es. 13 feb. 152015-02-13 10:25:07

  0

Viel zu viele Schritte. Auf keinen Fall wird das funktionieren. 24 aug. 152015-08-24 06:31:12

  0

@JamesA Können Sie die Syntax der Startup-Zeile 'pg_ctl -D/usr/local/var/postgres -l/usr/local/var/postgres/server.log start 'erklären? Wie genau funktioniert dieser Befehl? 19 apr. 162016-04-19 17:49:51

+6

was ein lächerlich komplizierter Befehl, nur um das Programm zu starten und zu stoppen 18 aug. 162016-08-18 08:08:48

  0

Ich muss buchstäblich mindestens zweimal pro Woche nachschlagen haha ​​ 14 jun. 172017-06-14 02:16:31

  0

pg_ctl: Server nicht heruntergefahren 05 sep. 172017-09-05 21:14:18

+1

Dies funktioniert immer noch, ist aber ein wenig veraltet. Die Antwort unter "brauen Dienste starten postgresql" ist eine aktuellere und einfachere Antwort. 05 okt. 172017-10-05 23:44:43

  0

Ich entdeckte, dass die Verwendung von "pg_ctl -D/usr/local/var/postgres Start" Berechtigungen Fehler warf, die es mir ermöglichte zu sortieren, warum "brauen Dienste postgresql starten" angegeben, dass der Dienst gestartet wurde, auch durch postgresql Dienst wurde nicht gestartet. 19 dez. 172017-12-19 08:06:49


165

Ich hatte fast genau das gleiche Problem, und Sie zitierte den initdb Befehl als das Update. Dies war auch die Lösung für mich, aber ich habe nicht gesehen, dass jemand es hier gepostet, so dass für diejenigen, die suchen sie:

initdb /usr/local/var/postgres -E utf8 
+16

das hat bei mir auch funktioniert, initdb hat mir gesagt, dass ich schon die config erledigt habe, also habe ich das gesamte Verzeichnis gelöscht: "rm -rf/usr/local/var/postgres" lief dein Kommando nochmal und mein Server läuft nun und läuft Vielen Dank, mein Herr! 13 jan. 132013-01-13 17:57:28

+4

yep Ich musste 'rm -rf/usr/local/var/postgres' laufen lassen und dann funktionierte das für mich 14 jan. 142014-01-14 18:04:15

+2

Das hat auch bei mir funktioniert. Vor Initdb musste ich auch das Postgres-Verzeichnis ('chown _your username auf deinem comp_usr/local/var/postgres'), dann initdb. Danach startet der Server automatisch beim Neustart (falls Sie den Anweisungen von Homebrew gefolgt sind) oder manuell 'pg_ctl -D/usr/local/var/postgres -l /usr/local/var/postgres/server.log start '. 11 dez. 142014-12-11 12:32:52

+2

Nach 'initdb' (einschließlich Entfernen des alten Verzeichnisses, wenn nötig),' brew services start postgresql' funktioniert 24 jun. 162016-06-24 23:58:03

  0

Wenn die Idee von 'rm -rf's alles, was gerade in Ihrer Datenbank ist, Sie ein wenig erschreckt, anstatt es vollständig zu löschen, Sie könnten etwas wie 'mv/usr/local/var/postgres/usr/local/var/postgres.backup' verwenden, um es in ein neues Backup-Verzeichnis zu verschieben, und dann den Befehl ausführen, um die Datenbank erneut zu starten. 21 feb. 172017-02-21 05:23:03


20

Für Testzwecke, ich glaube, PostgreSQL App ist die beste Option!

Führen Sie eine App aus, und der Server ist betriebsbereit. Schließen Sie die App und der Server geht aus.

http://postgresapp.com/

+1

guten Ruf .... es ist wie XAMPP oder MAPP ... aber nur ein standlone P statt ;-) 30 apr. 132013-04-30 12:50:40


65

Hier meine 2 Cent: Ich machte einen Alias ​​für Postgres pg_ctl und steckte es in Bash_profile (meine postgresql Version ist 9.2.4 und Datenbankpfad ist /Library/PostgreSQL/9.2/data).

alias postgres.server="sudo -u postgres pg_ctl -D /Library/PostgreSQL/9.2/data" 

Neues Terminal starten.

Und dann? Sie können Start/Ihre PostgreSQL-Server mit dieser Haltestelle:

postgres.server start 
postgres.server stop 
  0

Angabe der Daten-Verzeichnis mit -D ist der Schlüssel hier 18 feb. 142014-02-18 05:02:36

  0

Erleichtert die zukünftige Verwendung, +1 30 sep. 142014-09-30 18:54:55

+2

Ich bekam immer "Bitte melden Sie sich an (z. B. mit" su ") als der (nicht privilegierte) Benutzer, der Eigentümer des Serverprozesses ist." wenn nur sudo läuft. +1 08 feb. 152015-02-08 18:38:48

  0

Danke. Die Vorschläge der Postgres-Tools, su zu verwenden, scheitern kläglich. sudo -u funktioniert hervorragend. (auf El Capitan) 08 feb. 162016-02-08 16:13:36


78

Ein weiterer Ansatz lunchy Juwel ist mit (ein Wrapper für launchctl):

brew install postgresql 
initdb /usr/local/var/postgres -E utf8 
gem install lunchy 

starten Postgres:

lunchy start postgres 

zu stoppen postgres:

lunchy stop postgres 

Weitere Informationen finden Sie unter: "How to Install PostgreSQL on a Mac With Homebrew and Lunchy"

  0

Je nachdem, wie Sie Postgres einrichten, müssen Sie Postgresql anstelle von Postgres verwenden 20 jan. 172017-01-20 20:37:27


4

PostgreSQL ist in Server.app über den App Store in Mountain Lion integriert. Das bedeutet, dass es bereits konfiguriert ist und Sie es nur starten müssen, und erstellen Sie dann Benutzer und Datenbanken.

Tipp: Beginnen Sie nicht mit der Definition von $ PGDATA und so weiter, nehmen Sie die Dateipositionen so wie sie sind.

Sie würden diese Datei haben: /Library/Server/PostgreSQL/Config/org.postgresql.postgres.plist

zu starten:

sudo serveradmin start postgres 

Prozess mit Argumenten gestartet:

/Applications/Server.app/Contents/ServerRoot/usr/bin/postgres_real -D/Library/Server/PostgreSQL/Daten -c listen_addresses = 127.0.0.1 ,: : 1 -c log_connections = ein -c log_verzeichnis =/Library/Logs/PostgreSQL -c log_filename = PostgreSQL.log -c log_line_prefix =% t -c log_lock_waits = ein -c log_statement = ddl -c logging_collector = ein -c unix_socket_directory =/private/var/pgsql_socket -c UNIX_SOCKET_GROUP = _postgres -c unix_socket_permissions = 0770

Sie sudo:

sudo -u _postgres psql template1 

Oder schließen:

psql -h localhost -U _postgres postgres 

Sie können finden Sie das Datenverzeichnis, Version, Status läuft und so weiter mit

sudo serveradmin fullstatus postgres 
  0

Konnte nicht viel mehr finden, das zeigte, wie man das eingebaute Postgres benutzt. Hat mir geholfen, serveradmin Befehl zu finden. Danke 24 nov. 132013-11-24 01:07:06

  0

Das Ausführen eines Dienstes als root-Benutzer (sudo) ist definitiv keine gute Idee, sobald es ein Sicherheitsproblem gibt, ist der ganze Computer kompromittiert. 02 mai. 152015-05-02 06:57:21

  0

Das postgresql läuft nicht als root, sondern als _postgres. 02 mai. 152015-05-02 07:05:38


27

dem PostgreSQL-Server starten:

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

dem PostgreSQL-Server zu beenden:

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

Sie auch erstellen ein Alias ​​über CLI, um es einfacher zu machen:

alias pg-start='pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start' 
alias pg-stop='pg_ctl -D /usr/local/var/postgres stop -s -m fast' 

Mit diesen können Sie einfach "pg-start" eingeben, um Postgres zu starten und "pg-stop", um es herunterzufahren.

+1

Ich habe den Fehler 'pg_ctl: directory"/usr/local/var/postgres "ist kein Datenbank-Cluster-Verzeichnis ', wie das zu beheben? 05 mai. 172017-05-05 07:14:50


3

Für Entwicklungszwecke ist eine der einfachsten Möglichkeiten, Postgres.app von official site zu installieren. Es kann von Anwendungsordner oder verwenden Sie die folgenden Befehle in Terminal gestartet/gestoppt werden:

# start 
open -a Postgres 

# stop 
killall Postgres 
killall postgres 
+13

'killall' ist wahrscheinlich nicht der beste Weg, um eine Datenbank zu stoppen. 12 mär. 142014-03-12 11:19:45


8

wenn Sie postgresql mit Homebrew installieren:

brew install postgres 

am Ende der Ausgabe werden Sie diese Methoden sehen Start Server:

To have launchd start postgresql at login: 
    ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents 
Then to load postgresql now: 
    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist 
Or, if you don't want/need launchctl, you can just run: 
    postgres -D /usr/local/var/postgres 

Ich denke, das ist der beste Weg.

Sie können zur Vereinfachung Alias ​​in Ihre .profile einfügen.


251

Wenn Sie manuell gestartet werden soll und postgresql (installiert via Homebrew) zu stoppen, ist der einfachste Weg:

brew services start postgresql 

und

brew services stop postgresql 
+4

Ich wünschte, ich wüsste schon früher über 'brew services' ... das ist die einzige Lösung, die für mich funktioniert. <3 Danke! 26 jun. 142014-06-26 14:15:49

  0

Es hat auch für mich funktioniert. Vielen Dank! 02 sep. 142014-09-02 20:50:09

+4

'brew tap gapple/services' wird den brauservice wieder funktionieren lassen 29 jan. 152015-01-29 19:17:04

+3

Sieht aus wie' brew tap homebrew/services' funktioniert immer noch https://github.com/Homebrew/homebrew-services 16 jul. 152015-07-16 04:02:13

+3

Dies funktioniert ** nach ** ' initdb' wurde erfolgreich ausgeführt. Sonst scheitert es still (aber scheint, gearbeitet zu haben, wobei der Dienst als * gestartet * in 'brew services list' erscheint. 24 jun. 162016-06-24 23:55:33

  0

Ich musste' brew services restart postgresql' ausführen, da die db mit pg_ctl oder 'brew services start' gestartet wurde " 08 apr. 172017-04-08 10:53:59


3

Variation zu dieser Antwort: https://stackoverflow.com/a/13103603/2394728

initdb `brew --prefix`/var/postgres/data -E utf8` 
  0

Sie sollten einen Link zu der Antwort hinzufügen, auf die Sie verweisen. 28 feb. 152015-02-28 01:10:08

  0

Dies war hilfreich, da mein pg funktionierte gut und plötzlich hörte es auf zu arbeiten und konnte nicht." "Ein anderer Server läuft möglicherweise" und stoppen die db mit pg_ctl hung find/var/postgres folder 14 mai. 152015-05-14 08:38:15

  0

Könnte jemand bitte kommentieren, warum dies der verknüpften Antwort überlegen ist? Als ich gesehen habe, dass ich bereits vom letzten Mal, als ich ein ähnliches Problem hatte, uploot, werde ich es verwenden, da es keinen Grund gibt hier 19 nov. 152015-11-19 21:10:04


7

Für eine schnelle Testdatenbank können Sie den Server im Vordergrund ausführen.

Initialize eine neue Postgres-Datenbank in einem neuen Verzeichnis

mkdir db 
initdb db -E utf8 
createdb public 

Starten Sie den Server im Vordergrund

postgres -d db 

In einer anderen Shell-Sitzung (ctrl-C den Server zu stoppen), um die Verbindung

Server
psql -d public 
  0

Das scheint gut, aber funktioniert nicht für mich - es war nicht der Server bereits ausgeführt werden, um den createdb Schritt zu tun.Wenn ich versuche, den Serve zu starten, sagt es, es braucht die P GDATA oder Config-Datei, die noch nicht existieren. Was vermisse ich? 08 sep. 162016-09-08 20:54:53

  0

Das hat für mich funktioniert. 27 dez. 162016-12-27 11:38:25


31

Der sauberste Weg bei weitem Start/Stopp/Neustart Postgres, wenn Sie es durch brew installiert haben, ist einfach zu entladen und/oder die launchd-Konfigurationsdatei zu laden, die mit der Installation kommt:

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

Die erste Zeile wird Postgres und die zweite Zeile stoppen werde es anfangen. Sie müssen keine Datenverzeichnisse usw. angeben, da sich alles in dieser Datei befindet.

  0

das funktionierte in Sekunden. Danke 29 aug. 152015-08-29 15:11:46

  0

funktioniert gut für PostgreSQL 9.5.3 unter OS X über Brew installiert !! Vielen Dank! 20 aug. 162016-08-20 07:35:23

  0

das funktioniert wie ein Zauber, wenn Postgres Server nicht ordnungsgemäß heruntergefahren wird und eingehende Verbindungen nicht akzeptiert 01 okt. 162016-10-01 22:07:27

+3

Homebrew selbst hat einfache Wrapper für diese Befehle, z. B .: 'brew services start postgres' (und stopp). Wirf am Ende ein '-v' und du kannst sehen, was es macht. 26 mär. 172017-03-26 12:11:59


7

Ich habe das gleiche Problem und führen alle Updates vom ersten Post. Aber nach dem Check-Protokolldatei:

/usr/local/var/postgres/server.log 

Ich sehe wahre Ursache:

FATAL: data directory "/usr/local/var/postgres" has group or world access 
DETAIL: Permissions should be u=rwx (0700). 

Nach Änderungsberechtigungen in diesem Verzeichnis

chmod 0700 /usr/local/var/postgres 

Postgres-Server starten hat.

Jedes Mal überprüfen Sie die Protokolldatei.


45

Wenn Ihr Computer plötzlich

Zuerst neu gestartet wurde, müssen Sie die Datei löschen /usr/local/var/postgres/postmaster.pid Dann können Sie den Dienst neu starten eine der vielen anderen erwähnten Methoden je nach installieren.

Sie können dies überprüfen, in den Protokollen von Postgres, indem Sie, um zu sehen, was man auf gehen: tail -f /usr/local/var/postgres/server.log

+1

Sie können 'tail -f/usr/local/var/postgres/server.log 'überprüfen, um zu sehen, ob Sie diese Datei löschen sollten. ref https://coderwall.com/p/zf-fww/postgres-on-osx-with-homebrew-not-running-after-osx-crash 29 nov. 162016-11-29 01:02:00

  0

Mine war unter/Users/<user>/Library/Application \ Support/Postgres /var-9.6/postmaster.pid 26 jan. 172017-01-26 22:11:40

  0

für homebrew installiert den Pfad ist '~/homebrew/var/postgres/postmaster.pid' 10 jun. 172017-06-10 22:47:19


0

Für Mac/OSX, ich mag LaunchRocket wirklich für diese und andere Hintergrunddienste ich in Entwicklung.

https://github.com/jimbojsb/launchrocket

Diese Seite hat schöner Anweisungen zur Installation: http://macappstore.org/launchrocket/

Dies Ihnen einen schönen Bildschirm in Ihrer Systemeinstellung gibt, die Sie zu starten, neu starten, root, starten Sie bei der Anmeldung erlaubt.


0

$ brew upgrade postgres

regelte es für mich.

Das wird natürlich Ihre Postgres-Version aktualisieren und Abhängigkeiten aktualisieren/installieren. WARNUNG: Wissen Sie, dass sich Ihre postgresql-Version wahrscheinlich ändert. Für mich war das keine große Sache.


1

keine der oben genannten Antworten behoben das Problem für mich trotz der gleichen Fehlermeldungen. Ich konnte meine Instanz wiederherstellen, indem ich die vorhandene Datei postmaster.pid löschte, die gesperrt war und keine Verbindungen zuließ.


1
# remove old database files (If there was any) 
    $rm -rf /usr/local/var/postgres # install the binary 

    $ brew install postgresql 

    # init it 
    $ initdb /usr/local/var/postgres 

    # start the postgres server 
    $ postgres -D /usr/local/var/postgres 

    # create your database 
    $ createdb mydb 


    # Access db. 
    $ psql mydb 
    psql (9.0.1) 
    Type "help" for help.