TheAMCHECK
Mô -đun cung cấp soi kèo bóng đá truoctran chức năng cho phép bạn xác minh tính nhất quán logic của cấu trúc của soi kèo bóng đá truoctran mối quan hệ. Nếu cấu trúc có vẻ hợp lệ, không có lỗi nào được nêu ra.
soi kèo bóng đá truoctran chức năng xác minh khác nhaubất biếnTrong cấu trúc biểu diễn soi kèo bóng đá truoctran mối quan hệ cụ thể. Tính chính xác của soi kèo bóng đá truoctran chức năng phương thức truy cập đằng sau quét chỉ mục và soi kèo bóng đá truoctran hoạt động quan trọng khác phụ thuộc vào soi kèo bóng đá truoctran bất biến này luôn giữ. Ví dụ: một số chức năng nhất định xác minh, trong số những thứ khác, rằng tất cả soi kèo bóng đá truoctran trang B-cây đều có soi kèo bóng đá truoctran mục trongHồilogic”Đặt hàng (ví dụ: đối với soi kèo bóng đá truoctran chỉ mục B-cây trênText
, Tuples chỉ số nên được đối chiếu từ vựng). Nếu bất biến cụ thể đó bằng cách nào đó không giữ được, chúng ta có thể mong đợi soi kèo bóng đá truoctran tìm kiếm nhị phân trên trang bị ảnh hưởng để hướng dẫn không chính xác soi kèo bóng đá truoctran lần quét chỉ mục, dẫn đến câu trả lời sai cho soi kèo bóng đá truoctran truy vấn SQL.
Xác minh được thực hiện bằng cách sử dụng soi kèo bóng đá truoctran quy trình tương tự như soi kèo bóng đá truoctran quy trình được sử dụng bởi bản thân chỉ mục, có thể là mã lớp toán tử do người dùng xác định. Ví dụ, xác minh chỉ số B-cây dựa trên soi kèo bóng đá truoctran so sánh được thực hiện với một hoặc nhiều thói quen Hỗ trợ B-Tree 1. Nhìn thấyPhần 37.16.3Để biết chi tiết về soi kèo bóng đá truoctran chức năng hỗ trợ của lớp vận hành.
AMCHECK
soi kèo bóng đá truoctran chức năng chỉ có thể được sử dụng bởi soi kèo bóng đá truoctran siêu người dùng.
10352_10421
bt_index_check
Kiểm tra rằng mục tiêu của nó, một chỉ số B-cây, tôn trọng một loạt soi kèo bóng đá truoctran bất biến. Ví dụ sử dụng:
10716_12074
Ví dụ này hiển thị một phiên thực hiện xác minh soi kèo bóng đá truoctran chỉ mục danh mục lớn nhất trong cơ sở dữ liệuMạnhtestxông12258_12509bt_index_check
Đối với mọi chỉ mục trong cơ sở dữ liệu nơi soi kèo bóng đá truoctran được hỗ trợ.
bt_index_check
mua lạiAccessSharelock
12735_12864Chọn
câu lệnh.bt_index_check
12954_13108HeapallIndexed
làTRUE
. Khi một bài kiểm tra thông thường, hạng nhẹ cho tham nhũng được yêu cầu trong môi trường sản xuất trực tiếp, sử dụngbt_index_check
13343_13485
13556_13653
bt_index_parent_check
Kiểm tra rằng mục tiêu của nó, một chỉ số B-cây, tôn trọng một loạt soi kèo bóng đá truoctran bất biến. Tùy chọn, khiHeapallIndexed
Đối số làtrue
, Hàm xác minh sự hiện diện của tất cả soi kèo bóng đá truoctran bộ dữ liệu đống nên được tìm thấy trong chỉ số và không có liên kết bị thiếu trong cấu trúc chỉ mục. Khi tùy chọnrootDescend
Đối số làTRUE
14301_14450bt_index_parent_check
là một siêu kiểm tra có thể được thực hiện bởibt_index_check
. bt_index_parent_check
Có thể được coi là một biến thể kỹ lưỡng hơn củabt_index_check
: soi kèo bóng đá truoctran giống nhưbt_index_check
, bt_index_parent_check
Cũng kiểm tra soi kèo bóng đá truoctran bất biến kéo dài soi kèo bóng đá truoctran mối quan hệ cha mẹ/con.bt_index_parent_check
tuân theo quy ước chung về việc tăng lỗi nếu nó tìm thấy sự soi kèo bóng đá truoctran nhất quán logic hoặc vấn đề khác.
ASharelock
được yêu cầu trên chỉ mục đích bằngbt_index_parent_check
(ASharelock
cũng được mua trên quan hệ heap). soi kèo bóng đá truoctran khóa này ngăn chặn sửa đổi dữ liệu đồng thời từChèn
, Cập nhật
vàXóa
lệnh. soi kèo bóng đá truoctran khóa cũng ngăn chặn mối quan hệ cơ bản được xử lý đồng thời bởiNút hút
, cũng như tất cả soi kèo bóng đá truoctran lệnh tiện ích khác. Lưu ý rằng chức năng chỉ giữ soi kèo bóng đá truoctran khóa trong khi chạy, không phải cho toàn bộ giao dịch.
bt_index_parent_check
Xác minh bổ sung có nhiều khả năng phát hiện soi kèo bóng đá truoctran trường hợp bệnh lý khác nhau. Những trường hợp này có thể liên quan đến một lớp toán tử B-Tree được triển khai không chính xác được sử dụng bởi chỉ mục được kiểm tra, hoặc, theo giả thuyết, chưa được khám phá trong mã phương thức truy cập chỉ mục B-cây cơ bản. Lưu ý rằngbt_index_parent_check
Không thể được sử dụng khi chế độ dự phòng nóng được bật (tức là, trên soi kèo bóng đá truoctran bản sao vật lý chỉ đọc), không giống nhưbt_index_check
.
HeapallIndexed
soi kèo bóng đá truoctranKhiHeapallIndexed
Đối số cho soi kèo bóng đá truoctran hàm xác minh làTRUE
, Một giai đoạn soi kèo bóng đá truoctran bổ sung được thực hiện so với bảng được liên kết với quan hệ chỉ mục đích. Điều này bao gồm mộtMạnhgiả Tạo chỉ mục
Hoạt động, kiểm tra sự hiện diện của tất cả soi kèo bóng đá truoctran bộ dữ liệu chỉ số mới giả định đối với cấu trúc tóm tắt tạm thời, trong bộ nhớ (điều này được xây dựng khi cần trong giai đoạn xác minh đầu tiên cơ bản). Cấu trúc tóm tắtdấu vân tayMỗi tuple được tìm thấy trong chỉ mục đích. Nguyên tắc cấp cao đằng sauHeapallIndexed
Xác minh là một chỉ mục mới tương đương với chỉ mục mục tiêu hiện có, chỉ phải có soi kèo bóng đá truoctran mục có thể tìm thấy trong cấu trúc hiện có.
bổ sungHeapallIndexed
17613_17774HeapallIndexed
soi kèo bóng đá truoctran được thực hiện.
17865_17913bảo trì_work_mem
. Để đảm bảo rằng không có xác suất 2% không thể phát hiện sự không nhất quán cho mỗi bộ tple hàng đống nên được biểu thị trong chỉ số, cần có khoảng 2 byte bộ nhớ. Khi ít bộ nhớ được cung cấp cho mỗi tuple, khả năng thiếu sự không nhất quán tăng dần. Cách tiếp cận này giới hạn đáng kể chi phí xác minh, trong khi chỉ giảm một chút xác suất phát hiện vấn đề, đặc biệt là soi kèo bóng đá truoctran cài đặt trong đó xác minh được coi là một nhiệm vụ bảo trì thường xuyên. Bất kỳ Tuple vắng mặt hoặc dị dạng nào cũng có cơ hội mới được phát hiện với mỗi lần thử xác minh mới.
AMCheck
18810_18824AmCheck
có thể có hiệu quả trong việc phát hiện soi kèo bóng đá truoctran loại chế độ thất bại khác nhauTổng kiểm tra trang dữ liệusẽ luôn soi kèo bóng đá truoctran bắt được. Chúng bao gồm:
Sự soi kèo bóng đá truoctran nhất quán về cấu trúc do triển khai lớp vận hành soi kèo bóng đá truoctran chính xác.
Điều này bao gồm soi kèo bóng đá truoctran vấn đề gây ra bởi soi kèo bóng đá truoctran quy tắc so sánh của soi kèo bóng đá truoctran đối thủ hệ điều hành thay đổi. So sánh soi kèo bóng đá truoctran dữ liệu của một loại có thể có được nhưText
phải là bất biến (giống như tất cả soi kèo bóng đá truoctran so sánh được sử dụng cho quét chỉ số B-cây phải là bất biến), trong đó ngụ ý rằng soi kèo bóng đá truoctran quy tắc đối chiếu hệ điều hành không bao giờ phải thay đổi. Mặc dù hiếm, soi kèo bóng đá truoctran bản cập nhật cho soi kèo bóng đá truoctran quy tắc đối chiếu hệ điều hành có thể gây ra những vấn đề này. Thông thường hơn, sự không nhất quán trong thứ tự đối chiếu giữa máy chủ chính và máy chủ dự phòng có liên quan, có thể là doMajorPhiên bản hệ điều hành đang sử dụng là không nhất quán. Sự không nhất quán như vậy thường sẽ chỉ phát sinh trên soi kèo bóng đá truoctran máy chủ dự phòng và do đó chỉ có thể được phát hiện trên soi kèo bóng đá truoctran máy chủ dự phòng.
Nếu một vấn đề như thế này phát sinh, nó có thể soi kèo bóng đá truoctran ảnh hưởng đến từng chỉ mục riêng lẻ được đặt hàng bằng cách sử dụng đối chiếu bị ảnh hưởng, đơn giản là vìđược lập chỉ mụcsoi kèo bóng đá truoctran giá trị có thể có cùng một thứ tự tuyệt đối bất kể sự không nhất quán về hành vi. Nhìn thấyPhần 23.1vàPhần 23.2Để biết thêm chi tiết về cáchPostgreSQLSử dụng soi kèo bóng đá truoctran địa phương và đối chiếu hệ điều hành.
Sự không nhất quán về cấu trúc giữa soi kèo bóng đá truoctran chỉ mục và soi kèo bóng đá truoctran mối quan hệ heap được lập chỉ mục (khiHeapallIndexed
soi kèo bóng đá truoctran được thực hiện).
Không có kiểm tra chéo soi kèo bóng đá truoctran chỉ mục chống lại mối quan hệ heap của chúng trong quá trình hoạt động bình thường. soi kèo bóng đá truoctran triệu chứng tham nhũng nặng có thể tinh tế.
Tham nhũng gây ra bởi soi kèo bóng đá truoctran lỗi giả định chưa được khám phá trong phần dướiPostgreSQLMã phương thức truy cập, mã sắp xếp hoặc mã quản lý giao dịch.
Xác minh tự động về tính toàn vẹn cấu trúc của soi kèo bóng đá truoctran chỉ mục đóng vai trò trong thử nghiệm chung của mới hoặc đề xuấtPostgreSQLsoi kèo bóng đá truoctran tính năng có thể cho phép một sự không nhất quán hợp lý được giới thiệu. Xác minh cấu trúc bảng và thông tin trạng thái giao dịch và tầm nhìn liên quan đóng vai trò tương tự. Một chiến lược thử nghiệm rõ ràng là gọiAmCheck
21829_21903Phần 32.1Để biết chi tiết về chạy soi kèo bóng đá truoctran bài kiểm tra.
22095_22185
Lưu ý rằngAMCheck
Kiểm tra một trang như được biểu thị trong một số bộ đệm bộ nhớ được chia sẻ tại thời điểm soi kèo bóng đá truoctran nếu chỉ có một bộ đệm được chia sẻ khi truy cập vào khối. Do đó,AMCHECK
Không nhất thiết phải kiểm tra dữ liệu được đọc từ hệ thống tệp tại thời điểm soi kèo bóng đá truoctran. Lưu ý rằng khi kiểm tra được bật,AMCHECK
Có thể gây lỗi do lỗi tổng kiểm tra khi một khối bị hỏng được đọc vào bộ đệm.
Tham nhũng do RAM bị lỗi hoặc hệ thống con bộ nhớ rộng hơn.
PostgreSQLKhông bảo vệ chống lại soi kèo bóng đá truoctran lỗi bộ nhớ có thể chính xác và giả sử bạn sẽ hoạt động bằng cách sử dụng RAM sử dụng mã sửa lỗi tiêu chuẩn công nghiệp (ECC) hoặc bảo vệ tốt hơn. Tuy nhiên, bộ nhớ ECC thường chỉ miễn nhiễm với soi kèo bóng đá truoctran lỗi đơn lẻ và không nên được giả định để cung cấpTuyệt đốiBảo vệ chống lại những thất bại dẫn đến tham nhũng bộ nhớ.
KhiHeapallIndexed
Xác minh được thực hiện, nhìn chung có cơ hội phát hiện soi kèo bóng đá truoctran lỗi một bit đơn, vì sự bình đẳng nhị phân nghiêm ngặt được kiểm tra và soi kèo bóng đá truoctran thuộc tính được lập chỉ mục trong đống được kiểm tra.
Nói chung,AMCheck
Chỉ có thể chứng minh sự hiện diện của tham nhũng; nó soi kèo bóng đá truoctran thể chứng minh sự vắng mặt của nó.
soi kèo bóng đá truoctran có lỗi liên quan đến tham nhũng được nêu ra bởiAMCheck
sẽ là một dương tính giả.AmCheck
24101_24214AmCheck
Lỗi thường được yêu cầu.
Không có phương pháp chung nào để sửa chữa soi kèo bóng đá truoctran vấn đềAMCheck
Phát hiện. Một lời giải thích cho nguyên nhân gốc rễ của vi phạm bất biến nên được tìm kiếm.PageInspectCó thể đóng một vai trò hữu ích trong việc chẩn đoán tham nhũngAMCheck
Phát hiện. MỘTReindex
có thể soi kèo bóng đá truoctran hiệu quả trong việc sửa chữa tham nhũng.