ข้ามไปยังเนื้อหา
Data & Analytics

pgBackRest 2.60 ออกแล้ว restore จะหยุดทันทีเมื่อเจอ page checksum เสีย ต้องเช็กก่อนอัปเกรด

pgBackRest 2.60 ออกเมื่อ 18 ต.ค. 2026 เปลี่ยนให้ restore และ expire หยุดเมื่อเจอ page checksum ไม่ถูกต้อง เพิ่ม GCS Workload Identity และแก้บั๊กลบไฟล์บน Azure

โดย กองบรรณาธิการ THAI DATA อ่าน 4 นาที

แชร์FacebookXLINELinkedIn
ประกาศ pgBackRest 2.60.0 Released บน postgresql.org โพสต์วันที่ 18 ตุลาคม 2026 โดย pgBackRest Community
ภาพ: PostgreSQL Global Development Group (ภาพหน้าจอ)

สรุปประเด็นสำคัญ

  • ชุมชน pgBackRest ออก pgBackRest 2.60 (v2.60.0) เมื่อ 18 ตุลาคม 2026 เครื่องมือสำรองและกู้คืนข้อมูล PostgreSQL แบบโอเพนซอร์สที่องค์กรจำนวนมากใช้กับฐานข้อมูลขนาดใหญ่
  • พฤติกรรมเปลี่ยน: คำสั่ง restore จะหยุดเมื่อไฟล์ที่กู้คืนมี page checksum ไม่ถูกต้อง ทำให้คลัสเตอร์เปิดไม่ได้และต้องรันใหม่ ส่วน expire จะไม่ลบ backup ถ้า backup เก่าสุดที่เหลือมี checksum เสีย ตั้ง checksum-page-error=n เพื่อกลับไปแค่เตือน
  • รองรับ GCS Workload Identity Federation ไม่ต้องใช้ service account key และเพิ่มการ prefetch การอ่านจาก object storage ค่าเริ่มต้นคิว 3 คำขอ อ่านข้ามช่องว่างได้ถึง 64KiB
  • แก้บั๊กบน Azure ที่การลบไฟล์แบบ batch อาจลบได้เพียงไฟล์เดียวต่อ batch ทั้งที่คำสั่งรายงานว่าสำเร็จ
  • PostgreSQL 19 RC 1 ใช้กับ pgBackRest 2.59.2 ขึ้นไปได้ รวมถึงรุ่นนี้ และรุ่นนี้รองรับ OpenSSL 4

ชุมชนผู้พัฒนา pgBackRest ออก pgBackRest 2.60 (v2.60.0) เมื่อวันที่ 18 ตุลาคม 2026 รุ่นนี้เปลี่ยนพฤติกรรมสำคัญของคำสั่ง restore และ expire ให้หยุดทำงานเมื่อพบ page checksum ไม่ถูกต้อง แทนการผ่านไปเงียบ ๆ แบบเดิม ทีมฐานข้อมูลจึงควรอ่านหมายเหตุก่อนอัปเกรดระบบสำรองข้อมูล PostgreSQL

pgBackRest เป็นเครื่องมือสำรองและกู้คืนข้อมูล PostgreSQL แบบโอเพนซอร์ส รองรับ backup แบบเต็ม differential และ incremental ทำงานแบบขนาน เข้ารหัสได้ และเก็บ backup บน S3, Azure, GCS หรือ SFTP ได้ ติดตั้งได้จาก PostgreSQL Yum และ APT Repository

ประกาศ pgBackRest 2.60.0 Released บน postgresql.org โพสต์วันที่ 18 ตุลาคม 2026 โดย pgBackRest Community
หน้าข่าวบน postgresql.org ประกาศ pgBackRest 2.60.0 Released โพสต์วันที่ 18 ตุลาคม 2026 พร้อมรายการฟีเจอร์และหมายเหตุสำคัญ ภาพ: PostgreSQL Global Development Group (ภาพหน้าจอ)

pgBackRest 2.60 เปลี่ยนการจัดการ page checksum อย่างไร

page checksum คือค่าตรวจสอบที่ PostgreSQL เขียนไว้ในแต่ละหน้าข้อมูลเมื่อเปิดใช้ data checksums ค่าที่ไม่ตรงหมายความว่าข้อมูลในหน้านั้นอาจเสียหาย รุ่นนี้เพิ่มตัวเลือก checksum-page-error และตั้งค่าเริ่มต้นของแต่ละคำสั่งไว้ดังนี้

คำสั่ง ค่าเริ่มต้นใน pgBackRest 2.60 สิ่งที่เปลี่ยน
backup เตือนรายไฟล์ (เหมือนเดิม) สรุปจำนวนคำเตือน checksum ทั้งหมดตอนจบ
restore หยุดด้วย error รุ่นก่อนไม่รายงาน checksum เสียเลย ตอนนี้หยุด คลัสเตอร์ไม่ครบและเปิดไม่ได้ ต้องรันใหม่
expire หยุดด้วย error ไม่ลบถ้า backup เก่าสุดที่ยังเก็บไว้จะมี checksum เสีย ทำให้ archive ใน repository นั้นไม่ถูกลบด้วย

ผู้ที่ต้องการพฤติกรรมแบบเดิมตั้ง checksum-page-error=n เพื่อให้แค่เตือน ผลที่ต้องคิดคือ ถ้าปล่อยค่าเริ่มต้นไว้ แล้ว backup เก่ามีหน้าข้อมูลเสียซ่อนอยู่ การกู้คืนในวันที่ระบบล่มจริงจะหยุดกลางทาง และ repository อาจโตขึ้นเรื่อย ๆ เพราะ expire ไม่ยอมลบ

ตรวจก่อนว่าคลัสเตอร์เปิด data checksums อยู่หรือไม่

การเปลี่ยนแปลงนี้มีผลกับคลัสเตอร์ที่เปิด data checksums ซึ่งเอกสาร PostgreSQL 18 ระบุว่าตอนนี้หน้าข้อมูลมี checksum ป้องกันเป็นค่าเริ่มต้นแล้ว แต่ปิดได้ตอนสร้างคลัสเตอร์ด้วย initdb ฐานข้อมูลที่สร้างใหม่บนรุ่นล่าสุดจึงมีโอกาสได้รับผลมากกว่าคลัสเตอร์รุ่นเก่า

  • ดูสถานะได้ด้วยคำสั่ง SHOW data_checksums ค่านี้ตั้งทั้งคลัสเตอร์ ไม่ได้แยกตามฐานข้อมูลหรือตาราง
  • โปรแกรม pg_checksums ใช้เปิด ปิด หรือตรวจ checksum ได้ เมื่อคลัสเตอร์หยุดทำงานอยู่
  • checksum ป้องกันเฉพาะหน้าข้อมูล ไม่รวมโครงสร้างภายในและไฟล์ชั่วคราว

ถ้าคลัสเตอร์เปิด checksum อยู่ การรัน pg_checksums บนสำเนาที่กู้คืนแล้วบนเครื่องทดสอบ ช่วยให้รู้ล่วงหน้าว่าข้อมูลมีหน้าที่เสียหายหรือไม่ ก่อนตัดสินใจเรื่องค่าของ checksum-page-error

หน้า Release Notes ของ pgBackRest 2.60 รุ่น v2.60.0 พร้อมหมายเหตุสำคัญเรื่อง restore และ expire เมื่อเจอ page checksum ไม่ถูกต้อง
หน้า Release Notes ของ pgBackRest รุ่น v2.60.0 Page Checksum Errors and Object Store Prefetch ออกวันที่ 18 ตุลาคม 2026 พร้อม IMPORTANT NOTE เรื่อง restore และ expire ภาพ: pgBackRest (ภาพหน้าจอ)

ฟีเจอร์อื่นใน pgBackRest 2.60

  • GCS Workload Identity Federation ตั้ง repo-gcs-key-type=web-id แล้วชี้ repo-gcs-key ไปที่ไฟล์ credential ของบัญชีภายนอก ระบบแลก token เป็น access token โดยไม่ต้องใช้ service account key และอ่านไฟล์ token ใหม่ทุกครั้ง จึงใช้กับ projected service account token ของ Kubernetes ที่หมุนเวียนได้ แต่ยังไม่รองรับ service account impersonation
  • Prefetch จาก object storage คิวคำขออ่านล่วงหน้าขณะอ่านข้อมูล และอ่านข้ามช่องว่างเล็ก ๆ ระหว่างไฟล์แทนการเปิดคำขอใหม่ ตั้งได้ด้วย repo-storage-prefetch (ค่าเริ่มต้น 3) และ repo-storage-read-over (ค่าเริ่มต้น 64KiB) restore ใช้กับไฟล์ที่รวมเป็น bundle และ block incremental map
  • ลด keep-alive ส่ง keep-alive ไปยังโปรเซสระยะไกลเฉพาะเมื่อไม่มีคำขอเลยนาน 30 วินาที
  • รองรับ OpenSSL 4 และ build บน illumos ได้

บั๊กลบไฟล์บน Azure ที่ควรรู้

Release notes ระบุว่าเมื่อ Azure ตอบกลับคำขอลบแบบ batch ที่ล้มเหลวด้วยคำตอบเดียวสำหรับทั้ง batch รุ่นก่อนหน้าถือว่าคำขอย่อยที่ไม่มีคำตอบสำเร็จแล้ว ผลคือลบได้เพียงไฟล์เดียวต่อ batch แต่คำสั่งรายงานว่าสำเร็จ pgBackRest 2.60 แก้ให้ลองคำขอย่อยเหล่านั้นใหม่ องค์กรที่เก็บ backup บน Azure Blob Storage จึงอาจมีไฟล์ที่ควรถูกลบค้างอยู่ และควรตรวจขนาด repository หลังอัปเกรด

หน้า GitHub Release v2.60.0 Page Checksum Errors and Object Store Prefetch ของโปรเจกต์ pgbackrest
หน้า GitHub Release v2.60.0 ของ pgbackrest/pgbackrest ติดป้าย Latest และ Immutable พร้อมหมายเหตุสำคัญและรายการ Features กับ Improvements ภาพ: GitHub (ภาพหน้าจอ)

ทำไมเรื่องนี้สำคัญ

pgBackRest เป็นโปรเจกต์โอเพนซอร์สที่มีผู้สนับสนุนเป็นบริษัทในวงการ PostgreSQL ประกาศรุ่นนี้ขอบคุณ AWS, Supabase, pgEdge, Tiger Data, Percona, Eon, Xata, Dalibo และ Data Egret ที่ให้การสนับสนุน

backup ที่กู้คืนไม่ได้มีค่าเท่ากับไม่มี backup การให้ restore หยุดเมื่อเจอข้อมูลเสียช่วยให้รู้ปัญหาก่อนเปิดใช้ฐานข้อมูลที่ข้อมูลผิด แต่ก็ย้ายความเสี่ยงไปอยู่ที่วันกู้คืนจริง ถ้าไม่เคยซ้อมกู้คืนมาก่อน pgBackRest 2.60 ยังออกมาในช่วงเดียวกับ PostgreSQL 19 RC 1 ทีมที่วางแผนย้ายไปรุ่น 19 จึงควรทดสอบเครื่องมือสำรองข้อมูลไปพร้อมกัน

ผลต่อองค์กรไทย

  • ซ้อม restore บนเครื่องทดสอบก่อนอัปเกรด กู้คืน backup ล่าสุดและ backup เก่าสุดที่ยังเก็บไว้ด้วย pgBackRest 2.60 ถ้าหยุดเพราะ checksum เสีย จะได้รู้ก่อนเกิดเหตุจริง
  • ตัดสินใจเรื่อง checksum-page-error ให้ชัด ระบบที่ต้องกู้คืนให้เร็วที่สุดอาจตั้งเป็นเตือน แต่ต้องมีขั้นตอนตรวจข้อมูลหลังกู้คืน ส่วนระบบที่ความถูกต้องสำคัญกว่าความเร็ว เช่น ข้อมูลบัญชีหรือข้อมูลลูกค้า ควรคงค่าหยุดไว้
  • ตั้งเตือนเมื่อ expire ไม่ทำงาน repository ที่ไม่ถูกลบจะกินพื้นที่และค่า storage เพิ่มขึ้น ควรเฝ้าดู log ของ expire และขนาด repository
  • ทีมที่ใช้ GKE หรือ Kubernetes บน Google Cloud ย้ายจาก service account key ไปใช้ Workload Identity ได้แล้ว ลดความเสี่ยงที่ key ระยะยาวรั่วออกไป
  • ผู้ใช้ Azure อัปเกรดแล้วตรวจว่าไฟล์ backup และ archive ที่ควรหมดอายุไปแล้วถูกลบจริง

ติดตามข่าวฐานข้อมูลและ Data Platform เพิ่มเติมได้ที่หมวด Data

คำถามที่พบบ่อย

pgBackRest 2.60 เปลี่ยนอะไรที่ต้องระวัง?

pgBackRest 2.60 ทำให้คำสั่ง restore หยุดทำงานเมื่อพบไฟล์ที่ page checksum ไม่ถูกต้อง คลัสเตอร์ที่กู้คืนค้างไว้จะเปิดไม่ได้และต้องรัน restore ใหม่ และคำสั่ง expire จะไม่ลบ backup หรือ archive ถ้า backup เก่าสุดที่ยังเก็บไว้มี checksum เสีย

ถ้าไม่อยากให้ pgBackRest 2.60 หยุดเมื่อเจอ checksum เสียต้องทำอย่างไร?

ตั้งค่า checksum-page-error=n เพื่อให้ pgBackRest 2.60 แค่เตือนแทนการหยุด ค่านี้ใช้กับคำสั่ง backup, restore และ expire โดยค่าเริ่มต้นของ backup ยังเป็นการเตือนรายไฟล์เหมือนเดิม และเพิ่มการสรุปจำนวนคำเตือนทั้งหมดตอนจบ

pgBackRest รองรับ PostgreSQL 19 แล้วหรือยัง?

ประกาศของ pgBackRest ระบุว่า PostgreSQL 19 RC 1 ใช้ได้กับ pgBackRest 2.59.2 ขึ้นไป รวมถึงรุ่น 2.60.0 ที่ออกเมื่อ 18 ตุลาคม 2026 องค์กรที่ทดสอบ PostgreSQL 19 ก่อนออกรุ่นจริงจึงใช้ pgBackRest รุ่นปัจจุบันสำรองข้อมูลได้

ผู้ใช้ pgBackRest บน Azure ควรทำอะไร?

ควรอัปเกรดเป็น pgBackRest 2.60 แล้วตรวจพื้นที่เก็บ backup เพราะรุ่นก่อนหน้ามีบั๊กที่เมื่อ Azure ตอบกลับคำขอลบแบบ batch ไม่ครบ ระบบจะลบได้เพียงไฟล์เดียวต่อ batch แต่รายงานว่าสำเร็จ ไฟล์ที่ควรถูกลบจึงอาจค้างอยู่และกินพื้นที่

แหล่งอ้างอิง

  1. pgBackRest 2.60.0 Released — PostgreSQL Global Development Group
  2. pgBackRest - Releases — pgBackRest
  3. PostgreSQL Documentation: 28.2. Data Checksums — PostgreSQL Global Development Group
  4. Release v2.60.0: Page Checksum Errors and Object Store Prefetch — GitHub

บุคคล องค์กร และสถานที่ในข่าวนี้

เลือกชื่อเพื่ออ่านข่าวทั้งหมดที่กล่าวถึง ตัวเลขคือจำนวนข่าว

องค์กรและบริษัท
GitHub21AWS28Percona2Google Cloud20
ผลิตภัณฑ์และเทคโนโลยี
Microsoft Azure21PostgreSQL7Kubernetes13
แชร์FacebookXLINELinkedIn

พบข้อมูลคลาดเคลื่อน? แจ้งกองบรรณาธิการ