SELECT *
được mở rộng tại thời điểm thực thi, giống như với tất cả các hoạt động tương tự ( CREATE VIEW
, CREATE TABLE AS
)
Từ khóa là "ràng buộc sớm" trái ngược với "ràng buộc muộn". Postgres lưu danh sách các cột có tại thời điểm thực thi SELECT *
, các cột được thêm vào sau đó không phải bao gồm tự động. Chuỗi truy vấn bản thân nó không được lưu, chỉ đại diện nội bộ sau mở rộng SELECT *
và những thứ khác như phân giải tất cả các số nhận dạng.
REFRESH MATERIALIZED VIEW
không bao giờ thay đổi định nghĩa dữ liệu, chỉ dữ liệu:
Hướng dẫn có thể rõ ràng hơn về nó, nhưng so sánh với hành vi trong số CREATE TABLE AS
đã nói rõ cho tôi: