Apakah mungkin untuk membuat cadangan dan memulihkan tampilan terwujud dengan data itu?

10

Saya memiliki beberapa kesulitan untuk menghitung tampilan terwujud, yang saya ingin dapat membuat cadangan dan memulihkan menggunakan data yang tersimpan aktual, dan bukan dengan mengkomputasi ulang.

Apakah mungkin di PostgreSQL 9.4?

(alternatifnya adalah membuat tabel aktual, tetapi lebih sulit untuk "menyegarkan")

Ophir Yoktan
sumber
3
Anda bisa menggunakan copyuntuk membuat dump teks data biasa (atau utilitas ekspor lainnya). Tidak yakin bagaimana cara mengembalikannya.
a_horse_with_no_name
Anda dapat "mem-pipe" CSV dari COPY ke / dari server jauh menggunakan psql -c "\ COPY ...." -h database some_IP meskipun jelas, Anda harus membuat struktur tabel di tempat Anda memulihkan.
John Powell

Jawaban:

8

Tidak juga. Anda harus ingat bahwa perintah pg_dump membuat pernyataan CREATE TABLE dan INSERT dll. Jadi, ketika menjalankan pg_restore, Anda hanya menjalankan pernyataan CREATE dan INSERT di server dan memasukkan data akan memerlukan "INSERT INTO MATERIALIZED VIEW" -command. Itu tidak masuk akal karena mendapatkan data dengan jalan pintas juga akan membahayakan "integritas" tampilan - Anda bisa memasukkan data yang tidak valid pada proses pemulihan manual yang tampilan tidak akan kembali sebaliknya. Jadi saya ragu bahwa PostgreSQL akan pernah mendukung pemulihan manual data tampilan terwujud langsung ke dalam basis data.

Jika Anda perlu mencadangkan data aktual, saya akan merekomendasikan menggunakan tabel alih-alih tampilan terwujud dan menjalankan DELETE FROM / INSERT INTO pernyataan yang dijadwalkan ke tabel.

Simo Kivistö
sumber