Webエンジニアの備忘録

およそ自己の作業メモとして残しております。

PostgreSQLのインストール

UbuntuPostgreSQLをインストールしてみました。 使い方についてもあまり知らなかったので、メモがてらCUI操作まで描いておきます。

パッケージのインストール

  • こちらで本体、クライアントなど一通りの関連パッケージがインストールされます。
$ sudo apt-get update
$ sudo apt-get install postgresql
$ sudo aptitude install libpq-dev
  • libpq-devはGemにて導入する際に必要とされたので、一応入れておくことにしました。

起動・終了コマンド

  • MySQLやNginxとだいたい同じ
$ sudo service postgresql start
$ sudo service postgresql stop
$ sudo service postgresql restart

コンソール

  • postgreというユーザーが作成されるので、最初はこちらでアクセス
$ sudo su - postgres // スイッチユーザー
$ psql  // PostgreSQL起動

postgres=#
  • ついでにvagrantに権限付与(suしなくてすむようになる)
    • ロール作成と、ユーザー名と同一のDatabase作成をおこなう。
postgres=# create role vagrant with createdb login;
CREATE ROLE
postgres=# \du
                             List of roles
 Role name |                   Attributes                   | Member of
-----------+------------------------------------------------+-----------
 postgres  | Superuser, Create role, Create DB, Replication | {}
 vagrant   | Create DB                                      | {}

postgres=# create database vagrant;
CREATE DATABASE
postgres=# \l
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 vagrant   | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
(4 rows)

postgres=# \q
↑終了コマンド
  • ちなみに、権限削除は「drop role vagrant;」となる。

GUIツールの利用(Mac

こちらのツールを利用してみました。

f:id:tak_taniguchi:20160627165428p:plain

設定はこんな感じ、vagrantユーザーでvagrantSSHしつつ、ローカル(Vagrant内)のPostgreSQLにつなぐ感じです。 vagrantユーザーログイン時のデフォルトパスワードは「vagrant」です。