1

次の手順に従って、Homebrew で PostgreSQL をインストールしました (初めて Homebrew を使用): http://dhilipsiva.blogspot.se/2013/02/install-postgresql-on-os-x-using.html

最後のステップは機能しませんでした。サーバーを起動することになっていると思います。ただし、公式ドキュメント (17.2 および 17.3) に従って、データベース クラスターを正常に作成し、データベース サーバーを起動したと思います: http://www.postgresql.org/docs/9.2/interactive/runtime.html

私の問題はcreatedb mydb、ターミナルでデータベースを作成しようとすると、次のメッセージが表示されることです。

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

ここで投げかけられている多くの概念 (ソケット、パス変数など) は私にとって新しいものであるため、私は非常に混乱しています。また、最近 Windows から移行したので、Mac OS X のディレクトリ構造についても混乱しています。誰かが私を正しい方向に向けることができれば、それは大歓迎です。

更新 いつものように、投稿すると答えが見つかります。ほとんど: この投稿で受け入れられた回答は、私の Unix ドメイン ソケット (それが何であれ) が Postgres が想定していない場所にあるという結論に導きます。

Postgres を起動できません

-h フラグを使用すると、機能します。問題は、正しい場所でソケットを探すように Postgres を構成するにはどうすればよいかということです。

4

1 に答える 1

0

OS X が提供するデフォルトの PostgreSQL クライアントを実行しているようです。これは、Unix ドメイン ソケットが Homebrew バージョンとは異なる場所にあることを期待しています。基本的、

/usr/bin/{createdb,psql,...} ---> /var/pgsql_socket/.s.PGSQL.5432
/usr/local/bin/{createdb,psql,...} ---> /tmp/.s.PGSQL.5432

したがって、正しいパスを呼び出すように、パスが正しく設定されていることを確認してください。

または、次のようにソケットの場所をオーバーライドできます。

createdb -h /tmp ...
于 2013-09-10T18:10:48.633 に答える