LoginSignup
19
26

More than 5 years have passed since last update.

(メモ)Vagrant環境でPostgreSQL

Posted at

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 のみ権限が無いため不可。

本当はパスワードの設定とかもやるべきなのだろうが、それはまた今度にしよう。

19
26
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
26