Denbun POP版マニュアル
ユーザーマニュアルMobileガジェットiアプリデンブンP管理者マニュアルインストール方法初期設定ガイド
メニューに戻る
 

■PostgreSQL8.2対応版からPostgreSQL8.3対応版への移行(Linux)

本手順書は、Denbun POP V2.0P R4.3(PostgreSQL8.2対応版)からDenbun POP V2.0P R4.3(PostgreSQL8.3対応版)への移行手順を記述したものです。 V2.0P R4.3以前のバージョンをお使いのお客様はV2.0P R4.3にアップグレード後、本手順書に従ってください。
尚、既にPostgreSQL8.3対応のDenbun POP V2.0P R4.3をお使いの場合は本移行作業は必要ありません。

注意事項
本手順書は、Linux、Apache HTTP Server、PostgreSQL などの知識を有する技術者向けに記述されております。各製品の導入、構成、操作につきましては、該当する製品のマニュアルなどをご参照ください。
また、導入手順及びスクリーンショットなどは、Linux上での移行を前提としておりますため、お客様の環境とは異なる場合があります。

前提条件
後述の移行手順は以下のことを前提条件としています。
・移行元のサーバと移行先のサーバは同一のサーバであること。
・PostgreSQLにはDenbunデータベースのみ存在していること。
・DenbunおよびDenbunに必要なパッケージ(PostgreSQL,MeCab, MeCab用辞書など)を他のアプリケーションで使用していない(アンインストールすることができる。)
・移行作業時にDenbunに対してアクセスがない状態であること。(※スケジューラーが停止されている。)
・移行前のDenbunのバージョンがV2.0P R4.3(PostgreSQL8.2対応版)であること。
・移行後のDenbunのバージョンがV2.0P R4.3(PostgreSQL8.3対応版)であること。
・DenbunおよびDenbunに必要なパッケージがインストールガイドに従ってインストールされていること。
・Denbunのインストール先が「/var/www/cgi-bin/dnpwml」であること。


1.事前準備(バックアップの作成)
移行時に必要な以下のデータのバックアップを事前に行ってください。
ここではバックアップファイルは「/tmp」ディレクトリにバックアップします。
・データベースのバックアップ
・顔写真用ディレクトリのバックアップ


1−1.データベースのバックアップ

移行を行う際に必要である、現在利用されているデータベースのバックアップを取ります。
バックアップ対象のデータベースにて以下のコマンドを使用して、データベースのバックアップを行ってください。
バックアップを行うにはpostgresユーザーで実行する必要があります。

$ su – postgres
# /usr/local/pgsql/bin/pg_dump -b -Fc dnpwmldb > /tmp/dnpwmldb82.pgdmp


1−2.顔写真用ディレクトリのバックアップ

管理ツール-ユーザー一覧-ユーザー情報の登録(変更)から登録できる顔写真をご利用されている場合は、顔写真用ディレクトリのバックアップを行ってください。 バックアップを行うにはrootユーザーで実行する必要があります。

$ su -
Password:
# cp –rp /var/www/cgi-bin/dnpwml/dnpwmlfile /tmp/


2.Denbun PostgreSQL8.2対応版のアンインストール
Denbun PostgreSQL8.2対応版のアンインストールはこちらを参考にアンインストールを行ってください。

PostgreSQL8.2,MeCab, MeCab用辞書などのアンインストールを行います。
アンインストールを行うにはrootユーザーで実行する必要があります。
以下のコマンドを実行してrootユーザーに切り替えてください。

$ su -
Password:

アンインストールする前に、以下のコマンドを実行してPostgreSQLを停止してください。

# /etc/rc.d/init.d/postgresql stop


2−1.pgmecabのアンインストール

以下のコマンドを実行してpgmecabをアンインストールしてください。

# cd /usr/local/src/pgmecab-1.1/
# gmake uninstall
  ・
  ・(中略)
  ・
# cd ../
# \rm -r pgmecab-1.1/


2−2.MeCab用辞書のアンインストール

以下のコマンドを実行してMeCab用辞書をアンインストールしてください。

# cd /usr/local/src/mecab-ipadic-2.7.0-20070801/
# gmake uninstall
  ・
  ・(中略)
  ・
# cd ../
# \rm -r mecab-ipadic-2.7.0-20070801/


2−3.MeCabのアンインストール

以下のコマンドを実行してMeCabをアンインストールしてください。

# \rm /usr/lib/libmecab.so
# \rm /usr/lib/libmecab.so.1
# cd /usr/local/src/mecab-0.96/
# gmake uninstall
  ・
  ・(中略)
  ・
# cd ../
# \rm -r mecab-0.96/


2−4.TSearch2のアンインストール

以下のコマンドを実行してTSearch2をアンインストールしてください。

# cd /usr/local/src/postgresql-8.2.4/contrib/tsearch2/
# gmake uninstall


2−5.PostgreSQL8.2のアンインストール

以下のコマンドを実行してPostgreSQL8.2の自動起動設定を解除してください。

# chkconfig --del postgresql
# \rm /etc/rc.d/init.d/postgresql

次にPostgreSQL8.2のアンインストールを行います。

# cd /usr/local/src/postgresql-8.2.4/
# gmake uninstall
  ・
  ・(中略)
  ・
# cd ../
# \rm –r postgresql-8.2.4/

データベース領域の削除を行います。

# \rm -r /var/pgsql/


2−6.postgresユーザーの削除

以下のコマンドを実行してpostgresユーザーの削除を行ってください。

# /usr/sbin/userdel -r postgres


2−7.Apacheの設定解除

インストール時に設定したApacheのコンフィグレーションファイル(httpd.conf)の設定を解除します。コンフィグレーションファイルは、Redhat Enterprise Linux 同梱のApacheの場合 /etc/httpd/confにありますので、Viなどのエディタで編集します。
以下に示すSetEnvディレクティブを削除します。

#Denbun POP, PostgreSQL Library PATH
SetEnv LD_LIBRARY_PATH /usr/local/pgsql/lib:/var/www/cgi-bin/dnpwml/lib

コンフィグレーションファイルの設定が終了したら、コンフィグのチェックを行ないます。問題なければ、Apacheを再起動します。

# /etc/rc.d/init.d/httpd configtest
Syntax OK
# /etc/rc.d/init.d/httpd restart
httpd を停止中: [ OK ]
httpd を起動中: [ OK ]


3.Denbun POP PostgreSQL8.3対応版のインストール
PostgreSQL8.3対応のDenbun POP V2.0P R4.3をインストールしてください。
インストール方法につきましてはこちらを参照してください。

PostgreSQL8.3対応のDenbun POP V2.0P R4.3を「ダウンロード


4.データの移行
1.でバックアップしたデータをDenbun POP PostgreSQL8.3対応版に移行します。
事前に、データをリストアする際に必要となるファイル(dnpwmlshifttoolpg83.zip)をサーバにアップロードし、「/tmp」ディレクトリに解凍してください。解凍すると「dnpwmlshifttool」ディレクトリが作成されます。


4−1.データベースの移行

1−1.で作成したデータベースのバックアップファイルをリストアする前に、以下のコマンドを実行してください。
以下の作業はpostgresユーザーで実行する必要があります。

$ su – postgres
# /usr/local/pgsql/bin/psql –d dnpwmldb –U dnpwml < /tmp/dnpwmlshifttool/pre.sql

次に1−1.で作成したデータベースのバックアップファイルのリストアを行います。

# /usr/local/pgsql/bin/pg_restore –a -U postgres -Fc -d dnpwmldb < /tmp/dnpwmldb82.pgdmp

※リストア時に下記のエラーが表示されますが、PostgreSQL8.2対応版で使用していたtsearch2のテーブルがPostgreSQL8.3対応版ではなくなっているために表示されるエラーなので無視していただいてかまいません。

pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 2119; 0 180605 TABLE DATA pg_ts_cfg postgres
pg_restore: [archiver (db)] could not execute query: ERROR: relation "pg_ts_cfg" does not exist
Command was:
COPY pg_ts_cfg (ts_name, prs_name, locale) FROM stdin;
pg_restore: [archiver (db)] Error from TOC entry 2120; 0 180610 TABLE DATA pg_ts_cfgmap postgres
pg_restore: [archiver (db)] could not execute query: ERROR: relation "pg_ts_cfgmap" does not exist
Command was: COPY pg_ts_cfgmap (ts_name, tok_alias, dict_name) FROM stdin;
pg_restore: [archiver (db)] Error from TOC entry 2121; 0 180615 TABLE DATA pg_ts_dict postgres
pg_restore: [archiver (db)] could not execute query: ERROR: column "dict_name"
of relation "pg_ts_dict" does not exist
Command was: COPY pg_ts_dict (dict_name, dict_init, dict_initoption, dict_lexize, dict_comment) FROM stdin;
pg_restore: [archiver (db)] Error from TOC entry 2122; 0 180620 TABLE DATA pg_ts_parser postgres
pg_restore: [archiver (db)] could not execute query: ERROR: column "prs_name" of relation "pg_ts_parser" does not exist
Command was: COPY pg_ts_parser (prs_name, prs_start, prs_nexttoken, prs_end, prs_headline, prs_lextype, prs_comment) FROM stdin;
WARNING: errors ignored on restore: 4

リストア後に以下のコマンドを実行してください。

# /usr/local/pgsql/bin/psql –d dnpwmldb –U dnpwml < /tmp/dnpwmlshifttool/after.sql

最後に不要なファイルの削除を行ってください。この作業はrootユーザーで実行する必要があります。

$ su -
Password:
# \rm –r /tmp/dnpwmlshifttool
# \rm /tmp/dnpwmldb82.pgdmp


4−2.顔写真用ディレクトリの移動

1−2.で作成した顔写真用ディレクトリを「/var/www/cgi-bin/dnpwml」ディレクトリに移動します。
顔写真用ディレクトリを移動するにはrootユーザーで以下のコマンドを実行してください。

$ su
Password:
# mv /tmp/dnpwmlfile /var/www/cgi-bin/dnpwml/


5.完了
以上でDenbun POP版PostgreSQL8.2対応版からDenbun POP版PostgreSQL8.3対応版への移行作業は完了です。





 
Copyright (C) 2007-2011 NEOJAPAN,Inc. All Rights Reserved.