Løst... delvist.
Tilsyneladende fjerner installation af de seneste versioner af OS X (f.eks. Yosemite eller El Capitan) nogle mapper i /usr/local/var/postgres
.
For at rette dette skal du blot genskabe de manglende mapper:
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 mere kortfattet (tak til 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}}
Genkører pg_ctl start -D /usr/local/var/postgres
starter nu serveren normalt og, i hvert fald for mig, uden tab af data.
OPDATERING
På mit system er nogle af disse mapper tomme, selv når Postgres kører. Måske fjerner Yosemite eventuelle tomme mapper som en del af en "rengørende" operation? Under alle omstændigheder gik jeg videre og oprettede en '.keep'-fil i hver mappe for at forhindre fremtidig sletning.
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
Bemærk :Oprettelse af .keep
fil i disse mapper vil skabe noget støj i din logfil, men ser ikke ud til at påvirke noget andet negativt.