pos
WindowsでのPostgreSQLの導入
ダウンロード方法
- http://www.postgresql.org/ にアクセスします。
- 上のタブの「Downloads」をクリックします。
- 左のメニューから「File Browser」をクリックし、「binary」→「v8.2.4」→「win32」から「postgresql-8.2.4-1-ja.zip」をダウンロードします。
- ダウンロードするときに国旗などがたくさんでてきますが、どこを選んでもかまいません。
インストール方法
- ダウンロードしたファイルを解凍します。
- 「postgresql-8.2-ja.msi」をダブルクリックします。
- インストールウイザードが起動するので「次へ」をクリックします。
- 注意事項画面が出るので「次へ」をクリックします。
- インストールオプションはいじらずにインストール先を選択し「次へ」をクリックします。
-
アカウント名とパスワード名を入力し「次へ」をクリックします。
- デフォルトのアカウント名「postgres」はスーパーユーザ用に使用するため、別のアカウント名を入力してください。サービス名、ドメイン名はいじる必要はありません。
- データベースクラスタの初期化画面ではスーパーユーザ名を「postgres」、パスワードを「postgres」と入力してください。それ以外の項目はいじらなくていいです。入力したら「次へ」をクリックします。
- PL/pgsql項目にチェックが入っていることを確認し「次へ」をクリックします。
- Adminpack.項目にチェックが入っていることを確認し「次へ」をクリックします。
- 「次へ」をクリックし、インストールを開始します。
- 「おめでとうございます」とか言われるので「終わる」をクリックしインストールを終了します。
環境変数
- マイコンピューターを右クリックします。
- プロパティをクリックします。
- 詳細設定タブをクリックします。
- 環境変数をクリックします。
- 環境変数画面が開いたらユーザー環境変数(上)の「新規」をクリックします。
-
以下の変数名と値を入力します。
変数名 変数値 POSTGRES_HOME C:/Program Files/PostgreSQL/8.2 PATH %POSTGRES_HOME%/bin
準備
- %POSTGRES_HOME%/bin (C:\Program Files\PostgreSQL\8.2\bin)以下にある「pgAdmin3.exe」のショートカットをデスクトップに作成します。
- スタートメニューから「PostgreSQL8.2」にある「サービスの起動・停止」のショートカットをデスクトップに作成します。
- コントロールパネルから「管理ツール」→「サービス」→「PostgreSQL Database Server 8.2」をダブルクリックし、「スタートアップの種類」を「手動」に指定します。
- %POSTGRES_HOME%/jdbc (C:\Program Files\PostgreSQL\8.2\jdbc)以下にあるファイルを%CATALINA_HOME%/common/lib/ (C:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib)以下にコピーします。
起動・停止
- 起動:先ほど作成した「サービスの起動.exe」のショートカットをダブルクリックします。
-
停止:先ほど作成した「サービスの停止.exe」のショートカットをダブルクリックします。
- 上記以外に「PostgreSQL Database Server 8.2」から起動・停止を行うこともできます。
データベース(コマンドプロンプト)
- DB を構築
- 作成 : createdb DB名
- 削除 : dropdb DB名
- DB にアクセス
- psql -U postgres DB名
- テーブルを作成
- 作成 : create table テーブル名(カラム名 カラムの型, ・・・);
- 削除 : drop table テーブル名;
- 値を挿入・削除
- insert into テーブル名(カラム名, ・・・) value(値, ・・・);
- delete from テーブル名 where 条件文;
- 確認
-
select * from テーブル名;
- その他の SQL 文は以下のホームページを参照。 http://homepage2.nifty.com/sak/
データベース(pgAdmin3)
- PostgreSQLを起動するので先ほど作成した「サービスの起動.exe」をダブルクリックします。
- 先程作成した 「pgAdmin3.exe」 のショートカットをダブルクリックします。
- 「PostgreSQL Database Server 8.2」 をダブルクリックします。
- DB を構築するので「データベース」 を右クリックし、「新しいデータベース」 を選択し、名前を決めたら「OK」をクリックします。
- テーブルを作成するので作成した DB の階層にある 「スキーマ」→「作成したスキーマ名」→「テーブル」 を右クリックし、「新しいテーブル」 を選択します。
- 「列」 タブより 「追加」 を選択し、カラムを追加します。
- 値を挿入・削除・確認します。
- 作成したテーブルを右クリックし、「データビュー」を選択します。
接続方法(DriverManager)
-
インポート
- import java.sql.*;
-
フィールド
- Connection connection = null;
- 接続
-
以下のように記述
Class.forName("org.postgresql.Driver"); connection = DriverManager.getConnection( "jdbc:postgresql: //localhost/DB名?userUnicode=true&characterEncoding=Shift_JIS" ,"postgres","postgres" );
接続方法(DataSource)※推奨
- DataSource を記述します。
- http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto.html にアクセスします。
- 真ん中より下のほうのPostgreSQL欄にある 「2b. Application-specific resource configuration」 の <Context> ~ </Context> の文をコピーします。
- %CATALINA_HOME%/conf/Catalina/localhost/ 以下にある 「アプリケーション.xml」 を開き、 先程の文を <Context> ~ </Context> に上書き貼り付けします。
-
その際、以下の項目を訂正してください。
- 「someApp」 → アプリケーション名
- 「postgres」, 「mydb」 → DB 名
- 「myuser」, 「mypasswd」 → postgres
- PostgreSQL の欄にある 「3. web.xml configuration」 の <resource-ref> ~ </resource-ref> の文をコピーします。
-
%CATALINA_HOME%/webapps/アプリケーション名/WEB-INF/ 以下にある 「web.xml」 を開き、 先程の文を以下の通りになるように貼り付けます
-
<web-app>
- <servlet>~</servlet>
- <servlet-mappong>~</sevlet-mapping>
- <resource-ref>~</resource-ref>
- </web-app>
-
<web-app>
-
インポート
- import java.sql.*;
- import javax.sql.*;
- import javax.naming.InitialContext;
-
フィールド
- InitialContext icon = null;
- DataSource datasource = null;
- Connection connection = null;
- 接続
-
以下のように記述
icon = new InitialContext(); datasource = (DataSource)icon.lookup("java:comp/env/jdbc/DB名"); connection = datasource.getConnection();
- データソースを利用することでデータベースへの接続をより高速化できる。
動作確認
DB名 | sampleDB |
テーブル名 | sample |
スキーマ | sample |
user_id(character varying[10]) | password(character varying[10]) |
---|---|
b2050001 | mysql |
b2050002 | postgresql |
b2050003 | oracle |
- 引き続きtomcatで使ったSampleディレクトリを使用します。
-
上記のデータベースを作成します。
- PostgreSQLを起動するので先ほど作成した「サービスの起動.exe」をダブルクリックします。
- 先程作成した 「pgAdmin3.exe」 のショートカットをダブルクリックします。
- 「PostgreSQL Database Server 8.2」 をダブルクリックします。
- DB を構築するので「データベース」 を右クリックし、「新しいデータベース」 を選択し、名前に「sampleDB」を入力して「OK」をクリックします。
- テーブルを作成するので作成した DB の階層にある 「スキーマ」を右クリックし、「新しいスキーマ」を選択し、名前に「sample」を入力して「OK」をクリックします。
- 「スキーマ」→「sample」から「テーブル」 を右クリックし、「新しいテーブル」 を選択します。
- テーブルに「sample」と名前をつけます。
- 「列」タブから「追加」 を選択し、カラムを追加します。
- 名前に「user_id」、データ型に「character varying」、長さに「10」を入力して「OK」を繰り句します。
- 同じように「password」を追加します。
- 「制約」タブから「主キー」の「追加」をクリックします。
- 主キー画面の「列」タブのボックスから「user_id」を選び、「追加」をクリックし「OK」をクリックします。
- 「OK」をクリックします。
- 「sample」テーブルを右クリックし「データビュー」→「全ての列を表示」を選択します。
- ここで↑の値の入力をしてください。入力し終わったら右上の×から閉じてください。(最初にデータを入れたときのみ自動で保存されます)
- 下記のファイルをダウンロードしてください。
-
ダウンロードしたファイルを基本構造通り配置してください。
******************** ***ディレクトリ構成*** ******************** Sample | +---WEB-INF | +---src | | | +---sample | | | +---SampleServlet2.java | SampleBD.java | +---classes | | | +---sample | | | +---SampleServlet2.class | SampleDB.class | +---lib | +---web.xml | sample2.jsp
-
コマンドプロンプトを開いて「SampleServlet2.java」と「SampleDB.java」をコンパイルをします。
-
「sample」フォルダをつくり↑のように配置したら、最初に「SampleDB.java」をコンパイルします。コンパイルのときは以下のコマンドを入力してください。
- javac -d . SampleDB.java
- コンパイルをしたときに注意が出るかもしれませんが、無視してかまいません。たぶんコンパイルはされて「sample」フォルダができてその中に「SampleDB.class」ファイルが生成されているはずです。
-
同じように「SampleServlet2.java」もコンパイルします。コマンドは以下のとおりです。
- javac -d . SampleServlet2.java
- パッケージ以下をコンパイル:javac -d . *.java
- 「SampleDB.class」と「SampleServlet2.class」ファイルを「classes」フォルダに移動します。
-
「sample」フォルダをつくり↑のように配置したら、最初に「SampleDB.java」をコンパイルします。コンパイルのときは以下のコマンドを入力してください。
-
「web.xml」、「Sample.xml」を記述します。詳細は上の接続方法(DataSource)※推奨の項目7までを見てください。
- パッケージの記述例:<servlet-class> ~ </servlet-class>のみsample.SampleServlet2に書き換え、他はSampleServlet2に書き換える。
- Tomcatを起動して http://localhost:8080/Sample/servlet/SampleServlet2 にアクセスします。
これでPostgreSQLのインストールは終了です。