PostgreSQL has made a significant change by making generated columns virtual by default, which helps save storage space as these columns are calculated at runtime rather than being stored on disk. This adjustment allows users to balance the trade-off between storage and query performance depending on their specific needs. While virtual columns reduce storage requirements, they could impact performance since they are generated with each query, but PostgreSQL's optimizations may mitigate this. The decision to use virtual columns instead of traditional stored generated columns or views depends on factors like workload type and the complexity of data being handled. The change is part of the enhancements in PostgreSQL version 18, which promises improved performance and new features that can be explored with services like Aiven.