Macにpostgresql.appを入れて起動、で手間取ったところ

結論から言いますと、postgresql.appはインストール後、Startを押す以外操作することは無いようです。

postgres起動後にTerminalで

createuser <username> -P -S -R -D

パスワード2回入力

createdb -O <databasename> <databasename>

でデータベースの設定は完了のようです。

ここからは失敗例です

Macにpostgresをインストールする方法を検索すると、ほとんどがbrewで入れるのが簡単、と出てくるんですが、brewで入れたpostgresqlが

brew services postgresql

でサービスとして起動を試みたらerrorが出てしまって、チェックするとコマンドは通ってもサービスとしてはerrorで起動してないことになっていました。

なので、ちょっと他にも簡単に扱えそうなものがないかとpostgresのサイトを見に行ったら、postgres.appというのがあって、GUIアプリだしそっちを使った方がわかりやすいんでは、と使ってみましたら、そこでもうまく起動しなかったので、一応メモとして残してみます。(後に余計なことをしていたとわかりました。)

postgres.appのインストール

https://www.postgresql.jp/download

brewでなくpostgresのサイトからpostgres.appをダウンロードしてきてインストールします。手順はクリックしていくだけなので下記の画像の場面までは難なくいけると思います。

PostgreSQL14の起動と終了

手間取った箇所はここからで、PostgreSQL14を起動して、ServerをStartのボタンを押します。そこまではなんの問題もなく画像のようにRunningまで行きましたが、それだけだとpgsql -l コマンドを打ってもcommand not foundのままでした。

(こちら追記になりますが、Runningですでにpostgresは起動していて、pgsql -lというコマンドは打ち間違いでpsql -l だと反応しました。)

たぶんこの下に並んでるpostgres, template1, <usernameは一応黒く塗っときました>、のどれかを押すとTerminalが起動してpostgresのコマンドが使えるのだろう、といった予想ができます。(メニュー見ても何もできることはなく、押せるのはそのボタンだけだったため)

んで、クリックすると、待機中のあの虹色クルクル回る矢印になってだいぶ待ってからこんなエラーが出ます。

PostgreSQLが起動できない

postgres.appからTerminalを開こうとしたけどpermissionが足りなくてTerminalを起動できませんでした。って意味だと思いますね。

システム環境設定→セキュリティとプライバシー、でpostgres.appにフルアクセス権限を与えても結果は同じだったので保留。

すぐ下にmanualで起動できる方法も載っていて、こちらを試したらTerminalでpostgresユーザーで起動ができました。

/Applications/Postgres.app/Contents/Versions/14/bin/psql -p 5432 “postgres”

このコマンドをTerminalで打つのです。

PostgreSQLの起動確認、Terminalコマンド

このように、postgresユーザーで起動した様子がわかります。postgresからquitした後もpsql -l でコマンドが通っていてテーブルが表示されました。

追記

再度postgresユーザーになるにはsu postgresなどを試してみましたが変わらなくて、

PostgreSQLを開けませんでした

わざわざこのエラーを出してから

/Applications/Postgres.app/Contents/Versions/14/bin/psql -p5432 “postgres”

をTerminalにコピペしてやっと切り替えになることがわかりました。

もっと違う方法もあるのかもですが、手探りで使っているpostgres.appなのでひとまずこれをしたらpostgresユーザーに切り替わった、という例です。

さらに追記

上記でやったpostgresユーザーはなんのコマンドを入力しても反応がなかったので使用不可でした。結局postgresではなく一般ユーザーでcreatedbとcreateuserをしました。

こういった似たようなエラーで悩むことがあったら参考になればいいな、といったメモ書きです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です