sql >> Databasteknik >  >> RDS >> PostgreSQL

`pg_tblspc` saknas efter installation av senaste versionen av OS X (Yosemite eller El Capitan)

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.



  1. Beräkna skillnaden mellan 2 datum/tider i Oracle SQL

  2. refererar främmande nyckel alltid till en unik nyckel i en annan tabell?

  3. 3 sätt att konvertera ett heltal till decimal i SQL Server

  4. pgmemcache vs Infinite Cache