[解決済み] 自作postgresが壊れた
質問
Mac (10.10.1/Yosemite) に Postgresql 9.4.0 を homebrew でインストールしたのですが、動作しません。それは動作しません。
私は、~/Library/LaunchAgents に /usr/local/opt/postgresql/homebrew.mxcl.postgresql.plist へのソフトリンクを作成しました。
手動でpostgresをロードしようとすると、"Operation is in progress"というメッセージが表示されます。
> launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
/usr/local/Cellar/postgresql/9.4.0/homebrew.mxcl.postgresql.plist: Operation already in progress
しかし、postgresは起動していないようです。
> ps auxw | grep post
billmcn 670 0.0 0.0 2424272 452 s000 R+ 10:12PM 0:00.01 grep post
と表示され、コマンドラインクライアントで接続できません。
> 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"?
私の知る限りでは、次のような修正案をすべて試しました。 その他の スタックオーバーフロー のスレッドでこの問題を議論しています。具体的には
- 私は postgres と付随する Ruby gem をアンインストールして再インストールしました。私のマシンには、postgres 8.0 のバージョンはありません。
- psql クライアント プログラムが Mac システムのバイナリではなく、Homebrew によってインストールされた 9.4.0 バージョンであることを確認しました。
- 私は /usr/local/var/postgres/postmaster.pid が存在しないことを確認しました。
- マシンをリブートしました。
以前、私はこのマシンで Homebrew postgres を動作させていました。壊したのはバージョン 8 からバージョン 9 へのアップグレードだと思いますが、確かではありません。
保存する必要のあるデータベースはありません。私は、postgres で一からやり直したいと思っています。何かアイデアはありますか?
問題は、/usr/local/var/postgres ディレクトリのパーミッションであったようです。以下は、動作していなかったときの var ディレクトリがどのようなものであったかです。
ll /usr/local/var/
drwxr-xr-x 3 billmcn admin 102 Dec 20 12:44 cache
drwxr--r-- 2 root admin 68 Dec 29 21:37 postgres
(whoami = "billmcn")です。
usr/local/var/postgresを削除し、postgresをアンインストールして再インストールしたら、こんな感じになりました。
ll /usr/local/var/
drwxr-xr-x 3 billmcn admin 102 Dec 20 12:44 cache
drwx------ 23 billmcn admin 782 Dec 30 10:51 postgres
このディレクトリのパーミッションをいじった覚えはないので、どうしてこのような状態になったのかは不明ですが、まあいいや。今は動いています。
どのように解決するのですか?
私は、インストールしたばかりの Yosemite で homebrew を使用して postgres をインストールする際に、同じ問題が発生しました。
まず最初に、私の brew 設定は次のようになります。
HOMEBREW_VERSION: 0.9.5
ORIGIN: https://github.com/Homebrew/homebrew
HEAD: 9f6926265f8e4be7cc80dfe9042f2cd3c1e8dc9e
Last commit: 64 minutes ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CELLAR: /usr/local/Cellar
CPU: quad-core 64-bit sandybridge
OS X: 10.10.1-x86_64
Xcode: 6.1.1
Clang: 6.0 build 600
X11: N/A
System Ruby: 2.0.0-481
Perl: /usr/bin/perl
Python: /usr/bin/python
Ruby: ~/.rvm/rubies/ruby-2.1.1/bin/ruby
まず最初に気づいたのは、私が
/usr/local/var/postgres
. これは簡単に変更でき
sudo chown -R `whoami` /usr/local/var/postgres
それから、postgresql を再インストールして、次のようにしました。
cat /usr/local/var/postgres/server.log
というのが明らかになった。
postgres cannot access the server configuration file "/usr/local/var/postgres/postgresql.conf": No such file or directory
そこで、ディレクトリを削除して
/usr/local/var/postgres
を削除し、データベースを初期化するコマンドを発行しました。
initdb -D /usr/local/var/postgres/
これでうまくいったようで、postgresは問題なく動作しています。
関連
-
[解決済み] psql: FATAL: データベース "<user>" が存在しない
-
[解決済み] homebrewのパーミッションを修正する方法は?
-
[解決済み] Postgresがサーバーに接続できない
-
[解決済み] Homebrew パッケージとその依存関係をすべてアンインストール/削除する。
-
[解決済み】Homebrewは特定のバージョンのformulaをインストールしますか?
-
[解決済み] MacのMavericksにPG gemをインストールできない。
-
[解決済み] YosemiteとValgrind
-
[解決済み] IntelliJ for Mac OS Xの "Alt-Insert "に相当するものは何ですか?
-
[解決済み] osxでシステムファイルを表示する / gitの無視を表示する
-
[解決済み] OS XでDockerを使った開発環境を構築する正しい方法とは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Postgresがサーバーに接続できない
-
[解決済み】Mac OS XでPostgreSQLサーバーを起動するには?
-
[解決済み] YosemiteとValgrind
-
[解決済み] Mac OS X Leopard の Emacs キーバインド
-
[解決済み] MacOS XにWiresharkをbrewでインストールする【終了しました
-
[解決済み] OSXでコマンドラインからGUI Emacsを起動するには?
-
[解決済み] OS XでDockerを使った開発環境を構築する正しい方法とは?
-
[解決済み] Mac OS Xでプログラムのシステムコールをトレースするには?
-
[解決済み] ペーストボードで入力文字列から改行文字を除去する最も簡単な方法
-
[解決済み] OSXでコマンドラインからAndroidStudioプロジェクトを開く