データでマテリアライズドビューをバックアップおよび復元することは可能ですか?


10

マテリアライズドビューを計算するのが難しい場合がありますが、再計算ではなく、実際に保存されたデータを使用してバックアップおよび復元できるようにしたいと考えています。

PostgreSQL 9.4では可能ですか?

(代わりの方法は、実際のテーブルを作成することですが、「更新」するのが困難です)


3
を使用copyして、データ(またはその他のエクスポートユーティリティ)のプレーンテキストダンプを作成できます。それを復元する方法はわかりません。
a_horse_with_no_name 2015

psql -c "\ COPY ...." -h some_IPデータベースを使用して、COPYからリモートサーバーへ、またはリモートサーバーからCSVを「パイプ」できますが、復元先にテーブル構造を作成しておく必要があります。
John Powell、

回答:


8

あんまり。pg_dumpコマンドは単純なCREATE TABLEやINSERTステートメントなどを作成することを覚えておく必要があります。そのため、pg_restoreを実行すると、サーバーでCREATEステートメントとINSERTステートメントを実行してデータを挿入するだけで、「INSERT INTO MATERIALIZED VIEW」コマンドが必要になります。ショートカットでデータを取得すると、ビューの「完全性」も危険にさらされるため、これは意味がありません。手動の復元プロセスで、ビューが返さない無効なデータを挿入する可能性があります。したがって、PostgreSQLがマテリアライズドビューデータをデータベースに直接手動で復元することをサポートすることはないでしょう。

実際のデータをバックアップする必要がある場合は、マテリアライズドビューではなくテーブルを使用し、テーブルに対してスケジュールされたDELETE FROM / INSERT INTOステートメントを実行することをお勧めします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.