phpPgAdmin

概要

phpPgAdmin は,PostgreSQL データベースの操作を Web ブラウザから実行できる管理ツールである.次の操作を,SQL を書かずにグラフィカル・ユーザ・インタフェース(GUI)で行える.

目次

関連する外部ページ

【サイト内の関連ページ】

PostgreSQL 活用ガイド

1. 事前準備事項

phpPgAdmin を使用するために,次のユーザ名(Role Name),パスワード,テストデータベース名を事前に決める.いずれも半角文字で設定し,スペースを含めない.本資料では次の値を使用する.

準備事項

次の設定が必要となるため,事前に確認する.

2. phpPgAdmin のインストール手順(Windows 環境)

Web サーバと PHP のインストール

phpPgAdmin の実行には,Web サーバ(Apache HTTP Server)と,PostgreSQL 拡張を有効にした PHP 7.1 以上が必要である(phpPgAdmin 7.13.0 は PHP 7.1 以上に対応する).

phpPgAdmin のインストール手順

3. phpPgAdmin のインストール手順(Linux 環境)

インストール

PHP(PostgreSQL 拡張とマルチバイト文字列拡張を有効化したもの)が事前にインストールされていることを確認する.次のコマンドで phpPgAdmin を展開する(Apache の公開ディレクトリを /usr/local/apache2 とする例).

cd /tmp
wget https://github.com/phppgadmin/phppgadmin/releases/download/REL_7-13-0/phpPgAdmin-7.13.0.tar.gz
cd /usr/local/apache2
tar -xvzf /tmp/phpPgAdmin-7.13.0.tar.gz

設定手順

4. 新規ユーザ(ロール)の作成手順

  1. http://localhost/phpPgAdmin/ にアクセスする.
  2. データベースへの接続

    左メニューの「PostgreSQL」をクリックし,データベース管理者のユーザ名とパスワードを入力してログインする.

  3. 「Roles(ロール)」をクリックする.
  4. 「Create role(ロールの作成)」をクリックする.
  5. 必要な情報を入力する.
    Can login? オプションにチェック
    Rolename: testuser(ユーザ名)
    パスワード: hoge$#34hoge5
  6. 左メニューの「サーバー」をクリックしてログアウトする.

ブラウザの戻るボタンでログイン画面に戻ると,作成した testuser でログインできなくなる場合があるため注意する.

5. アクセス権限の設定

psql コマンドによる設定方法

psql コマンドを使い,testuser に対して testdb データベース内のテーブルへのアクセス権限を設定する.まずロールを作成する.

psql -U postgres -d testdb
create user "testuser" with password 'hoge$#34hoge5' nocreatedb nocreaterole;
\q

テーブル(例:commodity)に対して権限を付与する.

grant select, references, trigger
on table commodity
to testuser;

6. テーブル定義の管理

GUI でテーブル定義を作成できる.ただし,SQL を直接使用する方が効率的な場合が多い.

  1. 「テーブル」をクリックする.
  2. 「テーブルを作成する」をクリックする.
  3. テーブル名とカラム数を入力する.
  4. 「次に」をクリックする.
  5. カラム名と長さを設定する.
  6. データ型を選択する.
  7. 必要に応じて追加オプションを設定する.
  8. 「作成」をクリックする.

7. SQL クエリの編集と実行

SQL クエリを実行する機能を提供する.

  1. phpPgAdmin に,ユーザ名 testuser とパスワード hoge$#34hoge5 でログインする.
  2. 左メニューの対象データベース(例:testdb)をクリックする.
  3. 中央の「SQL」をクリックする.
  4. SQL クエリを入力し,「実行」ボタンをクリックする.

SQL の実行例を次に示す.

create table commodity (
    id integer primary key not null,
    name varchar(32) not null,
    price integer );
insert into commodity values( 1, 'apple', 50 );
insert into commodity values( 2, 'orange', 20 );
insert into commodity values( 3, 'strawberry', 100 );
insert into commodity values( 4, 'watermelon', 150 );
insert into commodity values( 5, 'melon', 200 );
insert into commodity values( 6, 'banana', 100 );
select * from commodity;

実行結果の例:

 id  name         price
 --- ----------  -----
   1 apple          50
   2 orange         20
   3 strawberry    100
   4 watermelon    150
   5 melon         200
   6 banana        100

8. テーブルデータの管理(閲覧,追加,削除,更新)

テーブルデータの閲覧や編集を GUI で行える.データの追加は次の手順で行う.

  1. 「テーブル」をクリックする.
  2. 対象テーブルの「挿入」をクリックする.
  3. データを入力する.
  4. 「挿入」をクリックして確定する.

9. テーブルデータのエクスポート

テーブルデータを CSV 形式でエクスポートできる.対象テーブル名を右クリックし,「エクスポート」から CSV 形式を選択して実行する.