pgAdmin 4 の主要機能

pgAdmin 4は,PostgreSQLの総合的な管理を実現する効率的なツールである.

目次

  1. データベース・一般ユーザのアカウント(ユーザ名とパスワード)作成
  2. データベースの作成と権限の設定
  3. SQL の編集と実行,SQL 実行結果のファイル出力
  4. テーブルの一覧表示と中身の表示と更新(行の追加,行の削除,値の更新)

前準備

PostgreSQL のインストール

あらかじめ決めておく事項

データベースを作成する前に,データベース名と漢字コード(エンコーディング)を決定する必要がある.本ページでは,以下の設定を使用する.

また,データベース・一般ユーザのアカウント作成に必要なユーザ名パスワードを以下のように設定する.

データベース・一般ユーザのアカウント作成およびデータベースの作成と権限の設定には,PostgreSQL データベース管理者の認証情報が必要となる.本ページでは,管理者ユーザ名を postgres として説明する.

PostgreSQL への接続と切断

pgAdmin 4 でPostgreSQLを利用するには,まずPostgreSQL への接続を確立する必要がある.以下に,PostgreSQL データベース管理者 (postgres) として接続する手順を説明する.

  1. マスターパスワードの設定
  2. オブジェクトブラウザで,PostgreSQL 12.0 (localhost:5432)右クリックし,「Properties (プロパティ)」を選択する.
  3. 使用するデータベース名とユーザー名の設定
  4. PostgreSQL 12右クリックし,「Connect Server (接続)」を選択する.
  5. パスワード認証画面が表示されたら,パスワードを入力する.
  6. 切断するには,PostgreSQL 12右クリックし,「Disconnect Server (切断)」を選択する.

データベース・一般ユーザのアカウント(ユーザ名とパスワード)作成

  1. pgAdmin 4 で,PostgreSQL接続する.

    接続時には,ユーザ名 pgadminを使用すること.

  2. (未展開の場合)PostgreSQL 12展開する.

    オブジェクトブラウザで,PostgreSQL 12 の左側の「+」をクリックして展開する.

  3. Login/Group (ログイン/グループロール)」を右クリックし,「Create」から「Login/Group Role...」を選択する.
  4. ユーザ名パスワードの設定

    以下の例では,ユーザ名を testuser,パスワードを hoge$#34hoge5 として設定する.

    • ロール名: testuserを設定
    • パスワード: hoge$#34hoge5を設定

      * セキュリティ確保のため,実際の運用では異なるパスワードを使用すること.

データベースの作成と権限の設定

  1. pgAdmin 4 で,PostgreSQL接続する.

    接続には,ユーザ名 pgadminを使用すること.

  2. (未展開の場合)PostgreSQL 12展開する.

    オブジェクトブラウザで,PostgreSQL 12 の左側の「+」をクリックして展開する.

  3. PostgreSQL 12」を右クリックし,「Create」から「Database...」を選択する.
  4. データベースの作成とオーナの設定

    以下の例では,データベース名を testdb,オーナーを testuser,漢字コード(エンコーディング)を UTF8 として設定する.

    • Database (データベース): testdbを設定
    • Owner (オーナー): testuserを設定

      データベースオーナーには全ての操作権限が付与される.セキュリティ上,PostgreSQL データベース管理者 (pdadmin) とは別のアカウントを使用することを推奨する.

    • Encoding (エンコーディング): UTF8を設定

SQL の編集と実行,SQL 実行結果のファイル出力

対象データベースを選択し,Query ウインドウを開く. Query ウインドウでは,SQL の編集・実行,PostgreSQL コマンドの実行が可能である. 以下に,SQL によるテーブルの定義問い合わせ更新の実行例を示す.

  1. pgAdmin 4 で,PostgreSQL接続する.

    セキュリティ上,一般ユーザでの接続を推奨する. 不必要なPostgreSQL データベース管理者での接続は避けること.

  2. (未展開の場合)PostgreSQL 12展開する.

    オブジェクトブラウザで,PostgreSQL 12 の左側の「+」をクリックして展開する.

  3. Databases (データベース)」を展開する.

    左側の「+」をクリックして展開する.

  4. データベースの選択

    表示されたデータベース一覧から,操作対象のデータベースを選択する.

  5. Query Tool」をクリックする.
  6. SQL によるテーブル定義

    Query ウインドウが表示される.以下のような SQL を編集・実行できる.

    create table order_records (
        id            integer primary key not null,
        year          integer not null CHECK ( year > 2008 ),
        month         integer not null CHECK ( month >= 1 AND month <= 12 ),
        day           integer not null CHECK ( day >= 1 AND day <= 31 ),
        customer_name text not null,
        product_name  text not null,
        unit_price    real not null check ( unit_price > 0 ),
        qty           integer not null default 1 check ( qty > 0 ),
        created_at    timestamp with time zone not null,
        updated_at    timestamp with time zone,
        check ( ( unit_price * qty ) < 200000 ) );
    
  7. SQL によるレコード挿入
    begin transaction;
    insert into order_records (id, year, month, day, customer_name, product_name, unit_price, qty) values( 1, 2023, 7, 26,  'kaneko', 'orange A', 1.2, 10 );
    insert into order_records (id, year, month, day, customer_name, product_name, unit_price, qty) values( 2, 2023, 7, 26,  'miyamoto', 'Apple M',  2.5, 2 );
    insert into order_records (id, year, month, day, customer_name, product_name, unit_price, qty) values( 3, 2023, 7, 27,  'kaneko',   'orange B', 1.2, 8 );
    insert into order_records (id, year, month, day, customer_name, product_name, unit_price) values( 4, 2023, 7, 28,  'miyamoto',   'Apple L', 3 );
    commit;
    
  8. データ確認
    select * from order_records;
    

SQL 実行結果のファイル出力

Query ウインドウで「Download as CSV/TXT」を選択する.

Excel がインストールされている環境では,自動的に Excel が起動する.

ファイルに保存された SQL の実行

Query ウインドウで「Open File」をクリックする.

テーブルの一覧表示と中身の表示と更新(行の追加,行の削除,値の更新)

テーブルの一覧表示

データベース内のテーブル一覧を表示するには,オブジェクトブラウザで,Schemas (スキーマ)publicTables (テーブル)を展開する.

テーブルの中身の表示と更新(行の追加,行の削除,値の更新)

テーブルの一覧表示を行った後,テーブルを右クリックし,「View/Edit Data」→「All Rows (全ての列を表示)」を選択することで,テーブルの内容を表示・編集できる.

このウインドウでは,データの更新(行の追加,行の削除,値の更新)を効率的に実行できる.