質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Q&A

解決済

1回答

8439閲覧

postgreSQLの起動ができない。

Gintyan

総合スコア10

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

0グッド

0クリップ

投稿2019/08/10 03:34

現在、 postgreSQLのインストールをbrewにて行いました。
しかしながら、起動がうまくできないといった不具合が発生しています。

以前、少しだけ同一MacOS試した時は起動、接続がすんなりできたのですが、、、(postgreのversionは違ったかと思います。)

環境
OS:Mac Mojank 10.14.5
postgreSQL version : postgres (PostgreSQL) 11.4

実行したコマンド

bash

1$ brew install postgresql #brew にて postgresqlをインストール 2#ファイルの移動、試用ディレクトリの作成 3$ cd Documents 4$ mkdir study 5$ cd study 6$ mkdir postgres 7#初期化 8$ initdb postgres 9The files belonging to this database system will be owned by user "user". 10This user must also own the server process. 11 12The database cluster will be initialized with locale "ja_JP.UTF-8". 13The default database encoding has accordingly been set to "UTF8". 14initdb: could not find suitable text search configuration for locale "ja_JP.UTF-8" 15The default text search configuration will be set to "simple". 16 17Data page checksums are disabled. 18 19creating directory postgres ... ok 20creating subdirectories ... ok 21selecting default max_connections ... 100 22selecting default shared_buffers ... 128MB 23selecting default timezone ... Asia/Tokyo 24selecting dynamic shared memory implementation ... posix 25creating configuration files ... ok 26running bootstrap script ... ok 27performing post-bootstrap initialization ... ok 28syncing data to disk ... ok 29 30WARNING: enabling "trust" authentication for local connections 31You can change this by editing pg_hba.conf or using the option -A, or 32--auth-local and --auth-host, the next time you run initdb. 33 34Success. You can now start the database server using: 35 36 pg_ctl -D postgres -l logfile start 37 38#起動 39$ pg_ctl -D postgres -l logfile start 40waiting for server to start.... stopped waiting #スタートできず。.. 41pg_ctl: could not start server 42Examine the log output. 43 44#こちらの方法でも検証... 45$ postgres -D postgres 462019-08-10 12:14:04.505 JST [2576] FATAL: data directory "/Users/user/Documents/Study/postgres" has invalid permissions 472019-08-10 12:14:04.505 JST [2576] DETAIL: Permissions should be u=rwx (0700) or u=rwx,g=rx (0750). 48#だめ・・・ 49$ pg_ctl status -D postgres 50pg_ctl: no server running 51

エラーログのこの部分もよくわからないため、解決策が全くわかりません・・・
どなたか助けていただけるとありがたいです。

bash

12019-08-10 12:14:04.505 JST [2576] DETAIL: Permissions should be u=rwx (0700) or u=rwx,g=rx (0750). 2コード

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

data directory "/Users/user/Documents/Study/postgres" has invalid permissions DETAIL: Permissions should be u=rwx (0700) or u=rwx,g=rx (0750).

これはディレクトリのPermissionのことです、

chmod 700 /Users/user/Documents/Study/postgres

とかで治るのではないでしょうか。

投稿2019/08/10 04:16

mokemokechicken

総合スコア948

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Gintyan

2019/08/10 04:23

アクセス権に関するエラーログだったんですね!
Gintyan

2019/08/10 04:24 編集

ちなみに、余談なのですが。 mokemokechickenさんがおっしゃられている”Permission” とは、”アクセスの許可”といった意味合いで間違い無いのでしょうか?
mokemokechicken

2019/08/10 04:59 編集

> ”Permission” とは、”アクセスの許可”といった意味合いで間違い無いのでしょうか? そうですね、役割はそんな感じです。 簡単に説明すると、、 ディレクトリのPermission は Linuxっぽい(Macも含む)ファイルシステムの基本的な仕組み・概念です。 またディレクトリのOwner(所有者)という概念があります。 このOwner, Permissionの2つによって、「Owner自身」「ディレクトリのグループに所属するユーザー(つまりグループという概念もある)」「それ以外のユーザー」の3種類のユーザそれぞれに対して、「Read/Write/実行許可」などを管理できます(もうちょっと違うのもありますが)。 ■ 訂正 誤:「Ownerと同一グループのユーザー」 正: 「ディレクトリのグループに所属するユーザー」(Ownerと同一かは関係ない) → 大抵OwnerのDefaultグループになるので間違えてしまいました... 操作については以下のがまとまっている気がします。 https://qiita.com/t-a-run/items/239ed690ece7a011804a この辺のキーワードでググると色々解説記事も出てくるので調べてみると良いと思います。
mokemokechicken

2019/08/10 04:37

余談ですが、 chmod 700 .... というのは 「そのディレクトリの所有者以外には読めない(&書けない)にする」 > 所有者以外でも root ユーザーには見えますが ということになります。 Linux系システムは多くのユーザーが使うことを想定しているので、 そのサーバーにLoginできるが中身をみせたくない人に大事なデータを覗かれないようにするための措置 という感じですね。
Gintyan

2019/08/10 04:49

ありがとうございます!なんとか起動できました! 参照サイトの方、参考にさせていただきますね。 あと、最後にご質問させて頂きたいのですが chmod 700 でファイルのpermissionを変更した後、postgreを起動。その後、終了。 再度、起動をしようとするとpermissionに関するエラーが再度出現するのですが、何らかのタイミングでchmodで変更したpermissionはデフォルト値?に戻ってしまうのでしょうか? なお、再度permissonを700に変更すると問題なくpostgresqlは実行できました。
mokemokechicken

2019/08/10 04:52

> 再度、起動をしようとするとpermissionに関するエラーが再度出現するのですが、何らかのタイミングでchmodで変更したpermissionはデフォルト値?に戻ってしまうのでしょうか? 普通は戻らないですね... 何かが戻しているんでしょうね。。。
Gintyan

2019/08/10 05:03

mokemokeさんにはそれは思い当たりませんかね・・・?
mokemokechicken

2019/08/10 05:10

ちょっと心当たりはないですね… ぐぐってもそれっぽいのも無いですし。 調べるとしたら、起動した後 ls -ld /Users/user/Documents/Study/postgres をずっと見ておいて、どのタイミングでPermissionが戻ってしまうのか見てみるとかですかね... a) 起動直後に変わる → 起動したPostgres が何かしている b) 起動してしばらくしたら変わる → 他の何かが影響しているかも? あまりなさそう c) 終了間際に変わる → 終了処理にそういう何かが操作している という感じですかね。a or c だとは思いますが、謎ですね。。。
Gintyan

2019/08/10 05:15

そうですよね・・・ ご回答ありがとうございました!少し、前に進めました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問