PostgreSQLのアップデート。 作業を止めずに新しいスキーマに移行するユーティリティ reshape のリリース

PostgreSQL のサポートされているすべてのブランチ (14.2、13.6、12.10、11.15、および 10.20) に対して修正アップデートが生成されており、過去 55 か月間に特定された XNUMX 件のエラーが修正されています。 特に、VACUUM 操作中に HOT (ヒープ専用タプル) チェーンを変更するとき、または TOAST ストレージ メカニズムを使用するテーブルのインデックスに対して REINDEX CONCURRENTLY 操作を実行するときに、まれにインデックスの破損につながる問題が修正されました。

ALTER STATISTICS の実行時および複数範囲型のデータを取得する際のクラッシュを修正しました。 不正な結果を引き起こすクエリ プランナーのバグが修正されました。 式を使用してインデックスを更新するとき、および多数のオブジェクトに対して REASSIGN OWNED BY 操作を実行するときのメモリ リークを修正しました。 セグメント化されたテーブルの高度な統計の構築が提供されます。

さらに、reshape ユーティリティのリリースにも注目してください。このユーティリティを使用すると、作業を停止することなく PostgreSQL のデータ スキーマに対する複雑な更新を実行できます。通常の状況では、データベースを使用するサービスを手動で変更したり、一時的にシャットダウンしたりする必要があります。 このユーティリティを使用すると、長いブロッキングやリクエスト処理サイクルを中断することなく、古いデータ スキームから新しいデータ スキームに切り替えることができます。 このユーティリティは、データ スキーマの移行中にアプリケーションが引き続き使用できるテーブル ビューを自動的に作成し、古いスキーマと新しいスキーマの間でデータの追加と削除の操作を変換するトリガーも構成します。

したがって、移行中に reshape を使用すると、古いスキーマと新しいスキーマが同時に利用可能な状態になり、作業を停止することなくアプリケーションを徐々に新しいスキーマに移行できます (大規模なインフラストラクチャでは、ハンドラーを古いものから新しいものに徐々に置き換えることができます)。 新しいスキーマへのアプリケーションの移行が完了すると、古いスキーマのサポートを維持するために作成されたビューとトリガーは削除されます。 移行中にアプリケーションの問題が特定された場合は、スキーマの変更を元に戻し、古い状態に戻すことができます。

出所: オープンネット.ru

コメントを追加します