Saya bertanya-tanya bagaimana cara menanyakan definisi tampilan terwujud di Postgres. Sebagai referensi, apa yang saya harap lakukan sangat mirip dengan apa yang dapat Anda lakukan untuk tampilan reguler:
SELECT * FROM information_schema.views WHERE table_name = 'some_view';
yang memberi Anda kolom berikut:
table_catalog
table_schema
table_name
view_definition
check_option
is_updatable
is_insertable_into
is_trigger_updatable
is_trigger_deletable
is_trigger_insertable_into
Apakah ini mungkin untuk pandangan terwujud?
Dari penelitian saya sejauh ini, tampaknya pandangan terwujud sengaja dikeluarkan dari information_schema, karena
Information_schema hanya dapat menampilkan objek yang ada dalam standar SQL.
( http://www.postgresql.org/message-id/3794.1412980686@sss.pgh.pa.us )
Karena mereka tampaknya sepenuhnya dikecualikan dari information_schema, saya tidak yakin bagaimana cara melakukannya, tetapi yang ingin saya lakukan ada dua:
- Menanyakan apakah ada tampilan terwujud tertentu. (Sejauh ini satu-satunya cara yang saya temukan untuk melakukan ini adalah mencoba membuat tampilan mat dengan nama yang sama dan melihat apakah itu meledak.)
- Dan kemudian query definisi tampilan terwujud (mirip dengan
view_definition
kolom aktifinformation_schema.views
).
SELECT to_regclass('some_schema.some_mat_view')
- jika ditemukan, itu tidak harus menjadi MV. Detail: stackoverflow.com/questions/20582500/…