Löst... delvis.
Uppenbarligen tar installation av de senaste versionerna av OS X (t.ex. Yosemite eller El Capitan) bort vissa kataloger i /usr/local/var/postgres
.
För att fixa detta återskapar du helt enkelt de saknade katalogerna:
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
Eller mer kortfattat (tack vare 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}}
Kör pg_ctl start -D /usr/local/var/postgres
igen startar nu servern normalt och, åtminstone för mig, utan någon dataförlust.
UPPDATERA
På mitt system är några av dessa kataloger tomma även när Postgres körs. Kanske, som en del av någon "rengöring"-operation, tar Yosemite bort alla tomma kataloger? Jag fortsatte i alla fall och skapade en '.keep'-fil i varje katalog för att förhindra framtida radering.
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
Obs :Skapar .keep
filen i dessa kataloger kommer att skapa en del brus i din loggfil, men verkar inte påverka något annat negativt.