データベース応用 第 5 回 (安全なデータベースの設計) 「データの共有」 講義ノート目次

共有する際に必要なことを学ぶ。

データを他の人に使ってもらおう

ユーザを増やして、仲間にもデータを利用してもらう。 1 人目はデータベースにアクセスしてユーザを作ってみよう。

CREATE USER ユーザ名

実は KTerm からもデータベースにアクセスできるので、 2 人目を Kterm から加えてみよう。

% psql -c 'CREATE USER ユーザ名'

% psql -c 'SQL 実行文'

データベースのチェック

psql -l でどのようなデータベースがあるか調べることができる。


% psql -l       
        List of databases
   Name    |  Owner  | Encoding  
-----------+---------+-----------
 TEST      | pgsql   | SQL_ASCII
 madoka    | madoka  | SQL_ASCII
 pgsql     | pgsql   | SQL_ASCII
 postgres  | pgsql   | SQL_ASCII
 ta05001   | ta05001 | SQL_ASCII
 template0 | pgsql   | SQL_ASCII
 template1 | pgsql   | SQL_ASCII
 test      | madoka  | SQL_ASCII
(8 rows)

Owner が自分のユーザ ID であるものが、自分の所有しているデータベースである。

表のチェック

自分の所有しているデータベースに存在する表をチェックしてみよう。


ta05001=> \d
          List of relations
 Schema |   Name   | Type  |  Owner  
--------+----------+-------+---------
 public | practice | table | ta05001
(1 row)

ユーザのチェック

データベース作成を許可した人間、PostgresQL を動かすプログラム本人と、 自分が含まれていることを確認することができる。


ta05001=> \du
                               List of roles
 Role name | Superuser | Create role | Create DB | Connections | Member of 
-----------+-----------+-------------+-----------+-------------+-----------
 madoka    | yes       | yes         | yes       | no limit    | {}
 pgsql     | yes       | yes         | yes       | no limit    | {}
 ta05001   | no        | no          | yes       | no limit    | {}