PostgreSQL7.3.2インストールメモ(with DBI&DBD::Pg) for Mac OS X 10.2.4

作成日:2003-2-22(Sat)
修正日:2003-5-9(Fri)
tokada@s19.xrea.com
不明な点、間違い等あれば上記メールアドレスまでよろしくおねがいします。
この文書の再配布、リンクは自由です。

ダウンロード

●readline4.2a + jpatch
% curl -O ftp://mirrors.kernel.org/gnu/readline/readline-4.2a.tar.gz
% curl -O ftp://ftp.yynet.tama.tokyo.jp/pub/misc/readline/readline-4.2a-jpatch.20020208.gz
●PostgreSQL7.3.2
% curl -O ftp://ftp.sra.co.jp/pub/cmd/postgres/7.3.2/postgresql-7.3.2.tar.gz

readlineのインストール

※参考 http://www.hizlab.net/app/install/readline.html

% tar xvfz readline-4.2a.tar.gz
% cd readline-4.2a
% gzip -dc ../readline-4.2a-jpatch.20020208.gz | patch -p1 -s
※参考 http://archive.develooper.com/macosx@perl.org/msg04436.html
% perl -i.bak -p -e \
"s/SHLIB_LIBS=.*/SHLIB_LIBS='-lSystem -lncurses -lcc_dynamic'/g" \
support/shobj-conf

% ./configure
% make
% sudo make install

PostgreSQL7.3.1のインストール

この部分間違いがありました。さらに追加情報もいただきました。
吉村さん御指摘ありがとうございました(2003-5-9(Fri))

インストール

% cd postgresql-7.3.2
% ./configure --with-perl

# Java関連を利用する方は
# --with-java=/Library/Java/Home を追加すると幸せになれるそうです。

% make
% sudo make install
  環境変数の設定をする(後述)
% initdb --no-locale --encoding=UNICODE -D $PGDATA

※7.2.4までは以下を参照ください

% ./configure --disable-locale --enable-multibyte=UNICODE --with-perl --enable-syslog
% make all
% sudo make install
環境変数の設定をする(後述)
% initdb -D $PGDATA
以下吉村さんからのメールを引用
7.3以降ではmultibyte, locale, syslogがデフォルトでenableとなります。その
代わりにinitdbの際、encodingの指定、no-localeの指定をする必要があります。
またlocaleについては日本語処理に問題があることがわかっています。外された
方が幸せになれるでしょう。

「localeを外すのは日本語環境でソートの並び順などに問題があることが指摘され ているから」だそうです。

環境変数の設定

少くとも環境変数 POSTGRES_HOME, PGLIB, PGDATA を設定します。
MAN_PATHなどはお好みで。

以下吉村さんからのメールを引用

bashなど(Borne Shell系)

export POSTGRES_HOME=/usr/local/pgsql
 PostgreSQLをインストールしたディレクトリを指定
 私は/usr/local/pgsql/7.3.2にしています
export PGLIB=$POSTGRES_HOME/lib
export PGDATA=$POSTGRES_HOME/data
 データベースを格納するディレクトリを指定
 私は/Users/postgres/data/7.3.2にしています

export PATH=$PATH:$POSTGRES_HOME/bin
if [ "$MAN_PATH" = "" ]; then
        export MAN_PATH=$POSTGRES_HOME/man
else
        export MAN_PATH="$MAN_PATH":$POSTGRES_HOME/man

if [ "$LD_LIBRARY_PATH" = "" ]; then
        export LD_LIBRARY_PATH=$PGLIB
else
        export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":$PGLIB
fi
cshなど(csh系)
setenv POSTGRES_HOME /usr/local/pgsql
setenv PGLIB $POSTGRES_HOME/lib
setenv PGDATA $POSTGRES_HOME/data

PerlモジュールをCPANからインストール

DBIモジュールのインストール

※参考 http://www.tech-arts.co.jp/macosx/macosx-jp/htdocs/15000/15059.html

% perl -MCPAN -e shell
Cpan> get DBI
cpan> look DBI
% chmod 666 t/10examp.t
% vi t/10examp.t
#!perl -w  # < #!perl -Tw 
% chmod 444 t/10examp.t

% sudo vi /System/Library/Perl/darwin/Sys/Syslog.pm
my $syslog = &_PATH_LOG() # < 277行目 my $syslog = &_PATH_LOG
% exit
cpan> make DBI

cpan> test DBI

cpan> look DBI
% sudo make install

DBD::Pgモジュールのインストール

※参考 http://lists.initd.org/pipermail/psycopg/2001-August/000313.html

Try runlib on the library (AFTER backing up):
# runlib /usr/local/pgsql/lib/libpq.a
となっていますが、
# ranlib /usr/local/pgsql/lib/libpq.a
   ^

のTypoっぽいです。はまった…

% sudo ranlib /usr/local/pgsql/lib/libpq.a
% perl -MCPAN -e shell
cpan> test DBD::Pg

cpan> look DBD::Pg
% sudo make install

==TOP==