|  | メニューに戻る |
■PostgreSQL16.3への移行（Linux）
ここでは、Denbun POP V3.3P R10.0のデータをPostgreSQL13.3からPostgreSQL16.3へ移行する手順をご説明します。
前提条件 本手順は以下を前提に説明いたします。 DenbunPOPのバージョン：V3.3P R10.0 PostgreSQL13.3の管理ユーザー：postgres PostgreSQL13.3の起動スクリプト：「/etc/rc.d/init.d/postgresql」 PostgreSQL13.3のソース：「/usr/local/src/postgresql-13.3/src」 PostgreSQL13.3のインストール先：「/usr/local/pgsql」 PostgreSQL13.3のデータディレクトリ：「/var/pgsql/data」 バックアップ先：「/home/postgres/backup」
１．事前準備 スケジューラーを起動されている場合、スケジューラーを停止してください。 rootユーザーにスイッチした上で、dnpschedulerプロセスをkillします。 [停止コマンド例] # pkill -9 dnpscheduler Webサーバーを停止してください。 [Webサーバー(Apache)停止コマンド例] # systemctl stop httpd.service ２．PostgreSQL13.3のDenbunのデータをバックアップ【重要】 PostgreSQLの「pg_dump」コマンドでバックアップします。 [データベースバックアップコマンド例] # su - postgres $ /usr/local/pgsql/bin/pg_dump -b -Fc -U postgres dnpwmldb > /home/postgres/backup/dnpwmldb.backup ※「pg_dump」コマンド実行中に警告・エラーメッセージが表示されていないことをご確認ください。 また「pg_dump」コマンド実行後「dnpwmldb.backup」ファイルが1バイト以上のサイズで作成されていることをご確認ください。 ３．PostgreSQL13.3をアンインストール 以下のコマンドでPostgreSQLを停止させ 次に、PostgreSQLをアンインストールします。 [データベース(PostgreSQL)停止コマンド例] # su # systemctl stop postgresql [データベース(PostgreSQL)アンインストールコマンド例] # chkconfig --del postgresql # rm /etc/rc.d/init.d/postgresql # cd /usr/local/src/postgresql-13.3/ # gmake uninstall # rm -rf /usr/local/src/postgresql-13.3/ # mv /var/pgsql /var/pgsql_OLD ※「/var/pgsql_OLD」は移行が正しく行えた事を確認した後に削除してください。 ４．PostgreSQL16.3をインストール postgresql-16.3.tar.gzをダウンロードして こちらの手順に沿ってPostgreSQL 16.3をインストールしてください。 DenbunPOPは既にインストール済みですので、ここではPostgreSQLのインストール(データベースの自動起動設定)までを行ってください。 ５．データをリストア 以下のコマンドにてデータべースファイルをリストアします。 [データベース作成コマンド例] # su - postgres $ /usr/local/pgsql/bin/psql > postgres=# CREATE ROLE dnpwml LOGIN PASSWORD 'dnpwml' NOINHERIT VALID UNTIL 'infinity'; > postgres=# CREATE DATABASE dnpwmldb WITH OWNER=dnpwml TEMPLATE=template0 ENCODING='UTF8' LC_COLLATE='C' LC_CTYPE='C'; > postgres=# \q [データベースリストアコマンド例] $ /usr/local/pgsql/bin/pg_restore -Fc -U postgres -d dnpwmldb /home/postgres/backup/dnpwmldb.backup ６．Webサーバーおよびスケジューラーを再開 Webサーバーを開始してください。 [Webサーバー(Apache)開始コマンド例] # systemctl start httpd.service ※スケジューラーはcronで設定された時間に自動起動されます。 こちらをご参照ください。 ７．完了 以上で移行作業は完了です。
| Copyright (C) NEOJAPAN Inc. All Rights Reserved.