Gelöst... teilweise.
Anscheinend werden bei der Installation der neuesten Versionen von OS X (z. B. Yosemite oder El Capitan) einige Verzeichnisse in /usr/local/var/postgres
entfernt .
Um dies zu beheben, erstellen Sie einfach die fehlenden Verzeichnisse neu:
mkdir -p /usr/local/var/postgres/pg_commit_ts
mkdir -p /usr/local/var/postgres/pg_dynshmem
mkdir -p /usr/local/var/postgres/pg_logical/mappings
mkdir -p /usr/local/var/postgres/pg_logical/snapshots
mkdir -p /usr/local/var/postgres/pg_replslot
mkdir -p /usr/local/var/postgres/pg_serial
mkdir -p /usr/local/var/postgres/pg_snapshots
mkdir -p /usr/local/var/postgres/pg_stat
mkdir -p /usr/local/var/postgres/pg_stat_tmp
mkdir -p /usr/local/var/postgres/pg_tblspc
mkdir -p /usr/local/var/postgres/pg_twophase
Oder kurz gesagt (danke an Nate ):
mkdir -p /usr/local/var/postgres/{{pg_commit_ts,pg_dynshmem,pg_replslot,pg_serial,pg_snapshots,pg_stat,pg_stat_tmp,pg_tblspc,pg_twophase},pg_logical/{mappings,snapshots}}
pg_ctl start -D /usr/local/var/postgres
erneut ausführen startet den Server jetzt normal und zumindest bei mir ohne Datenverlust.
AKTUALISIEREN
Auf meinem System sind einige dieser Verzeichnisse leer, selbst wenn Postgres ausgeführt wird. Vielleicht entfernt Yosemite als Teil einer "Reinigungs"-Operation alle leeren Verzeichnisse? Auf jeden Fall habe ich weitergemacht und in jedem Verzeichnis eine '.keep'-Datei erstellt, um zukünftiges Löschen zu verhindern.
touch /usr/local/var/postgres/{{pg_commit_ts,pg_dynshmem,pg_replslot,pg_serial,pg_snapshots,pg_stat,pg_stat_tmp,pg_tblspc,pg_twophase},pg_logical/{mappings,snapshots}}/.keep
Hinweis :Erstellen der .keep
Datei in diesen Verzeichnissen erzeugt etwas Rauschen in Ihrer Protokolldatei, scheint aber nichts anderes negativ zu beeinflussen.