0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

行き当たりばったり学習~PostgreSQL PGAdmin操作編(RHEL8)~

Last updated at Posted at 2022-10-20

皆さんこんにちは!

医療業界から IT にチャレンジして2年目のharuです。

前回、pgAdminからの接続設定ができたことで晴れて PosgreSQL の操作ができます!
そこで今回は基本的な操作方法について共有したいと思います。

ユーザー作成

1.[ログイン/グループロール]を右クリックし、[作成]→[ログイン/グループロール...]を選択
ユーザー1.PNG
2.[General]タブの[名前]に任意のユーザー名を入力
ユーザー2.PNG
3.[権限]タブで付与したい属性を選択して右下の[保存]ボタンをクリック
ユーザー3.PNG
4.作成完了
ウィンドウの右側にユーザー作成時に裏で入力されたコマンド表示されています。
ユーザー4.PNG

データベースの作成

1.[データベース]を右クリックし、[作成]→[データベース...]を選択
DB0.PNG
2.[General]タブの[名前]任意のデータベース名を入力
DB2.PNG
3.[定義]タブで文字コード等の任意の設定を選択し、保存をクリック
DB3.PNG
4.作成完了
DB4.PNG

ちなみに作成されたデータベースの文字コード等を確認する方法は以下です。

/* シェル上から実行する方法です。*/
[postgres@postgreSQL ~]$ psql -l
                                                          データベース一覧
   名前    |  所有者  | エンコーディング | 照合順序 | Ctype(変換演算子) | ICUロケール | ロケールプロバイダー |     アクセス権限

-----------+----------+------------------+----------+-------------------+-------------+----------------------+----------------------
-
 postgres  | postgres | UTF8             | C        | C                 |             | libc                 |
 template0 | postgres | UTF8             | C        | C                 |             | libc                 | =c/postgres
+
           |          |                  |          |                   |             |                      | postgres=CTc/postgres
 template1 | postgres | UTF8             | C        | C                 |             | libc                 | =c/postgres
+
           |          |                  |          |                   |             |                      | postgres=CTc/postgres
 test_db1  | postgres | UTF8             | C        | C                 |             | libc                 |
(4 行)

――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
/* もしくは以下の方法もあります。*/

[postgres@postgreSQL ~]$ psql test_db1
psql (15.0)
"help"でヘルプを表示します。

test_db1=# \l
                                                          データベース一覧
   名前    |  所有者  | エンコーディング | 照合順序 | Ctype(変換演算子) | ICUロケール | ロケールプロバイダー |     アクセス権限

-----------+----------+------------------+----------+-------------------+-------------+----------------------+----------------------
-
 postgres  | postgres | UTF8             | C        | C                 |             | libc                 |
 template0 | postgres | UTF8             | C        | C                 |             | libc                 | =c/postgres
+
           |          |                  |          |                   |             |                      | postgres=CTc/postgres
 template1 | postgres | UTF8             | C        | C                 |             | libc                 | =c/postgres
+
           |          |                  |          |                   |             |                      | postgres=CTc/postgres
 test_db1  | postgres | UTF8             | C        | C                 |             | libc                 |
(4 行)

――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
/* カレントユーザーのみの文字コードも以下のコマンドで確認できます。 */

test_db1=# select character_set_name FROM information_schema.character_sets;
 character_set_name
--------------------
 UTF8
(1 行)

PostgreSQLの文字コード一覧は、以下のマニュアルをご参照ください。

PostgreSQL 15.0文書-24.3. 文字セットサポート

pgAdmin の接続ユーザー変更

1.[PostgreSQL]右クリックし、[サーバーから切断]を選択
再接続.PNG

2.[はい]を選択
再接続2.PNG

3.[Servers]を右クリックし、[登録]→[サーバ]を選択
再接続3.PNG

4.情報登録
サーバー名を入力します。
再接続4.PNG
[ホスト名/アドレス]、[ポート番号]、[管理用データべース]は変更せず、
[ユーザー名]と[パスワード]に先ほど作成したユーザー情報を入力します。
再接続5.PNG
ちなみにユーザーパスワードを設定していない場合は、あらかじめ以下の方法で設定可能です。

test_db1=# alter role test_user1 with password 'test_user1';
ALTER ROLE

入力し終わったら保存をクリックします。

5.接続完了
先ほど作成したデータベースが確認できます。
再接続6.PNG

テーブル作成

1.[ツール]タブの[クエリツール]を選択
テーブル作成1.PNG
コンソール画面が表示されました。
テーブル作成2.PNG

2.テーブル作成コマンドを入力し、▶ボタンで実行
テーブル作成3.PNG
あれ、権限のエラーが出ていますね。
image.png
ユーザー:test_user1 どのような権限を持っているのか確認してみましょう。

test_db1=# \du
                                                ロール一覧
  ロール名  |                                     属性                                     | 所属グループ
------------+------------------------------------------------------------------------------+--------------
 postgres   | スーパーユーザー, ロール作成可, DB作成可, レプリケーション可, RLS のバイパス | {}
 test_user1 | ロール作成可, DB作成可, レプリケーション可                                   | {}

権限が足りないみたいです。
せっかくなので、test_user1 君に最高権力である SUPERUSER を付与してみます。

test_db1=# alter role test_user1 with superuser;
ALTER ROLE

CREATE 分を再実行してみます。
テーブル作成5.PNG
成功したようです。

[参考]
SQLサンプルコード (PostgreSQLで動作確認)
PostgreSQLの権限系操作まとめ

テーブル参照

何ら特徴の無いSQLです。
先ほどテーブルが正常に作成されたことが確認できます。

参照1.PNG

ちなみにコマンドラインでは以下のように味気ないです。

test_db1=# create table test_ta (id integer, name varchar(10));
CREATE TABLE

pgAdmin だと GUI でイメージし易くていいですね。

データ挿入

次はあらかじめ作っておいた test_ta2 にデータを入れます。

test_db1=# \dt
              リレーション一覧
 スキーマ |   名前   |  タイプ  |   所有者
----------+----------+----------+------------
 public   | test_ta  | テーブル | postgres
 public   | test_ta2 | テーブル | test_user1 ★
(2 行)

参照2.PNG
できました。
参照3.PNG

データ更新

削除.PNG
更新.PNG

データ削除

削除100.PNG
削除200.PNG

簡単なコマンドなので最後の方はコメント無しですが、、、
ざっくりと基本操作をしてみました。

ではまた!

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?