FreeBSD 8.4 RELEASE - PostgreSQL - 初期設定

クラウディア 
1. ports
2. カーネルの再構築
3. boot スクリプトの作成
4. データベースの初期化
5. ユーザ環境の設定
6. Microsoft Access で操作

1. ports


postgresql84-client → /usr/ports/databases/postgresql84-client/
postgresql84-server → /usr/ports/databases/postgresql84-server/
 server をインストールする際にも client のモジュールを必要としますので client、server の順にインストールします。  以前は、make install 後、PostgreSQL 用のユーザ・グループを作ったり、PostgreSQL 用のディレクトリを作ったりする作業が必要でしたが、現在はそれらは自動的に作成されます。  make install 後に master.passwd をのぞいてみると

pgsql:*:70:70::0:0:PostgreSQL Daemon:/usr/local/pgsql:/bin/sh
 というユーザが作られていますし /etc/group をのぞいてみると

pgsql:*:70:
 という、group が作成されています。  /usr/local/pgsql/ というディレクトリも作成されています。

2. カーネルの再構築

 PostgreSQLでは、System V の共有メモリ機能を有効にさせる必要があります。4.2-RELASE 以降では、デフォルトでこの機能は使えるので、問題はありませんが。  カーネルコンフィグレーションファイルをチェックしてもし、以下のキーワードが無い場合には追加して、カーネルを再構築する必要があります。カーネルの再構築については「カーネルの再構築」の章を参照してください。

options SYSVSHM
options SYSVSEM
options SYSVMSG

3. boot スクリプトの作成

 以前のバージョンでは、PostgreSQL 用の boot スクリプトを自前で作成していましたが、対象環境では /usr/local/etc/rc.d/postgresql というファイルが自動的に作成されています。これは修正の必要はありません。  /etc/rc.conf に

postgresql_enable="YES"
postgresql_flags="-w -s -m fast"
 を書き加えます。  エンコードを EUC にするのであれば、さらに

postgresql_initdb_flags="--encoding=EUC_JP --lc-collate=C"
 を書き加えます。  バージョン 8.4 では、boot スクリプトに関して、オプションが 3、パラメータが 8 用意されています。代表的に使用するパラメータについて説明しておきます。

> /usr/local/etc/rc.d/postgresql start      ← postmaster の起動
> /usr/local/etc/rc.d/postgresql stop       ← postmaster の停止
> /usr/local/etc/rc.d/postgresql restart    ← postmaster の再起動
> /usr/local/etc/rc.d/postgresql initdb     ← データベースの初期化
> /usr/local/etc/rc.d/postgresql status     ← 現在のステータスの確認

4. データベースの初期化

 環境設定が終わったら、データベースの初期化を行います。

> /usr/local/etc/rc.d/postgresql initdb
 これで、初期設定は完了です。

5. ユーザ環境の設定

 FreeBSD 7.2-RELEASE、PostgreSQL8.4.8 でインストールした場合、ユーザ環境を特に扱うことなく、PostgreSQL の操作ができるようです。PostgreSQL の操作に支障がない環境であれば、本項は設定の必要はありません。  インストールが完了したら、PostgreSQL を利用するために必要な環境設定を行います。ここでの環境設定は、ユーザ postgres だけでなく、PostgreSQL を利用する全てのユーザに必要です。  特に PostgreSQL を使用するユーザがいないのであれば、下記は不要です。 bash の場合  ~/.bashrc に以下の記述を追加します。

PATH="$PATH":/usr/local/pgsql/bin
export POSTGRES_HOME=/usr/local/pgsql
export PGLIB=$POSTGRES_HOME/lib
export PGDATA=$POSTGRES_HOME/data
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PGLIB"
 記述後に

> source ~/.bashrc
 を実行するか、ログインしなおせば有効になります。 csh/tcsh の場合  ~/.cshrc に以下の記述を追加します。

setenv PATH "$PATH":/usr/local/pgsql/bin
setenv POSTGRES_HOME /usr/local/pgsql
setenv PGLIB $POSTGRES_HOME/lib
setenv PGDATA $POSTGRES_HOME/data
if ($?LD_LIBRARY_PATH) then
    setenv LD_LIBRARY_PATH "$LD_LIBRARY_PATH":"$PGLIB"
else
    setenv LD_LIBRARY_PATH "$PGLIB"
endif
 記述後に

> source ~/.cshrc
 を実行するか、ログインしなおせば有効になります。

6. Microsoft Access で操作

 クライアントマシンが、Windows で、Microsoft Access を持っていれば、ODBC を使って、PostgreSQL 上のデータを操作することが出来ます。  ODBC(Open DataBase Connectivity)とは、PostgreSQL のようなデータベース管理システム(DataBase Management System,DBMS)のための共通のインターフェースです。ODBCによって、異なる仕様の様々な DBMS が統一されたプログラミングインターフェースで使用できます。  PostgreSQL 用の ODBCドライバとして PostgreSQL ODBC Driver があります。PostgreSQL の 6.2~7.0に対応しています。  パッケージと日本語化パッチを下に示しますので、ダウンロードして使ってください。
ドライバパッケージ」
「日本語化パッチ
 
これらはずいぶん古いバージョンのドライバですので可能であれば他のサイトから新しいバージョンのドライバを入手してください。
 入手した ドライバパッケージ(postdrv.exe)を Windows マシンで実行し、質問に答えるだけでインストールできます。インストールの途中の Select Components 画面では、 "Do not install Driver Manager"を選択します。  上記の作業で PostgreSQL ODBC Driver のインストールは出来たのですが、このままでは日本語が扱えません。そのため、日本語に対応させるためのパッチファイルが必要になります。上に置いてある日本語化パッチをダウンロードしたら、圧縮されていますので、まず解凍します。解凍して出来た"PSQLODBC.DLL"を C:\WINDOWS\SYSTEM ディレクトリにコピー(英語版を上書き) します。以上で ODBCドライバのセットアップは終了です。  次に PostgreSQL データベースが利用できるように ODBC の設定を行います。ます、PostgreSQL サーバについて、以下の項目を確認します。  ネットワーク経由で利用することになるため、postmaster の起動には、 -i オプションをつけます(おそらくデフォルトの boot スクリプトでつけられていると思います)。  PostgreSQL のユーザ認証方法を平文パスワード認証にします。具体的には pg_hba.conf ファイルの第5フィールドを"password"にします。  PostgreSQL ODBC Driver 経由で利用するユーザとパスワードを設定します。  上記の項目を確認した後、Windowsマシンのコントロールパネルから、
「FreeBSD 8.4 RELEASE」-「PostgreSQL」「Windows」「エクスプローラ」「コントロールパネル」

 ODBCデータソース(画面の上左から2番目です)をダブルクリックして ODBCデータソースアドミニストレータを開き、

「FreeBSD 8.4 RELEASE」-「PostgreSQL」「Windows」「ODBC アドミニストレータ」

 PostgreSQLデータベースにアクセスするための新しいデータソースを作成します。
 最初にデータソースの種類を選びます。以下の3種類があります。
ユーザ DSNWindowsのログインユーザごとに保管されるデータソースです
システム DSNシステム全体で共通なデータソースです
ファイル DSN通常のファイルとして保管されるデータソースです ファイルとして保管される ので、別のPCにコピーして利用することも可能です
 データソースの種類を決めたら、ODBCデータソースアドミニストレータ画面の上部のタブから、該当するページを開き、「追加」をクリックします。  次のデータソースの新規作成画面で、
「FreeBSD 8.4 RELEASE」-「PostgreSQL」「Windows」「データソースの新規作成」

 PostgreSQL を選び、「完了」をクリックします。
 次に、PostgreSQL Driver Setup 画面が表示されます。

「FreeBSD 8.4 RELEASE」-「PostgreSQL」「Windows」「PostgreSQL driver Setup」

 ここで、 PostgreSQLデータベースにアクセスするために必要な情報を入力します。
 Data Source:欄、および Description:欄には、作成するデータベースの名称とその説明を指定します。
 Data Source:欄以外は空欄にしておくことも可能です。
 また、PostgreSQL ODBC Driver の細かな設定を行うには、この画面(PostgreSQL Driver Setup画面)の「Driver」をクリックし、 Advanced Options (Driver)画面を開きます。

「FreeBSD 8.4 RELEASE」-「PostgreSQL」「Windows」「Advanced Options (Driver)」

 各項目の内容は省略します。
 画像で表示しているのは、デフォルトではなく推奨設定値です。

 また、データソースの動作設定を行うには、PostgreSQL Driver Setup 画面の「DataSource」をクリックし、 Advanced Options (PostgreSQL)画面を開きます。

「FreeBSD 8.4 RELEASE」-「PostgreSQL」「Windows」「Advanced Options (PostgreSQL)」

 画像で表示しているのが、推奨設定値です。

 以上で PostgreSQL ODBC Driver の設定は完了です。
 Microsoft Access を起動し、「ファイル」→「外部データの取り込み」→「テーブルのリンク」を選び、リンク画面を表示します。そこで、「ファイルの種類」欄から、"ODBC Database ()"を選び、データソース選択画面に切替えます。そこで、作成したデータソース (ファイルデータソース or コンピュータデータソース)を選び、作成したデータベースを開きます。
 これで、Microsoft Access からデータの参照、変更、挿入、削除が行えます。テーブルの中の項目名や型などは変更できません。それらを変更するには、psql コマンドを使って行うことになります。

earthcar(アースカー)
葬送のフリーレン Prime Video