WindowsでPostgreSQLを体験
WindowsでPostgreSQLを体験しよう文献(11)参照
http://hp.vector.co.jp/authors/VA023283/PostgreSQL.html
postgrewql-7_2_1_win32_bin_rv04.zipをダウンロード
(2002年8月20日現在での最新バージョン)
WinZipでc:\に解凍すると次のフォルダ内に展開される。
c:\postgresql-7.2.1-win32
■ ログインユーザ(Administratorではなく)でデータベースの初期化を行う
c:\postgresql-7.2.1-win32\bin\initdb.exeをダブルクリック、以下のような画面がでる。
------------------------------------------------
The files belonging to this database system
--- > will be owned by user "takase"
...
<Enter>
------------------------------------------------
初期化を行ったときのユーザがPostgreSQLのスーパーユーザになる。この初期化は導入時に1度だけ行う。2回以上行うことはできません。
PostgreSQLを操作するには、通常サーバに対してクライアントからメッセージ(SQL文)を送って行います。
■ サーバであるポストマスタを立ち上げる
c:\postgresql-7.2.1-win32\bin\pgsvmgr.exeのショートカットを作りデスクトップに置く。
pgsvmgr.exeのショートカットをダブルクリックする
PostgreSQL Server Manager Version 1.2.0Rウィンドウが開く
「Startup」ボタンをクリック
タスクバーに格納される。
■ クライアント操作
クライアントから操作する手段としてODBC、PHP、Perl、Javaなど色々用意されています。コマンドプロンプトから対話的に操作するためには標準でpsqlが用意されています。
c:\postgresql-7.2.1-win32\bin\psql.exeのショートカットを作りデスクトップの置く。psql.exeのショートカットをダブルクリックする
コマンドプロンプト画面が表示される。
Hostname: localhost
Username: postgres
Password: (何も入力せずEnter)
Welcome to C:\postgresql-7.2.1-win32\bin\psql.exe, the PostgreSQL interactive
terminal.
Type: \copyright for distribution terms
\h for help with SQL commands
\? for help on internal slash commands
\g or terminate with semicolon to execute query
\q to quit
postgres=> \l (\小文字の「エル」[Enter]とタイプする)
以下のような表が表示されれば動作確認が済みました。
List of databases
Name | Owner | Encoding
-------------------+-----------------+--------------------
studn*** | studn*** | EUC_JP
template0 | studn*** | EUC_JP
template1 | studn*** | EUC_JP
■ サーバの停止
postgres=> checkpoint;
postgres=> \q
タスクバーのpgsvmgrで「Cancel」ボタンをクリックする。
■ データの準備
ポストマスタを立ち上げる(pgsvmgr.exeのショートカットをダブルクリック)
psql.exeのショートカットをダブルクリックして対話ツールを起動する
Hostname: localhost
Username: postgres
Password:(パスワードなし)
postgres=> create table PRODUCT (
postgres(> PCODE char(4),
postgres(> PNAME varchar(20),
postgres(> PRICE numeric(6, 0)
postgres(> );
CREATE
これでテーブルが作成された。psqlはCUIベースの対話的なツールだが、途中でタイプミスをすると訂正が難しい。psqlにはテキストを読み込むコマンドも用意されているので、テキストエディタであらかじめSQL文を作り読み込ませるのがよい。いったんデータベースを停止させる。
postgres=> \q
タスクバーのpgsvmgrで「Cancel」ボタンをクリックして停止させる。
テキストエディタで次のSQL文のファイルを作る。
ファイル名:list7.sql
保存場所:C:\SQL(保存場所は任意だがアクセスしやすいと便利、SQLフォルダは作成する)
create table SALES (
PCODE char(4),
SLDATE date,
QTY numeric(6, 0)
);
ファイル名:list8.sql
保存場所:C:\SQL
insert into PRODUCT values ('P001', 'カーネーション', 120);
insert into PRODUCT values ('P002', 'かすみ草', 80);
insert into PRODUCT values ('P003', 'バラ', 180);
insert into PRODUCT values ('P004', '桃の花', 480);
ファイル名:list9.sql
保存場所:C:\SQL
insert into SALES values ('P001', '2002-03-08', 300);
insert into SALES values ('P002', '2002-03-08', 420);
insert into SALES values ('P003', '2002-03-11', 680);
insert into SALES values ('P001', '2002-03-12', 140);
insert into SALES values ('P001', '2002-03-13', 220);
insert into SALES values ('P002', '2002-03-13', 30);
insert into SALES values ('P002', '2002-03-14', 530);
insert into SALES values ('P003', '2002-03-14', 390);
insert into SALES values ('P001', '2002-03-15', 110);
insert into SALES values ('P004', '2002-03-18', 1);
pgsvmgr.exeのショートカットをダブルクリックして起動する
psql.exeのショートカットをダブルクリックする
Hostname: localhost
Username: postgres
Password: (何も入力せずEnter)
Welcome to C:\postgresql-7.2.1-win32\bin\psql.exe, the PostgreSQL interactive
terminal.
Type: \copyright for distribution terms
\h for help with SQL commands
\? for help on internal slash commands
\g or terminate with semicolon to execute query
\q to quit
postgres=> \i C:\SQL\list7.sql
postgres=> \i C:\SQL\list8.sql
postgres=> \i C:\SQL\list9.sql
エラーなく実行されたら表示して確認してみる
postgres=> select * from PRODUCT;
postgres=> select * from SALES;
いずれも入力したデータが表示されましたか?
postgres=> \q
■ JDBCドライバの準備
次のサイトからダウンロードする。
http://jdbc.postgresql.org/download.html
pgjdbc2.jar(約113 Kバイト)
このファイルを次のディレクトリにコピーする。
c:\tomcat4.0.6\webapps\myapps\WEB-INF\lib
■ サーブレットの実行
文献(11)のリスト10、SalesListServlet.javaをタイプする(XMLの修正なし)。
(プログラムは文献(2)参照)
コマンドプロンプトを開きバッチファイルを実行(C:\tom406[Enter])、次にコンパイルする
c:\tomcat4.0.6\webapps\myapps\WEB-INF\classes> javac ytp/servlet/SalesListServlet.java
次のURLを指定すると図5の売り上げ一覧表が表示される(されたら感激!)。
http://localhost:8080/myapps/servlet/ytp.servlet.SalesListServlet
なお、package指定しているのでytp/servlet/SalesListServletと指定すると表示されない。
|