Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản kèo bóng đá c1 được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3
Tài liệu này dành cho phiên bản kèo bóng đá c1 được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

29.3. kèo bóng đá c1 bộ

kèo bóng đá c1 bộlà một tùy chọn cho phép các giao dịch hoàn thành nhanh hơn, với chi phí các giao dịch gần đây nhất có thể bị mất nếu cơ sở dữ liệu sẽ bị sập. Trong nhiều ứng dụng, đây là một sự đánh đổi có thể chấp nhận được.

Như được mô tả trong phần trước, kèo bóng đá c1 giao dịch thường làĐồng bộ: Máy chủ chờ giao dịchWal9978_10460Wal10496_10632

kèo bóng đá c1 bộ giới thiệu rủi ro mất dữ liệu. Có một cửa sổ thời gian ngắn giữa báo cáo hoàn thành giao dịch cho khách hàng và thời gian giao dịch thực sự được thực hiện (nghĩa là, nó được đảm bảo sẽ không bị mất nếu máy chủ gặp sự cố). Do đó, kèo bóng đá c1 bộ không nên được sử dụng nếu khách hàng sẽ thực hiện các hành động bên ngoài dựa vào giả định rằng giao dịch sẽ được ghi nhớ. Ví dụ, một ngân hàng chắc chắn sẽ không sử dụng kèo bóng đá c1 bộ cho một giao dịch ghi lại việc phân phối tiền mặt của ATM. Nhưng trong nhiều tình huống, chẳng hạn như ghi nhật ký sự kiện, không cần phải đảm bảo mạnh mẽ cho loại này.

Rủi ro được thực hiện bằng cách sử dụng kèo bóng đá c1 bộ là mất dữ liệu, không tham nhũng dữ liệu. Nếu cơ sở dữ liệu sẽ bị sập, nó sẽ phục hồi bằng cách phát lạiWal11468_11999

Người dùng có thể chọn chế độ kèo bóng đá c1 của mỗi giao dịch, do đó có thể có cả giao dịch kèo bóng đá c1 đồng bộ và không đồng bộ đồng thời. Điều này cho phép sự đánh đổi linh hoạt giữa hiệu suất và sự chắc chắn về độ bền của giao dịch. Chế độ kèo bóng đá c1 được điều khiển bởi tham số có thể xử lý người dùngsynchronous_commit, có thể được thay đổi theo bất kỳ cách nào mà tham số cấu hình có thể được đặt. Chế độ được sử dụng cho bất kỳ một giao dịch nào phụ thuộc vào giá trị củasynchronous_commitKhi bắt đầu kèo bóng đá c1 giao dịch.

Ví dụ, các lệnh tiện ích nhất địnhBẢNG DROP, buộc phải kèo bóng đá c1 đồng bộ bất kể cài đặt củasynchronous_commit. Điều này là để đảm bảo tính nhất quán giữa hệ thống tệp của máy chủ và trạng thái logic của cơ sở dữ liệu. Các lệnh hỗ trợ kèo bóng đá c1 hai pha, chẳng hạn nhưChuẩn bị giao dịch, cũng luôn đồng bộ.

Nếu cơ sở dữ liệu gặp sự cố trong cửa sổ rủi ro giữa một kèo bóng đá c1 bộ và việc viết của giao dịchWalBản ghi, sau đó thay đổi được thực hiện trong giao dịch đóWillbị mất. Thời lượng của cửa sổ rủi ro bị giới hạn vì quy trình nền ("WAL Writer") Flushes UnwrittenWalBản ghi vào đĩa mỗiwal_writer_delaymili giây. Thời lượng tối đa thực tế của cửa sổ rủi ro là ba lầnwal_writer_delayBởi vì người viết Wal được thiết kế để ủng hộ việc viết toàn bộ trang tại một thời điểm trong thời gian bận rộn.

THẬN TRỌNG

Tắt máy ngay lập tức tương đương với sự cố máy chủ và do đó sẽ gây ra mất bất kỳ kèo bóng đá c1 bộ nào.

kèo bóng đá c1 bộ cung cấp hành vi khác với cài đặtfsync= TẮT.fsynclà cài đặt toàn bộ máy chủ sẽ thay đổi hành vi của tất cả các giao dịch. Nó vô hiệu hóa tất cả logic trongPostgreSQLcố gắng đồng bộ hóa việc ghi vào các phần khác nhau của cơ sở dữ liệu và do đó, sự cố hệ thống (nghĩa là sự cố phần cứng hoặc hệ điều hành, kèo bóng đá c1 phải là lỗi củaPostgreSQL14629_14828fsync, nhưng kèo bóng đá c1 có nguy cơ tham nhũng dữ liệu.

kèo bóng đá c1 kết_delayCũng có vẻ rất giống với kèo bóng đá c1 bộ, nhưng nó thực sự là một phương pháp cam kết đồng bộ (trên thực tế,kèo bóng đá c1 kết_delaybị bỏ qua trong một kèo bóng đá c1 bộ).kèo bóng đá c1 kết_delaygây ra sự chậm trễ ngay trước khi giao dịch xảWalvới đĩa, với hy vọng rằng một lần xả duy nhất được thực hiện bởi một giao dịch như vậy cũng có thể phục vụ các giao dịch khác thực hiện cùng một lúc. Cài đặt có thể được coi là một cách để tăng cửa sổ thời gian trong đó các giao dịch có thể tham gia một nhóm sắp tham gia vào một lần xả, để khấu hao chi phí cho việc tuôn ra giữa nhiều giao dịch.