2021年9月12日日曜日

ラズパイにPostgreSQLを入れてみる

 「OSS DB」という試験を受けようと思ったので、
公式で推していた「PostgreSQL」の環境構築をする。
環境はラズパイ3に作っていく。

インストール

いつも通り、apt-getを新しくしてから取得する

$ sudo apt-get update
$ sudo apt-get install postgresql

ポスグレの管理ユーザにパスワード設定

インストールすると、まず自動で「postgre」という管理ユーザが作られる
コイツにパスワードを設定しておく(★注意:忘れないように!)
$ sudo passwd postgre
[sudo] password for pi:
新しいUNIXパスワードを入力してください:
新しいUNIX パスワードを再入力してください:
passwd: パスワードは正しく更新されました

PostgreSQLサーバ接続

さっき作った管理ユーザ(postgres)にsuして、
そのあと、PostgreSQLサーバへ接続
$ su postgres
パスワード:★ここでパスワードを聞かれるので、さっき設定したパスワード入力

postgres@raspberrypi:/home/pi$ psql
psql (9.6.23)
"help" でヘルプを表示します.

postgres=#  接続成功!
バージョンは9.6のようだ。
この「postgres=#」が出てるときに「\q」を入力するとPSQLを終了できる。

勉強用ユーザ追加

勉強用ユーザ(いつもラズパイを操作しているユーザ)で操作できるよう
ユーザ追加していく
## まずは、現在のユーザ確認
postgres=# \du
                                                      ロール一覧
 ロール名 |                                              属性                                              | メンバー
----------+------------------------------------------------------------------------------------------------+----------
 postgres | スーパーユーザ, ロールを作成できる, DBを作成できる, レプリケーション, 行単位セキュリティを無視 | {}
 
postgres=#
postgres=#


## いつもラズパイにログインするときのユーザ「pi」を登録
postgres=# CREATE USER pi;

## 改めて、現在のユーザ確認
postgres=# \du
                                                      ロール一覧
 ロール名 |                                              属性                                              | メンバー
----------+------------------------------------------------------------------------------------------------+----------
 pi       |                                                                                                | {}
 postgres | スーパーユーザ, ロールを作成できる, DBを作成できる, レプリケーション, 行単位セキュリティを無視 | {}


## DBを操作する権限を与える
 postgres=# ALTER USER pi CREATEDB;

## 改めて、現在のユーザ確認
postgres=# \du
                                                      ロール一覧
 ロール名 |                                              属性                                              | メンバー
----------+------------------------------------------------------------------------------------------------+----------
 pi       | DBを作成できる                                                                                 | {}
 postgres | スーパーユーザ, ロールを作成できる, DBを作成できる, レプリケーション, 行単位セキュリティを無視 | {}
 
完了!

勉強用ユーザで操作してみる

最後に勉強用ユーザでPSQLが操作できるか確認
## まずはPSQLから抜ける
postgres=# \q
postgres@raspberrypi:/home/pi$

## suで入ってるpostgresからも抜ける
postgres@raspberrypi:/home/pi$ exit
exit
pi@raspberrypi:~ $

## このpiユーザでPSQLを操作(DBを作成)
pi@raspberrypi:~ $ createdb ossdb

## このpiユーザでPSQLを操作(DBが作られているか確認)
pi@raspberrypi:~ $ psql -l
                                         データベース一覧
   名前    |  所有者  | エンコーディング |  照合順序   | Ctype(変換演算子) |      アクセス権
-----------+----------+------------------+-------------+-------------------+-----------------------
 ossdb     | pi       | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       |
 postgres  | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       |
 template0 | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       | =c/postgres          +
           |          |                  |             |                   | postgres=CTc/postgres
 template1 | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       | =c/postgres          +
           |          |                  |             |                   | postgres=CTc/postgres
(4 行)

先頭行に所有者「pi」でDBが作られていることが確認できた。

 設定終わり!

0 件のコメント:

コメントを投稿