久しぶりにPostgresqlを使おうとしてエラーでた話
こんにちは。
実は、
book.impress.co.jp
こんな情報が流れてきました。
それで、これはチャンスだ!と思って、速攻Go言語の本買いました。
サンプルコードを動かすために postgresql
を使うといこうことで久々に動かすかぁ、と思って
$ 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"?
おや?動かない。
サーバー起動してないんだろうなぁと思いつつも、以前Macフォーマットしてるので、
フォーマットしてからPostgreSQL入れてなかったかなぁ、と思いpostgres —version
を実行。
$ postgres --version
postgres (PostgreSQL) 10.0
いや、入ってるな。 じゃあやっぱりサーバー起動してない。
ググりました。
【再起動して解決】connections on Unix domain socket “/tmp/.s.PGSQL.5432”?への対処 | ベランダゴーヤ研究所
これ近いんじゃない?と思ってさーっと読みました。
結論から言うと、brew services
は使ったことがなかったので、これは違うな、と感じて、環境構築の段階の記事を見ました。
サーバー起動してみる
Qiitaの記事のコマンドを実行。
pg_ctl -D /usr/local/pgsql/data -l /var/log/postgres start pg_ctl: directory "/usr/local/pgsql/data" does not exist
うん、動かない。
ディレクトリ内って言ってるし、これじゃないことはわかった。
PGDATA設定されてるので、pg_ctl -l /usr/local/var/postgres/server.log
これかなぁ、と思って実行。
$ pg_ctl -l /usr/local/var/postgres/server.log pg_ctl: no operation specified Try "pg_ctl --help" for more information.
これも違う…
言われた通りhelp確認してみた。
読みながら、「あれ、そもそもstartいるんじゃね?」と言うことに気づいた。
pg_ctl -l /usr/local/var/postgres/server.log start waiting for server to start.... done server started
startくっつけたら動いた。
確認のために、psql -l
を実行。
Name | Owner | Encoding | Collate | Ctype | Access privileg -----------+------------+----------+-------------+-------------+---------------- postgres | hogehoge | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 |
うごいた!!歓喜!(※hogehogeは変更してあります)
こうして、やっとGoのサンプルコードを動かす準備はできました。
ふぅ…。笑