2016-12-04 49 views
2

使用postgres 9.5.2(python客戶端)檢查物化視圖是否已填充

是否有任何方法檢查物化視圖是否使用查詢填充?沒有提出警告的視圖沒有填充?

+0

'select count(*)from mv' ?? –

+0

嘗試它,它會引發以下錯誤: '錯誤:物化視圖「」尚未填充提示:使用REFRESH MATERIALIZED VIEW命令.' –

回答

4

簡單的回答:

SELECT relispopulated FROM pg_class WHERE relname = '<the table name>'; 

您可以找到有關pg_classin the documentation更多細節。據此,relispopulated的字段應該對所有東西都是正確的,但是對於一些物化的意見,我從這個字段和這個字段的名稱可以推斷出它會給你想要的東西。

+0

正確的錢!謝謝! –

+0

只是單挑:目錄模式相當穩定,但他們確實保留在版本之間進行更改的權利。確保在此包含測試,並在您想要執行postgres升級時運行它。 – jmelesky