SQL分の書き方が分からず恐いのでドットインストールで勉強しようと思ったのだが、使えるようにするまでにものすごく手こずったので手順をメモしとく。
Vagrantを起動して入る
vagrant up
vagrant ssh
インストール〜起動
sudo yum install postgresql-server
yumでインストール。
sudo mkdir -p /var/lib/pgsql
これと
chown -R postgres:postgres /var/lib/pgsql
これはよく分からないまま実行した。
sudo service postgresql initdb
データベースクラスタの生成(自分の環境では/var/lib/pgsql/dataみたい)。正直これも「?」。
sudo service postgresql start
起動。あとは毎回 start は面倒くさいのでsudo chkconfig postgresql on
する。
ログイン
sudo -u postgres psql
この時点で、 postgres というユーザー名でPostgreSQLにログインできた。 \q で抜けることができる。
同様にデータベースの作成は
sudo -u postgres createdb [DBname]
削除だったらcreatedbを dropdb に置き換える。
使用は
sudo -u postgres psql [DBname]
これでとりあえずデータベースを作ったり消したり遊べるようにはなった。
ただいちいちsudo -u postgres
でユーザー指定しているのは非常に格好わるいので新しくユーザーを追加すべき。
sudo -u postgres createuser
すると色々と聞かれた。
作成するロール名を入力してください:
新しいロールをスーパーユーザとしますか? (y/n)
新しいロールにデータベース作成権限を与えますか? (y/n)
新しいロールにロールを作成する権限を与えますか? (y/n)
ロールというのはユーザーとほぼ同じ意味だと思われる。
自分の場合は vagrant というユーザー名にし、データベースの作成権限のみを与えた。プロンプトが vagrant@localhost となっているなら上記のアクションはsudo -u postgres
を書かずに実行できるようになるはず(ここら辺の知識がちょっと曖昧だったりする)。 createuser のみ権限が無いため不可。