Postgres'te gerçekleşen görünümün nasıl sorgulanacağını merak ediyorum. Referans olarak, yapmayı umduğum şey, normal bir görünüm için yapabileceklerinize çok benziyor:
SELECT * FROM information_schema.views WHERE table_name = 'some_view';
bu da size aşağıdaki sütunları verir:
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
Bu, somutlaşmış görüşler için mümkün mü?
Şimdiye kadar yaptığım araştırmadan, somutlaştırılmış görüşlerin bilinçli olarak info_schema'dan hariç tutulduğu anlaşılıyor, çünkü
İnformation_schema yalnızca SQL standardında bulunan nesneleri gösterebilir.
( http://www.postgresql.org/message-id/3794.1412980686@sss.pgh.pa.us )
Bilgi_semadan tamamen dışlanmış gibi göründükleri için, bunun nasıl yapılacağından emin değilim, ama yapmak istediğim iki yönlü:
- Belirli bir somutlaştırılmış görünüm olup olmadığını sorgulayın. (Şimdiye kadar bunu yapmanın tek yolu, aynı ada sahip bir mat görünüm oluşturmayı ve havaya uçup patlamayacağını görmek.)
- Ve sonra materyalize görünümün tanımını sorgulayın (
view_definition
üzerindeki sütuna benzerinformation_schema.views
).
SELECT to_regclass('some_schema.some_mat_view')
- bulunursa, bunun bir MV olması gerekmez. Ayrıntılar: stackoverflow.com/questions/20582500/…