読者です 読者をやめる 読者になる 読者になる

気軽に楽しくプログラムと遊ぶ

自分が興味があってためになるかもって思う情報を提供しています。

Mac OS XをYosemiteにアップデートしたらPostgreSQLが動かなくなった場合の対処方法

postgresを自動起動にしていたがpsqlコマンドを叩いたら以下のようなエラーメッセージが表示

psql: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

一旦、自動起動設定を停止して、手動起動してみる

launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
pg_ctl -D /usr/local/var/postgres start
server starting
FATAL:  could not open directory "pg_tblspc": No such file or directory 

could not open directory "pg_tblspc"で検索したら、以下のサイト発見

MacOSX - Yosemiteにアップグレードしたらpostgresが起動しないよ>< - Qiita

下記ディレクトリを作成せよとあった。

mkdir /usr/local/var/postgres/pg_tblspc
mkdir /usr/local/var/postgres/pg_twophase
mkdir /usr/local/var/postgres/pg_stat_tmp

私の場合、以下のディレクトリも必要だったので追加で作成

mkdir /usr/local/var/postgres/pg_replslot
mkdir /usr/local/var/postgres/pg_logical/snapshots
mkdir -R /usr/local/var/postgres/pg_logical/snapshots
mkdir /usr/local/var/postgres/pg_logical/mappings
mkdir /usr/local/var/postgres/pg_snapshots

pg_ctl -D /usr/local/var/postgres start
server starting
LOG:  database system was shut down at 2015-09-25 16:40:39 JST                                                                                                                      
LOG:  database system is ready to accept connections
LOG:  autovacuum launcher started

無事に起動。。yosemiteさん、問題起こしすぎ。
次のバージョンをあげるのは当分控えるだろう。。