UNIXな生活
更新:2003/11/11  
Linuxな生活  FreeBSDな生活
 Solarisな生活
 JAVAな生活
 Practical use
 掲示版
PostgreSQLのインストール(FreeBSD,Solaris,Linux)

PostgreSQLのインストールで す。
Linux,Solaris,FreeBSDの各OSにて応用できます。
各OSでの違いは、そのつど記載します。

JDBCドライバと、PGAccess(GUI管理)も一所にインストールします。
PostgreSQLのソースはこちらから。
今回は、PostgreSQL-7.3.4.tar.gzを使用。

まずは、以下の物がインストールされているか確認してください。
J2SDK1.3 or 1.4
automake
autoconf
libtool
gmake(make)
gcc
readline
Tcl
Tk
apache-ant
*Linuxの一般的なディストリ ビューションでは、だいたい入っていると思います。FreeBSDやSolarisでは別途インストールする必要があるかもしれません。
また、TurboLinux 10 Desktopで、PGAccessを利用すると、日本語文字が文字化けします。Turboよりパッケージをアップデートするか、 Tcl-8.4.4とTk-8.4.4をソースか ら入れたら正常に表示できました。


Tips.1 Tcl/Tkのソースからのインストール

まず、ソースを用意します。入手はこちらから。
tcl8.4.4-src.tar.gz
tk8.4.4-src.tar.gz

Tcl
#tar zxvf tcl8.4.4-src.tar.gz
#cd tcl8.4.4/unix
#./configure --prefix=/usr/local
#make
#make install

Tk
#tar zxvf tk8.4.4-src.tar.gz
#cd tk8.4.4/unix
#./configure --prefix=/usr/local --with-tcl=/usr/local/lib
#make
#make install

これで、/usr/localにTcl/Tkがインストールされます。


準備ができたら、PostgreSQLをインストールします。
*Solaris---tarはgtarに読みか えてください。
*Solaris,FreeBSD--makeは gmakeに読みかえてください。

1.Postgresユーザーの作成

postgres用のユーザーとグループを適時作成します。
groupadd=postgres
user=postgres

Linux
#/usr/sbin/groupadd postgres
#/usr/sbin/useradd postgres -g postgres

FreeBSD
/stand/sysinstallから、、。

Solaris
#groupadd -g 10001 postgres
#useradd -d /export/home/hoge -g postgres -m -u 10001 postgres


2.Postgresのインストール用ディレクトリの作成とソースの展開
#mkdir /usr/local/pgsql
#chown postgres:postgres /usr/local/pgsql

#tar zxvf postgresql-7.3.4.tar.gz -C /usr/local/src/
#chown -R postgres:postgres /usr/local/src/postgresql-7.3.4




3.ANTのインストール
Postgresのjdbc作成に必要ですので、ここで入れときます。
#mkdir /usr/local/jakarta
#tar zxvf apache-ant-1.5.2.tar.gz -C /usr/local/jakarta/


4.Postgresのインストール
ここからは、postgresユーザーで作業します。
まず、postgresユーザーに、ANT_HOMEとANTのパスを設定してください。
当然、JAVA_HOMEとjavaのパスも設定しておいてください。

PATHの設定(ANT)
*bash
export ANT_HOME=/usr/local/jakarta/apache-ant-1.5.2
export PATH = $PATH:$ANT_HOME/bin

PATHの設定を反映させます。
%source ~/.bash_profile

*tcsh
setenv path = (/usr/local/jakarata/apache-ant-1.5.2/bin)
setenv ANT_HOME /usr/local/jakarta/apache-ant-1.5.2

PATHの設定を反映させます。
%source ~/.chsrc

Postgresをコンパイルします。
%cd /usr/local/src/postgres-7.3.4
%./configure --with-tcl --with-java
%make
%make check
%make install clean

*Tcl/Tkを指定する場合は、
%cd /usr/local/src/postgres-7.3.4
%./configure --with-java --with-tcl --with-tclconfig=/usr/local/lib --with-tkconfig=/usr/local/lib
%make
%make check
%make install clean

5.Postgres用のPATH設定
*bash
export PATH=$PATH:/usr/local/pgsql/bin
export PG=/usr/local/pgsql
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PG/lib
export PGLIB=$PG/lib
export PGDATA=$PG/data
export MANPATH=$MANPATH:/usr/local/pgsql/man
設定を反映させます。
%source ~/.bash_profile

*tcsh
set pathに以下を追加
set 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.DBの初期化と設定
%initdb -E EUC_JP --no-locale
DBのデフォルトロケールは、EUC_JPを使用します。
createdb時に、ロケールの指定が無いと、EUC_JPに、指定したい場合は、createdb -E UNICODEってする。
これで/usr/local/pgsql/data以下に領域が設定されます。
なお、jdbc経由でpostgresに接続するには、tcpip経由のみになります。
そこで、postgresにtcpip経由で接続できるよう設定します。
設定は/usr/local/pgsql/data/postgres.confで行ないます。
postgres.confの以下を変更します。
#tcpip_socket = false
tcpip_socket = true

7.自動起動の設定
ここからはrootで作業します
*Linux&Solaris
/usr/local/src/postgresql-7.3.4/contrib/start-scripts/以下にlinuxという postgres起動用スクリプトファイルがあります。
これを/etc/init.d/以下にpostgresとしてコピーし、適切なランレベルへ設定してください。

*FreeBSD
/usr/local/src/postgresql-7.3.4/contrib/start-scripts/以下にfreebsdというpostgres起動用スクリプトファイルがあります。
これを、/usr/local/etc/rc.d/にpostgres.shとして、コピーしておいてください。


8.pgaccessのインストール。
ここまでで、pgaccessがいるはずですが、、、いない、、、。
PostgreSQL-7.3.*以降PGAccessは同封されなくなりました。
で、別途インストールすることに。
入手は、www.PGAccess.org
入手したファイルは、pgaccess-0.98.7.tar.gz
#tar zxvf pgaccess-0.98.7.tar.gz -C /usr/local
 
起動は、
%/usr/local/pgaccess/pgaccess
PATHを通しておきましょう。

*PGAcessを起動できないい場合の確認。
1./usr/local/pgaccess/pgaccessを編集し、wishの参照先を確認してください。

2./usr/local/pgsql/lib に、"libpgtcl.so"があるか確認してください。無ければ、PostgreSQLのconfigure指定が違っています。


9.JDBCドライバ
作成されたJDBCドライバは、"/usr/local/pgsql/share/java/postgresql.jar"です。
Tomcatで使用する場合は、"$TOMCAT_HOME/common/lib/"以下にコピーしてください。


Producted by Tomoya Sakurai