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 không được hỗ trợ:12 / 11 / 10

F.1. AMCheck - Công cụ để kèo bóng đá hom nay tính nhất quán bảng và chỉ mục#

TheAMCHECKMô -đun cung cấp các chức năng cho phép bạn kèo bóng đá hom nay tính nhất quán logic của cấu trúc của các mối quan hệ.

Chức năng kiểm tra cây B-cây kèo bóng đá hom nay khác nhaubất biến9250_9552logicxôngĐặt hàng (ví dụ: đối với các chỉ kèo bóng đá hom nay B-cây trênText, Bộ chỉ số nên được đối chiếu từ vựng). Nếu bất biến đặc biệt đó bằng cách nào đó không giữ được, chúng ta có thể mong đợi các tìm kiếm nhị phân trên trang bị ảnh hưởng để hướng dẫn không chính kèo bóng đá hom nay các lần quét chỉ mục, dẫn đến câu trả lời sai cho các truy vấn SQL. Nếu cấu trúc có vẻ hợp lệ, không có lỗi nào được nêu ra. Trong khi các chức năng kiểm tra này được chạy,search_pathđược thay đổi tạm thời thànhpg_catalog, pg_temp.

kèo bóng đá hom nay được thực hiện bằng cách sử dụng các quy trình tương tự như các 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ụ, kèo bóng đá hom nay chỉ số B-cây dựa trên các 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 36.16.3Để biết chi tiết về kèo bóng đá hom nay chức năng hỗ trợ của lớp vận hành.

Không giống như kèo bóng đá hom nay chức năng kiểm tra cây B báo cáo tham nhũng bằng cách tăng lỗi, chức năng kiểm tra heapverify_heapam10779_10901Verify_Heapamdựa vào bản thân bị hỏng, chức năng có thể không thể tiếp tục và thay vào đó có thể gây ra lỗi.

Quyền thực thiAMCHECK11120_11664

F.1.1. Chức năng#

12028_12118

bt_index_checkKiểm tra rằng kèo bóng đá hom nay tiêu của nó, chỉ số B-cây, tôn trọng một loạt các bất biến. Ví dụ sử dụng:

12413_13770

Ví dụ này hiển thị một phiên thực hiện kèo bóng đá hom nay các chỉ mục danh mục lớn nhất trong cơ sở dữ liệuTestHồi. kèo bóng đá hom nay sự hiện diện của các bộ dữ liệu Heap là các bộ dữ liệu chỉ mục được yêu cầu cho tập hợp con là các chỉ mục duy nhất. Vì không có lỗi nào được nêu ra, tất cả các chỉ mục được kiểm tra dường như là nhất quán về mặt logic. Đương nhiên, truy vấn này có thể dễ dàng được thay đổi thành cuộc gọibt_index_checkĐối với mọi chỉ mục trong cơ sở dữ liệu nơi kèo bóng đá hom nay được hỗ trợ.

bt_index_checkmua lạiAccessSharelockTrên chỉ kèo bóng đá hom nay đích và mối quan hệ heap mà nó thuộc về. Chế độ khóa này là cùng chế độ khóa được thu được trên các mối quan hệ bằng cách đơn giảnChọncâu lệnh.bt_index_check14650_14804HeapallIndexedTRUE. KhiCheckuniquetrue bt_index_checksẽ kiểm tra xem không có gì nhiều hơn một trong số các kèo bóng đá hom nay trùng lặp trong chỉ kèo bóng đá hom nay duy nhất có thể nhìn thấy không. 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_checkthường cung cấp sự đánh đổi tốt nhất giữa tính kỹ lưỡng của kèo bóng đá hom nay và giới hạn tác động đến hiệu suất và tính khả dụng của ứng dụng.

15476_15594

bt_index_parent_checkKiểm tra rằng kèo bóng đá hom nay tiêu của nó, chỉ số B-cây, tôn trọng một loạt các bất biến. Tùy chọn, khiHeapallIndexedĐối số làTRUE15968_16070CheckuniqueTRUE bt_index_parent_checksẽ kiểm tra xem không có gì nhiều hơn một trong số các kèo bóng đá hom nay trùng lặp trong chỉ kèo bóng đá hom nay duy nhất có thể hiển thị không. Khi tùy chọnrootDescendĐối số làTRUE, kèo bóng đá hom nay tìm lại các bộ dữ liệu ở cấp độ lá bằng cách thực hiện một tìm kiếm mới từ trang gốc cho mỗi tuple. Các kiểm tra có thể được thực hiện bởibt_index_parent_checklà một superset của kèo bóng đá hom nay kiểm tra có thể được thực hiện bởibt_index_check. bt_index_parent_checkCó thể được coi là một biến thể kỹ lưỡng hơn củabt_index_check: Không giống nhưbt_index_check, bt_index_parent_check16958_17101bt_index_parent_checktuân theo quy ước chung về việc gây ra lỗi nếu nó tìm thấy sự không nhất quán logic hoặc vấn đề khác.

ASharelockđược yêu cầu trên chỉ kèo bóng đá hom nay đích bằngbt_index_parent_check(ASharelockcũng được mua trên quan hệ heap). kèo bóng đá hom nay khóa này ngăn chặn sửa đổi dữ liệu đồng thời từChèn, 17596_17604Xóalệnh. kèo bóng đá hom nay 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ả kèo bóng đá hom nay lệnh tiện ích khác. Lưu ý rằng chức năng chỉ giữ kèo bóng đá hom nay khóa trong khi chạy, không phải cho toàn bộ giao dịch.

bt_index_parent_checkkèo bóng đá hom nay bổ sung có nhiều khả năng phát hiện các 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_checkKhông thể được sử dụng khi chế độ dự phòng nóng được bật (tức là, trên kèo bóng đá hom nay bản sao vật lý chỉ đọc), không giống nhưbt_index_check.

Tip

bt_index_checkbt_index_parent_checkCả hai thông báo nhật ký đầu ra về quy trình kèo bóng đá hom nay tạiDebug1DEBUG2mức độ nghiêm trọng. Những tin nhắn này cung cấp thông tin chi tiết về quy trình kèo bóng đá hom nay có thể được quan tâm đối vớiPostgreSQLNhà phát triển. Người dùng nâng cao cũng có thể thấy thông tin này hữu ích, vì nó cung cấp bối cảnh bổ sung nên kèo bóng đá hom nay thực sự phát hiện sự không nhất quán. Đang chạy:

set client_min_messages = Debug1;

Trong tương tácPSQLPhiên trước khi chạy truy vấn kèo bóng đá hom nay sẽ hiển thị các tin nhắn về tiến trình kèo bóng đá hom nay với mức độ chi tiết có thể quản lý được.

verify_heapam (quan hệ regclass, on_error_stop boolean, kiểm tra_toast boolean, bỏ qua văn bản, startBlock bigint, endblock bigint, blkno out bigint, offnum out integer, attnum out integer

Kiểm tra một bảng, trình tự hoặc chế độ xem được vật chất hóa cho tham nhũng cấu trúc, trong đó kèo bóng đá hom nay trang trong mối quan hệ chứa dữ liệu được định dạng không hợp lệ và cho tham nhũng logic, trong đó kèo bóng đá hom nay trang có giá trị cấu trúc nhưng không phù hợp với phần còn lại của cụm cơ sở dữ liệu.

kèo bóng đá hom nay đối số tùy chọn sau đây được nhận ra:

on_error_stop

Nếu đúng, kiểm tra tham nhũng dừng ở cuối khối đầu tiên trong đó có bất kỳ sự cố nào được tìm thấy.

mặc định là sai.

Check_toast

Nếu đúng, kèo bóng đá hom nay giá trị nướng được kiểm tra đối với bảng bánh mì nướng của quan hệ đích.

Tùy chọn này được biết là chậm. Ngoài ra, nếu bảng bánh mì nướng hoặc chỉ kèo bóng đá hom nay của nó bị hỏng, việc kiểm tra nó chống lại các giá trị bánh mì nướng có thể hình dung được máy chủ, mặc dù trong nhiều trường hợp, điều này sẽ chỉ tạo ra lỗi.

mặc định là sai.

Bỏ qua

nếu khôngKhông, corruption checking skips blocks that are marked as all-visible or all-frozen, as specified. kèo bóng đá hom nay tùy chọn hợp lệ là21308_21321, All-Frozen21394_21400.

mặc định làKhông.

21560_21572

Nếu được chỉ định, kiểm tra tham nhũng bắt đầu tại khối được chỉ định, bỏ qua tất cả kèo bóng đá hom nay khối trước đó. Đó là một lỗi để chỉ định mộtStartBlockBên ngoài phạm vi của kèo bóng đá hom nay khối trong bảng đích.

Theo mặc định, kiểm tra bắt đầu ở khối đầu tiên.

EndBlock

Nếu được chỉ định, kiểm tra tham nhũng kết thúc tại khối được chỉ định, bỏ qua tất cả kèo bóng đá hom nay khối còn lại. Đó là một lỗi để chỉ định mộtEndBlockBên ngoài phạm vi của kèo bóng đá hom nay khối trong bảng đích.

Theo mặc định, tất cả kèo bóng đá hom nay khối được kiểm tra.

Đối với mỗi tham nhũng được phát hiện,verify_heapamTrả về một hàng với kèo bóng đá hom nay cột sau:

blkno

Số lượng khối chứa trang bị hỏng.

Offnum

phần bù của tuple bị hỏng.

Attnum

Số thuộc tính của cột bị hỏng trong tuple, nếu tham nhũng là cụ thể cho một cột chứ không phải toàn bộ tuple.

MSG

Một thông báo mô tả vấn đề được phát hiện.

F.1.2. Không bắt buộcHeapallIndexedkèo bóng đá hom nay#

Khi23956_23972Đối số cho các hàm kèo bóng đá hom nay B-cây làtrue, Một giai đoạn kèo bóng đá hom nay bổ sung được thực hiện so với bảng được liên kết với quan hệ chỉ số đích. Điều này bao gồm mộtMạnhgiảHồi Tạo chỉ kèo bóng đá hom nayHoạt động, kiểm tra sự hiện diện của tất cả các 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 kèo bóng đá hom nay đầu tiên cơ bản). Cấu trúc tóm tắtdấu vân tayHồiMỗi tuple được tìm thấy trong chỉ kèo bóng đá hom nay đích. Nguyên tắc cấp cao đằng sauHeapallIndexedkèo bóng đá hom nay 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ó các mục có thể tìm thấy trong cấu trúc hiện có.

bổ sungHeapallIndexedPha bổ sung chi phí đáng kể: kèo bóng đá hom nay thường sẽ mất nhiều lần hơn nhiều lần. Tuy nhiên, không có thay đổi nào đối với các khóa cấp quan hệ có được khiHeapallIndexedkèo bóng đá hom nay được thực hiện.

Cấu trúc tóm tắt bị ràng buộc theo kích thước bằngbả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í kèo bóng đá hom nay, trong khi chỉ giảm một chút xác suất phát hiện vấn đề, đặc biệt là các cài đặt trong đó kèo bóng đá hom nay đượ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ử kèo bóng đá hom nay mới.

F.1.3. Sử dụngAmCheckHiệu quả#

AMCheckCó thể có hiệu quả trong việc phát hiện kèo bóng đá hom nay loại chế độ thất bại khác nhauKiểm tra dữ liệusẽ không bắt được. Chúng bao gồm:

  • Sự không nhất quán về cấu trúc do triển khai lớp vận hành không chính kèo bóng đá hom nay.

    Điều này bao gồm kèo bóng đá hom nay vấn đề gây ra bởi kèo bóng đá hom nay quy tắc so sánh của kèo bóng đá hom nay đối thủ hệ điều hành thay đổi. So sánh kèo bóng đá hom nay dữ liệu của một loại có thể có được nhưTextphải là bất biến (giống như tất cả kèo bóng đá hom nay 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 kèo bóng đá hom nay quy tắc đối chiếu hệ điều hành không bao giờ phải thay đổi. Mặc dù hiếm, kèo bóng đá hom nay bản cập nhật cho kèo bóng đá hom nay 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 kèo bóng đá hom nay máy chủ dự phòng và do đó chỉ có thể được phát hiện trên kèo bóng đá hom nay máy chủ dự phòng.

    Nếu một vấn đề như thế này phát sinh, nó có thể không ảnh hưởng đến từng chỉ số riêng lẻ được đặt hàng bằng cách sử dụng một đối chiếu bị ảnh hưởng, đơn giản vìđược lập chỉ kèo bóng đá hom naykèo bóng đá hom nay 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.1Phần 23.2Để biết thêm chi tiết về cáchPostgreSQLSử dụng kèo bóng đá hom nay đị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 các chỉ kèo bóng đá hom nay và các quan hệ heap được lập chỉ kèo bóng đá hom nay (khiHeapallIndexedkèo bóng đá hom nay được thực hiện).

    Không có kiểm tra chéo các chỉ kèo bóng đá hom nay chống lại mối quan hệ heap của chúng trong quá trình hoạt động bình thường. Các triệu chứng tham nhũng nặng có thể tinh tế.

  • Tham nhũng gây ra bởi kèo bóng đá hom nay 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.

    kèo bóng đá hom nay tự động về tính toàn vẹn cấu trúc của các chỉ mục đóng vai trò trong thử nghiệm chung của mới hoặc đề xuấtPOSTGRESQLCác 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. kèo bóng đá hom nay 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ọiAMCHECKHàm liên tục khi chạy kèo bóng đá hom nay bài kiểm tra hồi quy tiêu chuẩn. Nhìn thấyPhần 31.1Để biết chi tiết về chạy kèo bóng đá hom nay bài kiểm tra.

  • 29513_29603

    Lưu ý rằngAMCheckKiểm tra một trang được biểu thị trong một số bộ đệm bộ nhớ được chia sẻ tại thời điểm kèo bóng đá hom nay nếu chỉ có một bộ đệm được chia sẻ khi truy cập vào khối. Do đó,AMCHECKKhô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 kèo bóng đá hom nay. Lưu ý rằng khi kiểm tra được bật,AMCHECKCó thể gây lỗi do lỗi 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 các lỗi bộ nhớ có thể chính kèo bóng đá hom nay 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 các 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ớ.

    KhiHeapallIndexed30777_30979

Tham nhũng cấu trúc có thể xảy ra do phần cứng lưu trữ bị lỗi hoặc kèo bóng đá hom nay tệp quan hệ đang bị ghi đè hoặc sửa đổi bởi phần mềm không liên quan. Loại tham nhũng này cũng có thể được phát hiện vớiTổng kiểm tra trang dữ liệu.

Các trang quan hệ được định dạng chính kèo bóng đá hom nay, nhất quán nội bộ và chính kèo bóng đá hom nay so với tổng kiểm tra nội bộ của chúng vẫn có thể chứa tham nhũng logic. Như vậy, loại tham nhũng này không thể được phát hiện vớiTổng kiểm tra. Các ví dụ bao gồm các giá trị nướng trong bảng chính thiếu một kèo bóng đá hom nay nhập tương ứng trong bảng bánh mì nướng và các bộ dữ liệu trong bảng chính với ID giao dịch cũ hơn ID giao dịch hợp lệ lâu đời nhất trong cơ sở dữ liệu hoặc cụm.

31858_31962PostgreSQLPhần mềm máy chủ, kèo bóng đá hom nay công cụ sao lưu và khôi phục không bị ảnh hưởng và không được thực hiện

Quan hệ tham nhũng liên quan nhiều nhất trong môi trường sản xuất trực tiếp, chính kèo bóng đá hom nay là các môi trường giống như các hoạt động rủi ro cao ít được chào đón nhất. Vì lý do này,verify_heapamđã được thiết kế để chẩn đoán tham nhũng mà không có rủi ro không đáng có. Nó không thể bảo vệ chống lại tất cả kèo bóng đá hom nay nguyên nhân của sự cố phụ trợ, vì ngay cả việc thực hiện truy vấn gọi điện cũng có thể không an toàn trên một hệ thống bị hỏng xấu. Truy cập vàosoi kèo bóng đá truoctran: Tàiđược thực hiện và có thể có vấn đề nếu các danh kèo bóng đá hom nay bị hỏng.

Nói chung,AMCheck32749_32823

F.1.4. Sửa chữa tham nhũng#

Không có lỗi liên quan đến tham nhũng được nêu ra bởiAMChecksẽ là một dương tính giả.AMCHECK33268_33381AMCheckLỗi thường được yêu cầu.

Không có phương pháp chung nào để sửa chữa kèo bóng đá hom nay vấn đềAMCheckPhá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.Postgresql:Có thể đóng một vai trò hữu ích trong việc chẩn đoán tham nhũngAMCHECKPhát hiện. MỘTReindexcó thể không hiệu quả trong việc sửa chữa tham nhũng.

Gửi hiệu chỉnh

Nếu bạn thấy bất cứ điều gì trong tài liệu không chính kèo bóng đá hom nay, không khớp Kinh nghiệm của bạn với tính năng cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụngMẫu nàyĐể báo cáo vấn đề tài liệu.