获取CockroachDB中物化视图的最后刷新时间

问题描述

在 CockroachDB v20.2 中,可以使用以下方法检索 Materialized Views 列表:

> SELECT * FROM pg_catalog.pg_matviews;
  schemaname | matviewname | matviewowner | tablespace | hasindexes | ispopulated | deFinition
----------------------------------------------------------------------------------------------------
  public     | VIEWNAME    | root         | NULL       |   false    |    true     | VIEWDEFinitioN

从这里,我们如何找到此视图上次 Refreshed 的时间?

解决方法

据我所知,无法从内部表中获得此信息。我认为 PostgreSQL 也没有。

一种解决方法是使用额外的时间戳列定义物化视图,例如:

create materialized view my_view as select col,now() as last_updated from tab;

这样做的缺点是视图中的每一行都会有这个列,并且会使用额外的磁盘空间。