プロが教える店舗&オフィスのセキュリティ対策術

データベースの勉強をしようと思い、PostgreSQLを導入しようと色々試したのですがうまく行きません。

initdb /usr/local/var/postgres -E utf8
でデータベースの初期化はできたみたいなのですが

postgres -D /usr/local/var/postgres
でサーバーを起動しようとすると
postgres: could not access the server configuration file "/usr/local/var/postgres/postgresql.conf": Permission denied

となり
psql -l
を実行しても
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 -D /usr/local/var/postgresを実行してサーバーは一度も起動出来ていません。

普通にPostgreSQLをインストールしてSQLで遊べたらそれでいいのですが、初めに躓いてしまいました。。。

初歩的な質問かもしれませんが、わかる方いらっしゃいましたらご回答の程よろしくお願い致します。

質問者からの補足コメント

  • うーん・・・

    ご回答ありがとうございます。
    権限はどのように付与すればよろしいでしょうか?

    ルート権限で
    chmod 777 /usr/local/var/postgres/postgresql.conf
    chmod 777 /usr/local/var/postgres
    を実行し確認したところ
    drwxrwxrwx postgres
    -rwxrwxrwx postgres.conf
    となっていました。この状態で
    postgres -D /usr/local/var/postgres
    を実行すると
    FATAL: data directory "/usr/local/var/postgres" has wrong ownership
    HINT: The server must be started by the user that owns the data directory.
    と表示されました。

    No.2の回答に寄せられた補足コメントです。 補足日時:2017/05/30 21:14
  • ムッ

    ご回答ありがとうございます。

    もちろんこちらで質問させていただく前に、lowrider_2005様のご指摘の内容は何度も調べて様々なパターンで試したのですが、それでも解決しなかったのでここで質問させて頂いています。

    chmodですべてのパターンを試したつもりですが結果は常に同じになってしまいます。
    具体的にどのように権限を設定すればよろしいでしょうか?
    正しい権限設定をしているのにも関わらず同じエラーが出ているとすれば、原因は他にありそうなので参考までに教えて頂ければ助かります。(現状私の力では正しい権限設定を特定できません。)

    導入手順はこちらの記事を参考にしました。
    http://qiita.com/tstomoki/items/0f1a930bd42a8e1f …
    記事の中の「PostgreSQLサーバの起動」の項で質問内容のエラーが起きてしまいます。

    OSはMacです。

    No.3の回答に寄せられた補足コメントです。 補足日時:2017/06/04 22:48

A 回答 (3件)

>FATAL: data directory "/usr/local/var/postgres" has wrong ownership


>HINT: The server must be started by the user that owns the data directory.

ちゃんと原因を出してくれてるじゃないですか。
最初のエラーもそうだけど、これでわからないならこの先かなり難しいと思いますよ。
また自分で何をしているかも理解せずchmodなんてやるのは危険です。
作業前に必ずバックアップをとって戻せるようにしてから作業したほうがよろしいかと思います。

どんなOSの上でどのようにインストールしたPostgreSQLか存じませんが、ネット上に先人たちの知恵がたくさんあるわけですから有効に活用してください。
また闇雲に作業せず、その作業が何を意図しているのかも理解しながら進めてください。
それが勉強というものです。
この回答への補足あり
    • good
    • 1

>postgres: could not access the server configuration file "/usr/local/var/postgres/postgresql.conf": Permission denied



というメッセージのとおりなのではないでしょうか。
postgresqlのユーザと/usr/local/var/postgres/postgresql.conf(またはそれが含まれるディレクトリ)のパーミッションを確認してはいかがでしょうか。
この回答への補足あり
    • good
    • 1

詳しくわかりませんが以下のURLを見つけました。


検索語句は「PGSQL.5432」
http://qiita.com/ms2sato/items/a0f7d32a3ecda76a7 …
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

rm /usr/local/var/postgres/postmaster.pid
を実行すると
rm: /usr/local/var/postgres/postmaster.pid: Permission denied
と表示されるので、

chmod 700 /usr/local/var/postgres
としてから同じコマンドを実行しても、結果は変わりませんでした。

また、su - でroot権限になってから
同じコマンドを実行すると
rm: /usr/local/var/postgres/postmaster.pid: No such file or directory
と言われてしまいます。。。

お礼日時:2017/05/30 20:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す