รีเฟรชมุมมองที่เป็นรูปธรรมของ PostgreSQL โดยอัตโนมัติโดยไม่ต้องใช้ทริกเกอร์


11

ฉันสร้างมุมมองที่มีชื่อปรากฏบนโต๊ะห่อหุ้มข้อมูลต่างประเทศview_table_A สิ่งที่ฉันต้องการสำหรับมุมมองที่จะได้รับการปรับปรุงโดยอัตโนมัติทุกครั้งหลังใส่ใหม่table_A table_Aฉันพยายามทำสิ่งนี้ด้วยทริกเกอร์ แต่มันไม่ทำงาน

เป็นไปได้ไหมที่จะรีเฟรชมุมมองที่ปรากฏขึ้นโดยอัตโนมัติโดยไม่ใช้ทริกเกอร์

คำตอบ:


11

ในฐานะที่เป็นa_horse_with_no_nameกล่าวในความคิดเห็น:

ไม่นั่นเป็นไปไม่ได้ คุณต้องใช้ตัวกำหนดตารางเวลาบางอย่างที่เรียกใช้มุมมองการรีเฟรช materialized เช่นpg_cronหรือบางอย่างในระดับระบบปฏิบัติการ - a_horse_with_no_name

หรือถ้าคุณต้องการMATERIALIZED VIEWที่รีเฟรชเมื่อคุณเรียกใช้SELECTเพียงแค่ลบและใช้เป็นประจำMATERIALIZED VIEWการทำให้เป็นรูปวัตถุนั้นเพิ่มแคชเป็นระยะเท่านั้น จำเป็นเฉพาะเมื่อการสืบค้นนั้นช้าหรือร้อนอย่างเด็ดขาด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.