Trong PostgreSQL, tham số cấu hình wal_level đóng vai trò quan trọng quyết định mức độ chi tiết của thông tin được ghi vào Nhật ký Viết trước (Write-Ahead Log – WAL) và cách thức xử lý các nhật ký này. WAL là một thành phần thiết yếu đảm bảo tính nhất quán và bền vững của dữ liệu trong PostgreSQL.
WAL là gì?
Trước khi bất kỳ thay đổi nào được áp dụng vào các file dữ liệu chính của PostgreSQL, chúng sẽ được ghi vào các file phân đoạn WAL. Bằng cách này, ngay cả khi hệ thống gặp sự cố treo máy hoặc mất điện trong quá trình ghi dữ liệu, cơ sở dữ liệu vẫn có thể phục hồi về trạng thái nhất quán bằng cách phát lại các giao dịch chưa được cam kết từ các phân đoạn WAL.
wal_level:
Mặc dù WAL tự nó đã cung cấp một mức độ an toàn cho dữ liệu, việc lưu trữ các nhật ký này mang lại những lợi ích bổ sung:
- Khôi phục điểm trong thời gian (Point-in-Time Recovery – PITR): Với các phân đoạn WAL được lưu trữ, bạn có thể khôi phục cơ sở dữ liệu về một thời điểm cụ thể, cho phép bạn phục hồi từ các sửa đổi dữ liệu vô tình hoặc quay lại trạng thái tốt đã biết.
- Phục hồi sau thảm họa: Trong trường hợp xảy ra thảm họa lớn làm hỏng các file dữ liệu chính, bạn có thể sử dụng bản sao lưu cơ sở dữ liệu đầy đủ (base backup) cùng với các phân đoạn WAL đã lưu trữ để khôi phục cơ sở dữ liệu về trạng thái gần đây.
- Sao chép: PostgreSQL có thể sử dụng các phân đoạn WAL đã lưu trữ để sao chép hiệu quả các thay đổi dữ liệu sang các máy chủ dự phòng.
Các tùy chọn wal_level:
- minimum: Đây là mức độ chi tiết thấp nhất, chỉ ghi lại thông tin cần thiết để phục hồi cơ sở dữ liệu về trạng thái cuối cùng đã cam kết. Nó không đủ để thực hiện PITR.
- replica: Mức độ này đảm bảo đủ thông tin được ghi lại để cho phép phục hồi hiệu quả các máy chủ dự phòng được sử dụng cho sao chép. Nó bao gồm dữ liệu cần thiết để làm lại và hoàn tác các thay đổi trong quá trình phục hồi.
- logical: Đây là mức độ lưu trữ WAL toàn diện nhất. Nó ghi lại các thay đổi logic được thực hiện đối với cơ sở dữ liệu (ví dụ: INSERT, UPDATE, DELETE) thay vì các sửa đổi dữ liệu vật lý thô. Điều này cho phép các tùy chọn phục hồi linh hoạt hơn, bao gồm:
- Giải mã logic: Bạn có thể sử dụng các công cụ để phân tích và giải thích các thay đổi logic trong WAL để hiểu các thao tác dữ liệu đã xảy ra.
- Sao chép logic: Máy chủ dự phòng có thể áp dụng trực tiếp các thay đổi logic, có khả năng giảm thiểu việc sử dụng băng thông sao chép so với việc sao chép các sửa đổi dữ liệu thô.
Lựa chọn wal_level phù hợp:
Mức độ wal_level phù hợp phụ thuộc vào nhu cầu cụ thể của bạn:
- replica: Nếu bạn chủ yếu cần khôi phục điểm cho máy chủ dự phòng hoặc phục hồi sau thảm họa, replica là lựa chọn đủ.
- logical: Nếu bạn cần các khả năng phục hồi nâng cao như giải mã logic hoặc sao chép hiệu quả hơn, logical là lựa chọn tốt nhưng có thể ảnh hưởng nhẹ đến hiệu suất.
Điều kiện kèm theo:
- Cài đặt archive_mode thường được bật cùng wal_level để đảm bảo các phân đoạn WAL được lưu trữ cho mục đích phục hồi.
- Chọn wal_level phù hợp để cân bằng giữa tính năng phục hồi, hiệu suất và bảo mật.
Website không chứa bất kỳ quảng cáo nào, mọi đóng góp để duy trì phát triển cho website (donation) xin vui lòng gửi về STK 90.2142.8888 - Ngân hàng Vietcombank Thăng Long - TRAN VAN BINH
=============================
Nếu bạn không muốn bị AI thay thế và tiết kiệm 3-5 NĂM trên con đường trở thành DBA chuyên nghiệp hay làm chủ Database thì hãy đăng ký ngay KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE, được Coaching trực tiếp từ tôi với toàn bộ bí kíp thực chiến, thủ tục, quy trình của gần 20 năm kinh nghiệm (mà bạn sẽ KHÔNG THỂ tìm kiếm trên Internet/Google) từ đó giúp bạn dễ dàng quản trị mọi hệ thống Core tại Việt Nam và trên thế giới, đỗ OCP.
- CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
- Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
2 khóa học online qua video giúp bạn nhanh chóng có những kiến thức nền tảng về Linux, Oracle, học mọi nơi, chỉ cần có Internet/4G:
- Oracle cơ bản: https://bit.ly/admin_1200
- Linux: https://bit.ly/linux_1200
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội
=============================
cở sở dữ liệu, cơ sở dữ liệu quốc gia, database, AI, trí tuệ nhân tạo, artificial intelligence, machine learning, deep learning, LLM, ChatGPT, DeepSeek, Grok, oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c/21c/23c/23ai, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, docker, k8s, micro service, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty