This is really nice. Acts almost as a materialised view.
I think those have to be explicitly refreshed, no?
> There are two kinds of generated columns: stored and virtual. A stored generated column is computed when it is written (inserted or updated) and occupies storage as if it were a normal column. A virtual generated column occupies no storage and is computed when it is read. Thus, a virtual generated column is similar to a view and a stored generated column is similar to a materialized view (except that it is always updated automatically).
https://www.postgresql.org/docs/12/ddl-generated-columns.htm...