LoginSignup
1
5

More than 5 years have passed since last update.

UbuntuにPostgreSQLをインストール

Last updated at Posted at 2017-06-04

環境: Ubuntu 16.04.2 LTS

PostgresSQL 9.5.7をインストールする。

インストール

% sudo apt-get update
% sudo apt-get install -y postgresql

セットアップ

初期設定

% sudo -i -u postgres
postgres% psql
postgres=# \du
List of roles
Role name |                         Attributes                         | Member of
----------+------------------------------------------------------------+-----------
postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}

postgres=# \password postgres
Enter password for new role:
Enter it again:

ユーザ作成

postgres% createuser -P hoge
postgres% psql
postgres=# \du
List of roles
Role name |                         Attributes                         | Member of
----------+------------------------------------------------------------+-----------
hoge      |                                                            | {}
postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}

postgres=# alter role hoge with password 'password';

DB作成

postgres=# create database geho;
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 |
geho      | 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

DBに権限付与

postgres-# GRANT ALL ON DATABASE geho TO hoge;
postgres-# \l
                            List of databases
Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
geho    | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =Tc/postgres         +
|          |          |             |             | postgres=CTc/postgres+
|          |          |             |             | ii=CTc/postgres
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
(4 rows)

一般ユーザによるDBアクセス

hoge% psql postgres hoge
postgres=> \connect geho
geho=> CREATE TABLE fuga
geho-> (id int, name character varying(5));
CREATE TABLE
geho=> \dt
      List of relations
Schema | Name | Type  | Owner
--------+------+-------+-------
public | fuga | table | hoge
(1 row)
geho=> SELECT * FROM fuga;
id | name
----+------
(0 rows)

参考文献

1
5
0

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
1
5