ページの先頭行へ戻る
Symfoware Server V12.6.0 移行ガイド(OpenインタフェースからSymfoware Server (Postgres)への移行)
FUJITSU Software

2.2.2 移行先インスタンスのリストア

以下の手順で、バックアップした移行元インスタンスを移行先にリストアします。

注意

移行元インスタンスのリストアは、本バージョンレベルのSymfoware Server (Postgres)の環境で実施してください。

1.移行元インスタンスの削除

ポイント

移行先インスタンスを、移行元と同一のサーバに作成する場合、移行元インスタンスを削除してください。移行先インスタンスを、移行元とは別のサーバに作成する場合は、本手順は不要です。

移行元インスタンスの以下の資源を削除します。

  • データ格納先用のディレクトリ

  • バックアップデータ格納先用のディレクトリ

  • トランザクションログ格納先用のディレクトリ

  • テーブル空間用のディレクトリ


2.インスタンスの作成

インスタンスを作成します。

参照

  • インスタンス作成に関する準備作業については、“FUJITSU Enterprise Postgres 導入ガイド(サーバ編)”の“セットアップの準備作業”を参照してください。

  • インスタンスの作成方法については、“FUJITSU Enterprise Postgres 導入ガイド(サーバ編)”の “インスタンスの作成”を参照してください。

注意

  • 移行元のインスタンスで使用していたポート番号からポート番号を変更した場合は、アプリケーションなどに指定しているポート番号を変更してください。

  • initdbコマンドまたはWebAdminを使用してインスタンスを作成する場合に、移行元と移行先でインスタンス管理者が同じでパスワードが異なる場合は、インスタンス作成後にALTER ROLE文で、移行元のインスタンス管理者のパスワードを設定してください。


3.テーブル空間用のディレクトリの作成

テーブル空間を作成している場合は、テーブル空間用のディレクトリを作成します。

注意

  • テーブル空間用のディレクトリは、移行元と同じパスを設定してください。

  • 統計情報の固定化(pg_dbms_stats)を使用している場合は、対象となるテーブルに対してANALYZEコマンドを1回実行してください。詳細は、“FUJITSU Enterprise Postgres アプリケーション開発ガイド”の“統計情報の固定化”の“使用上の注意”を参照してください。


4.設定ファイルの移行

退避した移行元の設定ファイルを元に、必要に応じて移行先の以下の設定ファイルの設定値を修正します。

  • postgresql.conf

  • pg_hba.conf

  • pg_ident.conf

注意

Symfoware Serverのバージョンレベルによっては、移行元と移行先のインスタンスにおいて、pg_hba.confファイルおよびpostgresql.confファイルのパラメータおよび設定値に非互換があります。 “第3章 互換に関する情報”を確認して作業を実施してください。


5.キーストアのリストア

透過的データ暗号化による格納データの保護を行う場合は、バックアップしたキーストアをリストアします。


6.C言語関数の共有オブジェクトファイルの再作成

ユーザー定義のC言語関数を使用する場合は、C言語関数の共有オブジェクトファイルを、本バージョンレベルのSymfoware Server (Postgres)のインクルードファイルのパスおよびライブラリのパスを指定したコンパイルおよびリンクを実行することで再作成します。

注意

再作成した共有オブジェクトファイルは、移行先のインスタンスにおいて、そのファイルが検索されるディレクトリに適切に配置してください。

参照

C言語関数の共有オブジェクトファイルのコンパイルおよびリンクについては、以下を参照してください。

  • “PostgreSQL文書”の“サーバプログラミング”の“コードの作成”

  • “PostgreSQL文書”の“サーバプログラミング”の“動的にロードされる関数のコンパイルとリンク”

C言語関数の共有オブジェクトファイルの作成例

“<xy>”は、製品のバージョンレベルを示します。

Linux(64ビット)の場合

gcc -m64 -fpic -shared -I/opt/fsepv<xy>server64/include/server testfunc.c testfunc.c -o  testfunc.so

7.インスタンスの起動

インスタンスを起動します。

参照

インスタンスの起動方法については、“FUJITSU Enterprise Postgres 運用ガイド”の“インスタンスの起動と停止”を参照してください。


8.キーストアのオープン

透過的データ暗号化による格納データの保護を行う場合は、キーストアをオープンします。

参照

キーストアのオープンについては、“FUJITSU Enterprise Postgres 運用ガイド”の“キーストアのオープン”を参照してください。


9.pg_stat_statementsの拡張機能の登録

pg_stat_statementsの拡張機能を使用したSQL文の実行時の統計情報を記録する拡張機能を使用する場合は、インスタンス管理者でCREATE EXTENSION文を実行して、pg_stat_statementsをデータベースに登録します。
データベースが複数ある場合には、それらすべてに対して登録を実施してください。

参照

pg_stat_statementsについては、“PostgreSQL文書”の“付録”の“pg_stat_statements”を参照してください。

CREATE EXTENSION文でpg_stat_statementsモジュールを登録する例

SolarisLinuxLinux/Solarisの場合

$ psql postgres
postgres=# CREATE EXTENSION pg_stat_statements;

WindowsWindowsの場合

> psql postgres
postgres=# CREATE EXTENSION pg_stat_statements;

10.スクリプトファイルのリストア

インスタンス管理者で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”を参照してください。

移行元インスタンスのスクリプトファイルをリストアする例

SolarisLinuxLinux/Solarisの場合

$ psql -f inst1.out postgres

WindowsWindowsの場合

> psql -f inst1.out postgres

参考

COPY文でテーブルのデータをバックアップした場合は、COPY文でデータをリストアします。

SolarisLinuxLinux/Solarisの場合

$ psql -c "COPY SCM.TBL TO '/home/symfo/SCM_TBL.dat'" DB1

WindowsWindowsの場合

> psql -c "COPY SCM.TBL TO 'C:\temp\SCM_TBL.dat'" DB1

11.インスタンス管理者のパスワード変更

“2.インスタンスの作成”でインスタンス管理者のパスワードに、移行元のインスタンス管理者のパスワードを設定している場合、必要に応じて、ALTER ROLE文でインスタンス管理者のパスワードを変更します。

ALTER ROLE文でインスタンス管理者のパスワードを変更する例

SolarisLinuxLinux/Solarisの場合

$ psql postgres
postgres=# ALTER ROLE symfo WITH PASSWORD 'symfo111';

WindowsWindowsの場合

> psql postgres
postgres=# ALTER ROLE symfo WITH PASSWORD 'symfo111';