pgAdmin III とは,PostgreSQL に関する各種操作を,簡単に行えるツールです.
この Web ページでは,pgAdminIII のインストールと使用法を説明します.
この Web ページでは,データベースの作成を行いますので, 作成するデータベースのデータベース論理名と漢字コード(エンコーディング)を決めておくこと. この Web ページでは,次のように書きます.
使用するデータベースの名前のことを,「データベース論理名」と呼ぶことにします. データベース論理名は,自由に決めていいですが,半角文字(つまり英字と英記号)を使い,スペースを含まないこと,
この Web ページでは, データベース・一般ユーザのアカウントを作成しますので, そのユーザ名とパスワードを決めておくこと.この Web ページでは次のように書きます.
※ 説明上,単純に hoge$#34hoge5 と書いていますが,必ず,これとは違う適切なパスワードを設定すること)
データベース・一般ユーザのアカウント作成やデータベースの作成と権限の設定には, PostgreSQL データベース管理者のユーザ名とパスワードが必要になるので,前もって調べておくこと. この Web ページでは,Postgres データベース管理者のユーザ名を postgres と書きます.
pgAdminIII は,PostgreSQL を使うときの定番ツールです.
http://www.pgadmin.org/index.php
最新バージョンを使いたいので,「pgAdmin V1.8.4」をクリックする.
ZIP ファイルの方をクリックする.
日本国内からダウンロードしたいので,日の丸の下の http, ftp をクリックする.
「Next」をクリックする.
ライセンス条項に同意するので,「I accpet the terms in the License Agreement」をチェックし, 「Next」をクリックする.
デフォルトのままでよい. 「Next」をクリックする.
「Install」をクリックする.
FreeBSD の場合には,次のような手順で,ソースコードからのインストールを行うことができます. ここに出てくるコマンドの解説はしませんが,バイナリ版がうまく動かないとき,原因を探すよりも,ソースコードからインストールした方が楽だ,ということがよくあります.
#!/bin/sh set FORCE_PKG_REGISTER=true export FORCE_PKG_REGISTER cd /usr/ports/devel/glib20; make; make install cd /usr/ports/accessibility/atk; make; make install cd /usr/ports/graphics/cairo; make; make install cd /usr/ports/x11-toolkits/pango; make; make install cd /usr/ports/x11-toolkits/gtk20; make; make install cd /usr/ports/graphics/libart_lgpl; make; make install cd /tmp rm -f wxWidgets-2.8.8.tar.gz wget http://www.kkaneko.com/computer/src/toollib/wxWidgets-2.8.8.tar.gz tar -xvzof wxWidgets-2.8.8.tar.gz cd wxWidgets-2.8.8 ./configure --enable-log --enable-unicode --without-libmspack make clean make make install cd contrib make clean make make install ldconfig cd /tmp rm -f wxGTK-2.8.8.tar.gz wget http://www.kkaneko.com/computer/src/toollib/wxGTK-2.8.8.tar.gz tar -xvjof wxGTK-2.8.8.tar.gz cd wxGTK-2.8.8 ./configure make clean make make install ldconfig cd /tmp rm -f pgadmin3-1.8.4.tar.gz wget http://www.kkaneko.com/computer/src/toollib/pgadmin3-1.8.4.tar.gz tar -xvzof pgadmin3-1.8.4.tar.gz cd pgadmin3-1.8.4 ./configure make clean make make install
Linux の場合には, Linux の各種ソフトのインストール の Web ページを参考に,wxWidgets のインストールを行った後で, 下記の手順で,wxGTK と pgadmin3 のインストールを行ってみてください.
cd /tmp rm -f wxGTK-2.8.8.tar.gz wget http://www.kkaneko.com/computer/src/toollib/wxGTK-2.8.8.tar.gz tar -xvjof wxGTK-2.8.8.tar.gz cd wxGTK-2.8.8 ./configure make clean make make install ldconfig cd /tmp rm -f pgadmin3-1.8.4.tar.gz wget http://www.kkaneko.com/computer/src/toollib/pgadmin3-1.8.4.tar.gz tar -xvzof pgadmin3-1.8.4.tar.gz cd pgadmin3-1.8.4 ./configure make clean make make install
pgAdmin III が持つ以下の機能を説明します.
pgAdmin III で PostgreSQL を使うには, 最初に,pgAdmin III において,PostgreSQL への接続を行う必要があります. 以下,PostgreSQL データベース管理者 (postgres) として接続する手順を説明します.
PostgreSQL データベース管理者(postgres)でログインしたいので, ユーザ名として,PostgreSQL データベース管理者である postgres を設定.「OK」をクリック.
「パスワード保存」のチェックを外しておいた方が,混乱が少ない.
※ 「パスワード保存」のチェックを外しておいた方が,混乱が少ない.
データベース・一般ユーザのアカウント(ユーザ名とパスワード)を作成するには, PostgreSQL データベース管理者 (postgres) として接続した後,「新しいログインロールの追加」という操作を行います.
PostgreSQL データベース管理者(postgres)でログインしたいので, ユーザ名として,PostgreSQL データベース管理者である postgres を設定.「OK」をクリック.
「パスワード保存」のチェックを外しておいた方が,混乱が少ない.
※ 「パスワード保存」のチェックを外しておいた方が,混乱が少ない.
オブジェクトブラウザで,PostgreSQL 9.0 (localhost:5432) の左横の「+」をクリックして,展開する.
ユーザ名として testuser,パスワードとして hoge$#34hoge5 を設定したいときの操作は次の通り.
※ 説明上,単純に hoge$#34hoge5 と書いていますが,必ず,これとは違う適切なパスワードを設定すること)
データベースを作成するには, PostgreSQL データベース管理者 (postgres) として接続した後,「新しいデータベース」の作成を行います.
PostgreSQL データベース管理者(postgres)でログインしたいので, ユーザ名として,PostgreSQL データベース管理者である postgres を設定.「OK」をクリック.
「パスワード保存」のチェックを外しておいた方が,混乱が少ない.
※ PostgreSQL データベース管理者(postgres) ならば,データベース作成の権限が必ずある.
※ 「パスワード保存」のチェックを外しておいた方が,混乱が少ない.
オブジェクトブラウザで,PostgreSQL 9.0 (localhost:5432) の左横の「+」をクリックして,展開する.
データベース論理名 testdb,漢字コード(エンコーディング)UTF8 としてデータベースを作成したいときの操作は次の通り.
データベースのオーナーは,データベースに対してあらゆる操作の権限が与えられる.PostgreSQL データベース管理者 (pdadmin) とは別にしておいた方が良い。
データベース・一般ユーザでログインした後,使いたいデータベースを選び,Query ウインドウを開きます. Query ウインドウを使って,SQL の編集と実行,PostgreSQL コマンドの実行ができます. SQL によるテーブルの定義と,問い合わせと,更新の実行例は下記の通り.
データベース・一般ユーザのアカウントでログインしたいので,設定を行う. (必要がないのに,PostgreSQL データベース管理者でログインすることは避ける)
データベース・一般ユーザ (testuser) でログインしたいので, ユーザ名として,testuser を設定.「OK」をクリック.
「パスワード保存」のチェックを外しておいた方が,混乱が少ない.
※ 「ユーザ名が設定できないよ」というときは、接続が「切断」されていない場合がある。接続を切断したのちに ユーザ名の設定を行う.
※ 「パスワード保存」のチェックを外しておいた方が,混乱が少ない.
オブジェクトブラウザで,PostgreSQL 9.0 (localhost:5432) の左横の「+」をクリックして,展開する.
左横の「+」をクリックして,展開する.
データベースの一覧が出ているので,「testdb」をクリック
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 NOT NULL,
updated_at TIMESTAMP,
CHECK ( ( unit_price * qty ) < 200000 ) );
BEGIN TRANSACTION;
INSERT INTO order_records VALUES( 1, 2009, 10, 26, 'kaneko', 'orange A', 1.2, 10, current_timestamp, NULL );
INSERT INTO order_records (id, year, month, day, customer_name, product_name, unit_price, qty, created_at) VALUES( 2, 2009, 10, 26, 'miyamoto', 'Apple M', 2.5, 2, current_timestamp );
INSERT INTO order_records (id, year, month, day, customer_name, product_name, unit_price, qty, created_at) VALUES( 3, 2009, 10, 27, 'kaneko', 'orange B', 1.2, 8, current_timestamp );
INSERT INTO order_records (id, year, month, day, customer_name, product_name, unit_price, created_at) VALUES( 4, 2009, 10, 28, 'miyamoto', 'Apple L', 3, current_timestamp );
COMMIT;
SELECT * FROM order_records;
上記で説明したQuery ウインドウで, 「ファイル」→「開く」と操作する.
ウインドウが開くので,ファイル名やエンコーディングを指定して,「OK」をクリックする.
上記で説明したQuery ウインドウで, 「ファイル」→「エクスポート」と操作する.
データベース内のテーブル一覧を表示するには,ログインの後, オブジェクトブラウザで, スキーマ,public, テーブルを展開します.
テーブルの一覧表示を行った後,テーブルを右クリックして, 「データビュー」→「全ての列を表示」と操作すると,テーブルの中身が表示されます.
このウインドウで,更新(行の追加,行の削除,値の更新)が簡単にできます.
テーブルのインポート,エクスポートには,PostgreSQL の copy コマンドを使います. Windows の場合には,2つ注意点があるので,下に書きます.
copy WORK from E'd:\\KEN_ALL_UTF8.csv' with csv;
※ バックスラッシュを使いたいので,エスケープ文字列であることを意味する「E」を,文字列の前につける.
copy ZIP2 to E'C:\\Program Files\\PostgreSQL\\8.3\\data\\zip.csv' with CSV;
※ バックスラッシュを使いたいので,エスケープ文字列であることを意味する「E」を,文字列の前につける.
※ PostgreSQL の data ディレクトリ(PostgreSQL のインストールディレクトリの下))C:\\Program Files\\PostgreSQL\\8.3\\data\\ 以外を,copy コマンドの出力先として指定すると 「ERROR: could not open file ... for writing: Permission denied」というエラーが出て動かないので注意.