ロード継続
ロードの継続を有効にすると、システムが一時停止されて再開された後に、外部表を使用する単純なロードがシステムで確実に続行されます。 ユーザーがロードを停止して再サブミットする必要はありません。
ロードの継続を有効にするには、以下のいずれかの方法を使用します。
- code nzloadコマンドに'-allowReplay nオプションをつける。 n の値は許可される再起動の回数を指定します。このオプションは LOAD_REPLAY_REGION セッション変数を 1 に、セッション MAX_QUERY_RESTART 変数を n に設定します。 -allowReplayオプションを指定しないか、オプション設定が0の場合、システムはPostgresのデフォルト設定を使用します。
- 以下のステップを行ってください。
- nzsql コマンドを実行します。
- LOAD_REPLAY_REGION セッション変数を手動で true または 1 に設定します。
- MAX_QUERY_RESTART セッション変数をゼロ以外の数値に手動で設定します。
- 次のステートメントを使用してデータをロードします。
説明に従ってセッション変数を設定すると、再始動が許可されます。 それ以外の場合は、Postgres のデフォルト設定が使用されます。insert into target select * from external table external_table using …
- nzloadコマンドの'-allowReplayオプションを指定するか、セッション変数'LOAD_REPLAY_REGIONを1またはtrueに設定すると、システムは、外部テーブルを使用する単純なロードが、システムを一時停止して再開した後も継続することを保証する。 ユーザーがロードを停止して再サブミットする必要はありません。
ロード継続を有効化した場合、システムは SPU に送信するレコードを ホスト・メモリーの再生領域に保持します。 システムは この領域のデータを SPU に送信した後、部分コミットを実行します。 これにより、まだ書き出されていなかったデータがすべて強制的にディスクに書き出されて、 再ロード領域のデータ・バッファーがシステムで再利用できるようになります。 SPU がリブートまたはリセットされた場合、システムは最後の部分コミットまでロールバックしてから、データの処理および送信を再実行します。
重要:
LOAD_REPLAY_REGION セッション変数および MAX_QUERY_RESTART セッション変数を (-allowReplay オプションを使用して間接的にか、手動で) 設定すると、着信データの速度に応じてパフォーマンスへの影響が生じます。
1 つ以上のマテリアライズド・ビューがアクティブ状態にある表に関してはロードの継続を使用できません。 ロードの継続を有効にする前に、関連するマテリアライズド・ビューをサスペンドしてください。 アクティブなマテリアライズド・ビューをサスペンドするには、ALTER VIEWS コマンドを実行します。 ALTER VIEWS コマンドの構文の例を以下に示します。
ALTER VIEWS ON <table> MATERIALIZE SUSPENDローディングが完了したら、表のマテリアライズド・ビューを更新し、アクティブにすることができます。 構文の例を以下に示します。
ALTER VIEWS ON <table> MATERIALIZE REFRESH