phpPgAdmin とは,PostgreSQL に関する各種操作を,Web ブラウザから簡単に行えるツール.
このページでは,phpPgAdmin のインストールと使用法を説明する.
phpPgAdmin 実行用のユーザ名 (Role Name) ,パスワード,テスト用に使うデータベースのデータベース名を決めておくこと。 好きに決めていいですが(半角文字でスペースを含まないこと), この資料では,次のように書く.
phpPgAdmin を実行するときに,データベース管理者でログインするのは良くないため, 新しいユーザ (Role ともいう) を作る.
これは、phpPgAdmin のテスト実行のために作るデータベース名です.分かりやすい名前を付けておくこと。
次の設定を行うことになるので、確認しておく。
PHP のインストールの Web ページ の記述に沿って, PHP のインストールを行う.要点は下記の通り.
http://www.php.net/downloads.php から,Windows 版(PHP 5.2.6 installer)をダウンロード
インストーラを起動
あるいは、Web Server Setup でApache 2.0.x Module を選択(Apacheの2.0系列がインストール済みの場合)
C:\Program Files\Apache Group\Apache2\htdocsに次の一行を含むtest.phpを作成
<?php phpinfo();?>
http://localhost/test.phpにアクセスし、画面が表示されることを確認
参考URL:http://mizushima.ne.jp/Windows/DB/phpPgAdmin/phpPgAdmin.php を参考にした(現在,このページは公開されていない).
http://localhost/phpPgAdmin にアクセスするとindex.phpを開くように設定を変える
【変更前】DirectoryIndex index.html index.html.var 【変更後】DirectoryIndex index.html index.php
phpPgAdmin-4.2.1.zipを解凍し、フォルダ名を phpPgAdmin に変更. phpPgAdminフォルダをhtdocs(C:\Program Files\Apache Group\Apache2\htdocs)にコピー
PostgreSQLで作成したユーザ(postgres)でログインするために、config.inc.phpの以下のように修正
【修正前】$conf['extra_login_security'] = true; 【修正後】$conf['extra_login_security'] = false;
http://localhost/phpPgAdmin にアクセスし、「phpPDAdmin4.2.1(PHP5.2.6)」を含む画面が表示されることを確認
PHP のインストールを終えておくこと
http://sourceforge.net/projects/phppgadmin
cd /tmp wget https://www.kkaneko.jp/computer/src/toollib/phpPgAdmin-4.2.1.tar.gz cd /usr/local/apache2 tar -xvzof /tmp/phpPgAdmin-4.2.1.tar.gz
host, defaultdb, default_lang, pg_dump_path, pg_dumpall_path, extra_login_security, owned_only などを確認
cd /usr/local/apache2/phpPgAdmin-4.2.1 vi conf/config.inc.php $conf['default_lang'] = 'japanese';
vi /usr/local/apache2/conf/httpd.conf --- Alias /pgadmin/ "/usr/local/apache2/phpPgAdmin-4.2.1/" --- <Directory "/usr/local/apache2/phpPgAdmin-4.2.1"> AllowOverride All Options ExecCGI Order allow,deny Allow from all </Directory> ---
vi /usr/local/pgsql/cc/postgresql.conf ---- stats_start_collector = true stats_command_string = true stats_block_level = true stats_row_level = true ----
phpPgAdmin 使用者のユーザ名とパスワードを、.htaccess に設定します.
で説明している.
# すでに他のユーザが存在するときは -c をはずす /usr/local/apache2/bin/htpasswd -b -c /usr/local/apache2/conf/.htpasswd testuser hoge$#34hoge5 cat /usr/local/apache2/conf/.htpasswd vi /usr/local/apache2/testuser-4.2.1/.htaccess ---- AuthGroupFile /dev/null AuthName "testuser (PostgreSQL) Page" AuthType Basic require valid-user ----
phpPgAdmin が持つ以下の機能を説明する.
画面左の"PostgreSQL"をクリック データベース管理者のユーザ名と,パスワードを入力して,データベース管理者としてログインする.
Can login?にチェック Rolename: testuser (ユーザ名) パスワード: hoge$#34hoge5
注意:ログイン後、戻るボタンを押してログイン画面に戻ると,作成した「testuser」ではログインできなくなることがある。
psql コマンドを使い、 testuser 使用者のユーザ名とパスワードを、testdb データベースに設定します。
su - postgres pg_ctl -D /usr/local/pgsql/data -l /usr/local/pgsql/logfile -o "-i" start psql -U pgadmin testdb create user "testuser" with password 'hoge$#34hoge5' nocreatedb nocreateuser; \q pg_ctl stop
テーブル(テーブル名は commodity とします)への権限を与えます.
grant select rule references trigger on table commodity to testuser;
参考Webページ: http://www.kids-clinic.jp/uni/phppgadmin.html の記事を参考にしました.
SQL を使わずに,専用ツールを使うこともできる. テーブル定義は,SQL を使った方が簡単にできるでしょう.
SQL を簡単に実行できるので便利です.
書いた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;
期待される結果。
TYPE NAME PRICE ---- ---------- ----- 1 apple 50 2 orange 20 3 strawberry 100 4 watermelon 150 5 melon 200 6 banana 100
テーブルの中身を簡単に閲覧でき、行の追加,削除,更新も簡単に行えるので便利です.挿入は,次の手順で行う. phpPgAdmin で,
CSV 形式のファイルに、テーブルの中身をエクスポートすることも簡単に行えます。
閲覧,編集したいテーブル名を右クリック. 「CSVファイルの出力」でエクスポート。