PostgreSQL7.3.1インストールメモ(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.1 % 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 -- 引用終り-- 【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