Saya memiliki pandangan terwujud Postgres 9.3
yang ingin saya perbarui dengan kolom baru. Namun, tampilan terwujud lainnya juga tergantung pada tampilan ini, dan pesan kesalahan menunjukkan bahwa menjatuhkan tampilan tidak mungkin ketika objek lain bergantung padanya.
GALAT: tidak dapat menjatuhkan tampilan terwujud latest_charges karena objek lain bergantung padanya
Itu juga muncul dari dokumentasi bahwa kata kunci REPLACE tidak valid untuk tampilan terwujud. Apakah ada jalan pintas selain dari menjatuhkan semua objek bergantung dan membangun kembali masing-masing?
Jawaban:
Pada PostgreSQL 9.4: Berbeda dengan dokumentasi CREATE VIEW , dokumentasi CREATE MATERIALIZED VIEW TIDAK menyebutkan kata kunci REPLACE. Tampaknya tidak ada jalan pintas selain dari menjatuhkan semua objek bergantung dan membangun kembali masing-masing.
Ketika Anda melakukannya, saya hanya dapat merekomendasikan dua hal kecil:
sumber
Untuk situasi saya, saya lebih suka membatasi tetesan dengan menggunakan lapisan tampilan:
misalnya.
sumber
Di PgAdmin (versi 4.x), saya dapat dengan mudah memodifikasi definisi (saya menambahkan klausa where) di kotak properti. Masalah Anda bisa diselesaikan dengan cara itu.
sumber