Materialized views in PostgreSQL store the results of a query physically. When you create a materialized view, the query runs once and the results are saved. Later, when you query the materialized view, it returns the stored data quickly without running the original query again. If the base tables change, the materialized view does not update automatically. You must run REFRESH MATERIALIZED VIEW to update it with the latest data. This makes materialized views useful for speeding up expensive queries that do not need real-time data. The execution steps show creating the view, querying it, inserting new data into the base table, querying the stale view, refreshing it, and querying the updated view.