PostgerSQLの設定 |
---|
PostgerSQLとは、OracleやSQLServer、MySQLと同じくデータベースのアプリケーションです。
データの検索や更新などはSQL文で行います。OracleやSQLServerと違ってフリーソフトなのでコストが安く 設定が簡単です。
その代わりサポートなどがありませんが、単純なシステムには最適なので多く企業が使用しています。 PostgersSQL単体では、ほとんど意味の無いアプリケーションですが、Javaなどで作成したプログラムを併用して 使われる事が多いです。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1.PostgerSQLのダウンロード | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
今回の PostgerSQL は、パッケージを使用せずソースからコンパイルをします。 以下のサイトからダウンロードしてきます。 http://www.postgresql.jp/PostgreSQL http://www.postgresql.org/ 今回は Version 7.4.28 を使用します。 最新は version 8 ですが、glibc と kernel の version も関係して、コンパイル時にエラーが出てしまいます。 なので少し version を落として今回は version 7.4.28 を使用します。 JavaとPostgreSqlを接続する JDBC ドライバは、以下のページ http://jdbc.postgresql.org/download.html JDBC1 は JDK1、JDBC2 は JDK1.2、1.3 JDBC3 は JDK1.4、1.5で使用します。JDBCドライバは Java と併せて使用します。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2.PostgerSQLのインストール | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
まず、ダウンロードした PostgreSQL を解凍します。作業ディレクトリィは /usr/local/src で行ないます。
解凍の後は、postgresql-7.4.28 というディレクトリィが出来ているので、そちらにカレントを移動してコンパイルを行ないます。
オプションに --without-readline と --without-zlib の2つがあります。 どうも Turbolinux の標準のreadline と zlib がインストールされているとエラーが出るみたいなので、使わないように指定します。 これでエラーが出なければ、/usr/local/pgsql というディレクトリィが出来ているはずです。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.PostgerSQLの初期設定 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
◆ 環境変数の設定 PostgerSQL を動作させるには、”postgres”というユーザーが必要です。 useradd で作成しておきます。 その後、.bash_profile で以下の環境変数を設定します。
以後、PostgreSQL を動作させる場合は、このユーザーを使用することになります。 上記で記述している PGDATA は、実際のデータベースの格納領域です。 この部分だけは、好きな場所に作成する事ができるようで、ディスク容量に不安があれば別の場所を指定できます。 (必ずしも /usr/local/pgsq じゃないといけないわけではないようです。) ◆ データベースの初期化 上記で make install しただけでは設定ファイルもありません。 なので以下のコマンド実行してデータベースの初期設定を行ないます。
上記で PATH の設定もしているので、どこで実行してもかまいませんが、initdb は /usr/local/pgsql/bin の直下にあります。 -W をオプションで指定することでパスワード設定ができるようになります。 initdb が正常に動作したら PGDATA で指定したディレクトリィに data というディレクトリィが出来ているはずです。 この直下に設定ファイルがあります。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4.PostgersSQLの設定ファイル | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
◆ PostgreSQLの設定ファイル initdb が正常に実行できた場合は、PGDATA で指定したディレクトリィが自動で作成され、その直下に設定ファイルが作成されているはずです。 PostgreSQL の設定ファイルは以下3つです。
使用するのは上の2つだと思いますので、その2つを記述していきます。 ちなみに設定ファイルの細かい説明などは下記のページにありますので、そちらも参照してください。 http://www.postgresql.jp/document/ ◆ postgresql.conf コメントの部分はほとんど初期設定だと思いますが、確認が必要な箇所だけを記述していきます。
メモリ管理などパフォーマンスの設定もできるみたいです。 ◆ pg_hba.conf このファイルは、PostgreSQL へ接続するPCを設定するファイルです。 初期設定では、ローカルマシンしか許可されていないので、少し設定を変更します。 書式は タイプ、データベース名、ユーザー、IPアドレス、サブネットマスク、メソッドの順で半角空白で区切って記述します。
実際に記述する箇所は、一番下の方にあります。 上から順に簡単に説明します。 「タイプ」はPostgreSQLに対して接続するPCの種類を指します。local は自PCで host は他PCの事です。 (他にも色々あるみたいですが) 「データベース名」は、PostgreSQLで作成したデータベースを指します。 createdb コマンドで作成したデータベース名の事です。(設定編なので、この辺りは別ページに記述します。) all と指定する事で、全てのデータベースを指定する事ができます。 「ユーザー」は、上記のデータベース上で作成したユーザーの事です。 create user コマンドで作成したユーザーの事を指します。 やはり all と指定する事で、全てのユーザーを指定する事ができます。 「IPアドレス」と「サブネットマスク」は、接続を許可したいIPアドレスを指定します。 (ただしタイプが host の場合です) 「メソッド」は認証方式を指定します。 trsut は無条件で許可してしまうので、せめてパスワード認証ができる password に変更しましょう。 あと無条件に拒否する reject というのもあります。特定のホストやユーザーからアクセスを禁止したいなら設定しましょう。 なので上記の設定ファイル例の太字の部分を以下の様に修正しました。(IPアドレスは各自で設定お願いします。)
PostgreSQL用のLinuxのユーザー「postgres」は、スーパーユーザーの為かどのデータベースにも無条件で入れてしまいます。 ローカルからだと良いのですが、他PCからだとちょっとセキュリティ的に問題ありだと思うので上記のように追加しました。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5.PostgersSQLの起動と終了 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PostgreSQL の起動と終了は bin 直下にある pg_ctl コマンドで行ないます。
上記の設定だと PATH を通しているのでそのまま実行できると思います。 pg_ctl start (起動) pg_ctl stop (終了) PostgreSQL は単体だとあまり意味がないので、「Javaの覚書」の方で併せてその使い方を記述していこうと思います。 |
TOPページに戻る |