以下の手順で、バックアップした移行元インスタンスを移行先にリストアします。
注意
移行元インスタンスのリストアは、本バージョンレベルのSymfoware Server (Postgres)の環境で実施してください。
ポイント
移行先インスタンスを、移行元と同一のサーバに作成する場合、移行元インスタンスを削除してください。移行先インスタンスを、移行元とは別のサーバに作成する場合は、本手順は不要です。
移行元インスタンスの以下の資源を削除します。
データ格納先用のディレクトリ
バックアップデータ格納先用のディレクトリ
トランザクションログ格納先用のディレクトリ
テーブル空間用のディレクトリ
インスタンスを作成します。
参照
インスタンス作成に関する準備作業については、“FUJITSU Enterprise Postgres 導入ガイド(サーバ編)”の“セットアップの準備作業”を参照してください。
インスタンスの作成方法については、“FUJITSU Enterprise Postgres 導入ガイド(サーバ編)”の “インスタンスの作成”を参照してください。
注意
移行元のインスタンスで使用していたポート番号からポート番号を変更した場合は、アプリケーションなどに指定しているポート番号を変更してください。
initdbコマンドまたはWebAdminを使用してインスタンスを作成する場合に、移行元と移行先でインスタンス管理者が同じでパスワードが異なる場合は、インスタンス作成後にALTER ROLE文で、移行元のインスタンス管理者のパスワードを設定してください。
テーブル空間を作成している場合は、テーブル空間用のディレクトリを作成します。
注意
テーブル空間用のディレクトリは、移行元と同じパスを設定してください。
統計情報の固定化(pg_dbms_stats)を使用している場合は、対象となるテーブルに対してANALYZEコマンドを1回実行してください。詳細は、“FUJITSU Enterprise Postgres アプリケーション開発ガイド”の“統計情報の固定化”の“使用上の注意”を参照してください。
退避した移行元の設定ファイルを元に、必要に応じて移行先の以下の設定ファイルの設定値を修正します。
postgresql.conf
pg_hba.conf
pg_ident.conf
注意
Symfoware Serverのバージョンレベルによっては、移行元と移行先のインスタンスにおいて、pg_hba.confファイルおよびpostgresql.confファイルのパラメータおよび設定値に非互換があります。 “第3章 互換に関する情報”を確認して作業を実施してください。
ユーザー定義のC言語関数を使用する場合は、C言語関数の共有オブジェクトファイルを、本バージョンレベルのSymfoware Server (Postgres)のインクルードファイルのパスおよびライブラリのパスを指定したコンパイルおよびリンクを実行することで再作成します。
注意
再作成した共有オブジェクトファイルは、移行先のインスタンスにおいて、そのファイルが検索されるディレクトリに適切に配置してください。
参照
C言語関数の共有オブジェクトファイルのコンパイルおよびリンクについては、以下を参照してください。
“PostgreSQL文書”の“サーバプログラミング”の“コードの作成”
“PostgreSQL文書”の“サーバプログラミング”の“動的にロードされる関数のコンパイルとリンク”
“<xy>”は、製品のバージョンレベルを示します。
Linux(64ビット)の場合
gcc -m64 -fpic -shared -I/opt/fsepv<xy>server64/include/server testfunc.c testfunc.c -o testfunc.so
インスタンスを起動します。
参照
インスタンスの起動方法については、“FUJITSU Enterprise Postgres 運用ガイド”の“インスタンスの起動と停止”を参照してください。
透過的データ暗号化による格納データの保護を行う場合は、キーストアをオープンします。
参照
キーストアのオープンについては、“FUJITSU Enterprise Postgres 運用ガイド”の“キーストアのオープン”を参照してください。
pg_stat_statementsの拡張機能を使用したSQL文の実行時の統計情報を記録する拡張機能を使用する場合は、インスタンス管理者でCREATE EXTENSION文を実行して、pg_stat_statementsをデータベースに登録します。
データベースが複数ある場合には、それらすべてに対して登録を実施してください。
参照
pg_stat_statementsについては、“PostgreSQL文書”の“付録”の“pg_stat_statements”を参照してください。
インスタンス管理者でpsqlコマンドを使用し、移行元のスクリプトファイルをリストアします。
注意
psqlコマンドでデータベースに接続する際のパスワードは、“2.インスタンスの作成”で設定したパスワードを指定してください。
スクリプトファイルのリストア時に、下記の拡張機能の登録に失敗したメッセージが出力されますが、本メッセージは無視してください。
pgx_cpu
pgx_disk
pgx_io
pgx_log
pgx_memory
pgx_network
pgx_network_err
pgx_paging
pgx_process
pgx_swap
なお、手順9.のpg_stat_statementsの拡張機能の登録を実施していない場合、pg_stat_statementsに対して登録に失敗したメッセージが出力されますが、 本メッセージも無視してください。
参照
psqlコマンドについては、“PostgreSQL文書”の“リファレンス”の“psql”を参照してください。
Linux/Solarisの場合
$ psql -f inst1.out postgres
Windowsの場合
> psql -f inst1.out postgres
参考
COPY文でテーブルのデータをバックアップした場合は、COPY文でデータをリストアします。
Linux/Solarisの場合
$ psql -c "COPY SCM.TBL TO '/home/symfo/SCM_TBL.dat'" DB1
Windowsの場合
> psql -c "COPY SCM.TBL TO 'C:\temp\SCM_TBL.dat'" DB1