皆さんこんにちは!
医療業界から IT にチャレンジして2年目のharuです。
前回、pgAdminからの接続設定ができたことで晴れて PosgreSQL の操作ができます!
そこで今回は基本的な操作方法について共有したいと思います。
ユーザー作成
1.[ログイン/グループロール]を右クリックし、[作成]→[ログイン/グループロール...]を選択
2.[General]タブの[名前]に任意のユーザー名を入力
3.[権限]タブで付与したい属性を選択して右下の[保存]ボタンをクリック
4.作成完了
ウィンドウの右側にユーザー作成時に裏で入力されたコマンド表示されています。
データベースの作成
1.[データベース]を右クリックし、[作成]→[データベース...]を選択
2.[General]タブの[名前]任意のデータベース名を入力
3.[定義]タブで文字コード等の任意の設定を選択し、保存をクリック
4.作成完了
ちなみに作成されたデータベースの文字コード等を確認する方法は以下です。
/* シェル上から実行する方法です。*/
[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]右クリックし、[サーバーから切断]を選択
3.[Servers]を右クリックし、[登録]→[サーバ]を選択
4.情報登録
サーバー名を入力します。
[ホスト名/アドレス]、[ポート番号]、[管理用データべース]は変更せず、
[ユーザー名]と[パスワード]に先ほど作成したユーザー情報を入力します。
ちなみにユーザーパスワードを設定していない場合は、あらかじめ以下の方法で設定可能です。
test_db1=# alter role test_user1 with password 'test_user1';
ALTER ROLE
入力し終わったら保存をクリックします。
テーブル作成
1.[ツール]タブの[クエリツール]を選択
コンソール画面が表示されました。
2.テーブル作成コマンドを入力し、▶ボタンで実行
あれ、権限のエラーが出ていますね。
ユーザー:test_user1 どのような権限を持っているのか確認してみましょう。
test_db1=# \du
ロール一覧
ロール名 | 属性 | 所属グループ
------------+------------------------------------------------------------------------------+--------------
postgres | スーパーユーザー, ロール作成可, DB作成可, レプリケーション可, RLS のバイパス | {}
test_user1 | ロール作成可, DB作成可, レプリケーション可 | {}
権限が足りないみたいです。
せっかくなので、test_user1 君に最高権力である SUPERUSER を付与してみます。
test_db1=# alter role test_user1 with superuser;
ALTER ROLE
[参考]
SQLサンプルコード (PostgreSQLで動作確認)
PostgreSQLの権限系操作まとめ
テーブル参照
何ら特徴の無いSQLです。
先ほどテーブルが正常に作成されたことが確認できます。
ちなみにコマンドラインでは以下のように味気ないです。
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 行)
データ更新
データ削除
簡単なコマンドなので最後の方はコメント無しですが、、、
ざっくりと基本操作をしてみました。
ではまた!