pgAdmin 4 の主要機能
【概要】
pgAdmin 4 は、PostgreSQL を管理するためのツールである。本ページでは、ユーザの作成、データベースの作成と権限設定、SQLの編集と実行、テーブルの表示と更新という主要機能を説明する。
【目次】
- PostgreSQL への接続と切断
- データベース・一般ユーザのアカウント(ユーザ名とパスワード)の作成
- データベースの作成と権限の設定
- SQLの編集と実行、SQL実行結果のファイル出力
- テーブルの一覧表示と中身の表示・更新(行の追加、行の削除、値の更新)
【サイト内の関連ページ】
前準備
PostgreSQL のインストール
- Windows での PostgreSQL 18、pgAdmin 4、PostGIS 3 のインストール、psql によるテーブル定義とレコード挿入: 別ページ »で説明
- Ubuntu での PostgreSQL 18、pgAdmin 4、PostGIS 3 のインストール: 別ページ »で説明
あらかじめ決めておく事項
データベースを作成する前に、データベース名とエンコーディング(文字コード)を決めておく。本ページでは次の設定を使う。
- データベース名: testdb
データベース名は半角英数字と記号のみを使い、スペースは含めない。
- エンコーディング(文字コード): UTF8
また、データベース・一般ユーザのアカウント作成に必要なユーザ名とパスワードを次のように設定する。
- ユーザ名: testuser
- パスワード: hoge$#34hoge5
セキュリティ確保のため、実際の運用ではより強固なパスワードを設定すること。
アカウント作成およびデータベースの作成と権限設定には、PostgreSQL データベース管理者の認証情報が必要となる。本ページでは、管理者ユーザ名を postgres として説明する。
PostgreSQL への接続と切断
pgAdmin 4 で PostgreSQL を使うには、まず PostgreSQL への接続を確立する。以下に、PostgreSQL データベース管理者(postgres)として接続する手順を示す。
- マスターパスワードを設定する。
- オブジェクトブラウザで、登録済みのサーバ(例:PostgreSQL 18 (localhost:5432))を右クリックし、「Properties(プロパティ)」を選択する。
- 使用するデータベース名とユーザー名を設定する。
- 登録済みのサーバを右クリックし、「Connect Server(接続)」を選択する。
- パスワード認証画面が表示されたら、パスワードを入力する。
- 切断するには、登録済みのサーバを右クリックし、「Disconnect Server(切断)」を選択する。
データベース・一般ユーザのアカウント(ユーザ名とパスワード)の作成
- pgAdmin 4 で PostgreSQL に接続する。
接続には、PostgreSQL データベース管理者のユーザ名を使う。
- (未展開の場合)オブジェクトブラウザで、登録済みのサーバの左側の「+」をクリックして展開する。
- 「Login/Group Roles(ログイン/グループロール)」を右クリックし、「Create」から「Login/Group Role...」を選択する。
- ユーザ名とパスワードを設定する。
以下の例では、ユーザ名を testuser、パスワードを hoge$#34hoge5 に設定する。
- ロール名: testuser を設定
- パスワード: hoge$#34hoge5 を設定
セキュリティ確保のため、実際の運用では異なるパスワードを使うこと。
データベースの作成と権限の設定
- pgAdmin 4 で PostgreSQL に接続する。
接続には、PostgreSQL データベース管理者のユーザ名を使う。
- (未展開の場合)オブジェクトブラウザで、登録済みのサーバの左側の「+」をクリックして展開する。
- 登録済みのサーバを右クリックし、「Create」から「Database...」を選択する。
- データベースを作成し、オーナーを設定する。
以下の例では、データベース名を testdb、オーナーを testuser、エンコーディングを UTF8 に設定する。
- Database(データベース): testdb を設定
- Owner(オーナー): testuser を設定
データベースオーナーには、すべての操作権限が付与される。セキュリティ上、PostgreSQL データベース管理者(postgres)とは別のアカウントを使うことを推奨する。
- Encoding(エンコーディング): UTF8 を設定
SQLの編集と実行、SQL実行結果のファイル出力
対象のデータベースを選び、Query Tool(クエリツール)を開く。クエリツールでは、SQLの編集と実行、PostgreSQL コマンドの実行ができる。以下に、SQLによるテーブルの定義、レコードの挿入、問い合わせの実行例を示す。
- pgAdmin 4 で PostgreSQL に接続する。
セキュリティ上、一般ユーザでの接続を推奨する。不要な管理者権限での接続は避ける。
- (未展開の場合)オブジェクトブラウザで、登録済みのサーバの左側の「+」をクリックして展開する。
- 「Databases(データベース)」の左側の「+」をクリックして展開する。
- 表示されたデータベース一覧から、操作対象のデータベースを選ぶ。
- 「Query Tool」をクリックする。
- SQLでテーブルを定義する。
クエリツールが表示される。次のような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 ) );
- 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;
- データを確認する。
select * from order_records;
SQL実行結果のファイル出力
クエリツールで「Download as CSV/TXT」を選択する。
Excel がインストールされている環境では、CSVファイルを Excel で開ける。
ファイルに保存したSQLの実行
クエリツールで「Open File」をクリックする。
テーブルの一覧表示と中身の表示・更新(行の追加、行の削除、値の更新)
テーブルの一覧表示
データベース内のテーブル一覧を表示するには、オブジェクトブラウザで Schemas(スキーマ)、public、Tables(テーブル)を展開する。
テーブルの中身の表示・更新(行の追加、行の削除、値の更新)
テーブル一覧を表示したあと、テーブルを右クリックし、「View/Edit Data」→「All Rows(全ての行を表示)」を選ぶと、テーブルの内容を表示・編集できる。
このウインドウでは、データの更新(行の追加、行の削除、値の更新)を実行できる。