title: Table vs Materialized View
body: <p>This is related to the previous question I asked, <a href="https://stackoverflow.com/questions/64418093/saved-view-with-a-timestamp-expression?">Saved View with a timestamp expression</a>, about storing information in a (non-materialized) View. How would the data be stored and then retrieved when a user does:</p>
  <pre><code>CREATED MATERIALIZED VIEW mv AS SELECT person_id, name, NOW() as now FROM table
  # is this more-or-less the same as:
  # CREATED TABLE tb AS SELECT person_id, name, NOW() as now FROM table
  #  &quot;AND UPDATE EVERY...&quot;
  </code></pre>
  <p>Is the <code>NOW()</code> expression saved as a value to storage, or are any functions evaluated at query-time for a materialized view? Is a materialized view the same thing as a table, which has some sort of optimizations/refreshing done at the storage level, or am I missing the boat on that?</p>
  <p>This post here suggests that (functionally speaking at least) a Materialized View can be emulated as a table with triggers: <a href="https://www.materialized.info/" rel="noreferrer">https://www.materialized.info/</a>.</p>