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 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1

Reindex

REINDEX - Sắp xếp lại các chỉ tỷ lệ kèo bóng đá 88

Synopsis

Reindex [(Tùy chọn[, ...])] index | Bảng |tên

WHERETùy chọncó thể là một trong số:đồng thời [Boolean]new_tablespaceVerbose [Boolean]

Mô tả

ReindexXây dựng lại một chỉ tỷ lệ kèo bóng đá 88 bằng cách sử dụng dữ liệu được lưu trữ trong bảng của chỉ tỷ lệ kèo bóng đá 88, thay thế bản sao cũ của chỉ tỷ lệ kèo bóng đá 88. Có một số kịch bản để sử dụngReindex:

  • Một chỉ tỷ lệ kèo bóng đá 88 đã bị hỏng và không còn chứa dữ liệu hợp lệ. Mặc dù về mặt lý thuyết, điều này không bao giờ nên xảy ra, nhưng trong thực tế, các chỉ tỷ lệ kèo bóng đá 88 có thể bị hỏng do lỗi phần mềm hoặc lỗi phần cứng.ReindexCung cấp phương thức phục hồi.

  • Một chỉ tỷ lệ kèo bóng đá 88 đã trở thànhHồiBloatedHồi, đó là nó chứa nhiều trang trống hoặc gần như trống. Điều này có thể xảy ra với các chỉ tỷ lệ kèo bóng đá 88 B-cây trongPostgreSQLTrong tỷ lệ kèo bóng đá 88 mẫu truy cập không phổ biến nhất định.ReindexCung cấp một cách để giảm mức tiêu thụ không gian của chỉ tỷ lệ kèo bóng đá 88 bằng cách viết một phiên bản mới của chỉ tỷ lệ kèo bóng đá 88 mà không có các trang chết. Nhìn thấyPhần 25.2Để biết thêm thông tin.

  • Bạn đã thay đổi tham số lưu trữ (như fillfactor) cho một chỉ tỷ lệ kèo bóng đá 88 và muốn đảm bảo rằng thay đổi đã có hiệu lực đầy đủ.

  • Nếu bản dựng chỉ tỷ lệ kèo bóng đá 88 không thành công vớiđồng thờiTùy chọn, chỉ tỷ lệ kèo bóng đá 88 này bị bỏ lại dưới dạngHồikhông hợp lệHồi. Các chỉ tỷ lệ kèo bóng đá 88 như vậy là vô dụng nhưng có thể thuận tiện khi sử dụngReindexđể xây dựng lại chúng. Lưu ý rằng chỉREINDEX INDEXcó thể thực hiện bản dựng đồng thời trên một chỉ tỷ lệ kèo bóng đá 88 không hợp lệ.

tham số

index

Tạo lại chỉ tỷ lệ kèo bóng đá 88 được chỉ định. Hình thức này củaReindexKhông thể được thực thi bên trong khối giao dịch khi được sử dụng với chỉ tỷ lệ kèo bóng đá 88 được phân vùng.

Bảng

tái tạo tất cả các chỉ tỷ lệ kèo bóng đá 88 của bảng được chỉ định. Nếu bảng có thứ cấpbánh mì nướngBảng, cũng được tái phát. Hình thức này củaReindexKhông thể được thực thi bên trong một khối giao dịch khi được sử dụng với bảng được phân vùng.

lược đồ

Tái tạo tất cả các chỉ tỷ lệ kèo bóng đá 88 của lược đồ được chỉ định. Nếu một bảng của lược đồ này có thứ cấpbánh mì nướngHồiBảng, cũng được tái phát. Các chỉ tỷ lệ kèo bóng đá 88 trên danh tỷ lệ kèo bóng đá 88 hệ thống chia sẻ cũng được xử lý.ReindexKhông thể được thực thi bên trong khối giao dịch.

Cơ sở dữ liệu

Tái tạo tất cả các chỉ tỷ lệ kèo bóng đá 88 trong cơ sở dữ liệu hiện tại. Các chỉ tỷ lệ kèo bóng đá 88 trên danh tỷ lệ kèo bóng đá 88 hệ thống chia sẻ cũng được xử lý.ReindexKhông thể được thực thi bên trong khối giao dịch.

System

Tái tạo tất cả các chỉ tỷ lệ kèo bóng đá 88 trên danh tỷ lệ kèo bóng đá 88 hệ thống trong cơ sở dữ liệu hiện tại. Các chỉ tỷ lệ kèo bóng đá 88 trên các danh tỷ lệ kèo bóng đá 88 hệ thống được chia sẻ được bao gồm.ReindexKhông thể được thực thi bên trong khối giao dịch.

tên

Tên của chỉ tỷ lệ kèo bóng đá 88, bảng hoặc cơ sở dữ liệu cụ thể sẽ được tái hiện. Tên chỉ tỷ lệ kèo bóng đá 88 và bảng có thể được định mức lược đồ.Cơ sở dữ liệu ReindexHệ thống ReindexChỉ có thể tái hiện cơ sở dữ liệu hiện tại, do đó tham số của chúng phải khớp với tên của cơ sở dữ liệu hiện tại.

đồng thời

Khi tùy chọn này được sử dụng,PostgreSQLsẽ xây dựng lại chỉ tỷ lệ kèo bóng đá 88 mà không cần bất kỳ khóa nào ngăn chặn các chèn, cập nhật hoặc xóa đồng thời trên bảng; trong khi một chỉ số tiêu chuẩn xây dựng lại khóa ghi (nhưng không đọc) trên bảng cho đến khi hoàn thành.Xây dựng lại các chỉ tỷ lệ kèo bóng đá 88 đồng thờibên dưới.

cho tỷ lệ kèo bóng đá 88 bảng tạm thời,Reindexluôn không hòa đồng, vì không có phiên nào khác có thể truy cập chúng và Reindex không hòa âm rẻ hơn.

không gian bảng

Chỉ định rằng các chỉ tỷ lệ kèo bóng đá 88 sẽ được xây dựng lại trên một không gian bảng mới.

Verbose

In báo cáo tiến độ khi mỗi chỉ tỷ lệ kèo bóng đá 88 được tái hiện.

Boolean

Chỉ định liệu tùy chọn đã chọn nên được bật hay tắt. Bạn có thể viếtTRUE, trênhoặc1Để bật tùy chọn vàSai, TẮThoặc0Để vô hiệu hóa nó. TheBooleanGiá trị cũng có thể được bỏ qua, trong trường hợp đóTRUEđược giả định.

new_tablespace

Không gian bảng nơi các chỉ tỷ lệ kèo bóng đá 88 sẽ được xây dựng lại.

ghi chú

Nếu bạn nghi ngờ tham nhũng chỉ tỷ lệ kèo bóng đá 88 trên bảng người dùng, bạn chỉ cần xây dựng lại chỉ tỷ lệ kèo bóng đá 88 đó hoặc tất cả các chỉ tỷ lệ kèo bóng đá 88 trên bảng, sử dụngREINDEX INDEXhoặcBảng Reindex.

Mọi thứ khó khăn hơn nếu bạn cần phục hồi từ tham nhũng của một chỉ tỷ lệ kèo bóng đá 88 trên bảng hệ thống. Trong trường hợp này, điều quan trọng đối với hệ thống là không sử dụng bất kỳ chỉ số nghi ngờ nào.-PTùy chọn, ngăn nó sử dụng các chỉ tỷ lệ kèo bóng đá 88 cho tra cứu danh tỷ lệ kèo bóng đá 88 hệ thống.

Một cách để làm điều này là tắt máy chủ và khởi động một người dùng duy nhấtPostgreSQLMáy chủ với-PTùy chọn bao gồm trên dòng lệnh của nó. Sau đó,Cơ sở dữ liệu Reindex, Hệ thống Reindex, Bảng ReindexhoặcREINDEX INDEXcó thể được ban hành, tùy thuộc vào số lượng bạn muốn xây dựng lại. Nếu nghi ngờ, hãy sử dụngHệ thống ReindexĐể chọn Tái thiết tất cả các chỉ tỷ lệ kèo bóng đá 88 hệ thống trong cơ sở dữ liệu. Sau đó thoát khỏi phiên máy chủ người dùng đơn và khởi động lại máy chủ thông thường.PostgresTrang tham chiếu để biết thêm thông tin về cách tương tác với giao diện máy chủ đơn lẻ.

Ngoài ra, một phiên máy chủ thông thường có thể được bắt đầu bằng-PBao gồm trong tỷ lệ kèo bóng đá 88 tùy chọn dòng lệnh của nó. Phương thức để thực hiện điều này khác nhau giữa tỷ lệ kèo bóng đá 88 máy khách, nhưng trong tất cảlibpqpgoptionsBiến môi trường thành-PTrước khi bắt đầu khách hàng. Lưu ý rằng mặc dù phương thức này không yêu cầu khóa tỷ lệ kèo bóng đá 88 máy khách khác, nhưng vẫn có thể khôn ngoan để ngăn người dùng khác kết nối với cơ sở dữ liệu bị hư hỏng cho đến khi sửa chữa hoàn thành.

Reindextương tự như sự sụt giảm và tạo lại chỉ tỷ lệ kèo bóng đá 88 ở chỗ nội dung chỉ tỷ lệ kèo bóng đá 88 được xây dựng lại từ đầu. Tuy nhiên, các cân nhắc khóa là khá khác nhau.ReindexKhóa viết nhưng không đọc bảng cha mẹ của chỉ tỷ lệ kèo bóng đá 88. Nó cũng mất mộtquyền truy cập độc quyềnKhóa chỉ tỷ lệ kèo bóng đá 88 cụ thể đang được xử lý, sẽ chặn đọc rằng cố gắng sử dụng chỉ tỷ lệ kèo bóng đá 88 đó. Cụ thể, người lập kế hoạch truy vấn cố gắng lấyChia sẻ truy cậpKhóa trên mọi chỉ tỷ lệ kèo bóng đá 88 của bảng, bất kể truy vấn, và vì vậyReindexKhối hầu như bất kỳ truy vấn nào ngoại trừ một số truy vấn đã chuẩn bị có kế hoạch đã được lưu trữ và không sử dụng chỉ số này. Ngược lại,Drop Indextrong giây látquyền truy cập độc quyềnKhóa trên bảng cha mẹ, chặn cả hai lần ghi và đọc. Tiếp theoTạo chỉ tỷ lệ kèo bóng đá 88Khóa viết nhưng không đọc; Vì chỉ tỷ lệ kèo bóng đá 88 không có ở đó, không có đọc nào sẽ cố gắng sử dụng nó, có nghĩa là sẽ không có chặn nhưng các lần đọc có thể bị buộc vào các lần quét tuần tự đắt tiền.

Tái tạo một chỉ tỷ lệ kèo bóng đá 88 hoặc bảng yêu cầu là chủ sở hữu của chỉ tỷ lệ kèo bóng đá 88 hoặc bảng đó. Tái hiện một lược đồ hoặc cơ sở dữ liệu đòi hỏi phải là chủ sở hữu của lược đồ hoặc cơ sở dữ liệu đó.Cơ sở dữ liệu Reindex, Cơ sở dữ liệu | ReindexhoặcHệ thống Reindexđược cấp bởi người không phải là người quản lý, các chỉ tỷ lệ kèo bóng đá 88 trên các danh tỷ lệ kèo bóng đá 88 chia sẻ sẽ bị bỏ qua trừ khi người dùng sở hữu danh tỷ lệ kèo bóng đá 88 (thường sẽ không xảy ra). Tất nhiên, các siêu nhân luôn có thể tái hiện bất cứ điều gì.

Các chỉ tỷ lệ kèo bóng đá 88 được phân vùng hoặc bảng phân vùng được hỗ trợ vớiREINDEX INDEXhoặcBảng Reindex, tương ứng. Mỗi phân vùng của mối quan hệ phân vùng được chỉ định được tái phát trong một giao dịch riêng biệt.

Khi sử dụngkhông gian bảngmệnh đề vớiReindexTrên một chỉ tỷ lệ kèo bóng đá 88 hoặc bảng được phân vùng, chỉ có các tài liệu tham khảo không gian bảng của các phân vùng lá được cập nhật. Vì các chỉ tỷ lệ kèo bóng đá 88 được phân vùng không được cập nhật, nên sử dụng riêngChỉ thay đổi bảngTrên chúng để bất kỳ phân vùng mới nào được đính kèm kế thừa không gian bảng mới. Khi thất bại, nó có thể không chuyển tất cả các chỉ tỷ lệ kèo bóng đá 88 sang không gian bảng mới.

nếulược đồ, Cơ sở dữ liệuhoặcSystemđược sử dụng vớiKhông gian bảng, Quan hệ hệ thống được bỏ qua và mộtCảnh báosẽ được tạo. Các chỉ tỷ lệ kèo bóng đá 88 trên các bảng bánh mì nướng được xây dựng lại, nhưng không được chuyển sang không gian bảng mới.

Xây dựng lại các chỉ tỷ lệ kèo bóng đá 88 đồng thời

Xây dựng lại một chỉ tỷ lệ kèo bóng đá 88 có thể can thiệp vào hoạt động thường xuyên của cơ sở dữ liệu. Thông thườngPostgreSQLKhóa bảng có chỉ tỷ lệ kèo bóng đá 88 được xây dựng lại để ghi và thực hiện toàn bộ chỉ số xây dựng chỉ với một lần quét bảng. Các giao dịch khác vẫn có thể đọc bảng, nhưng nếu họ cố gắng chèn, cập nhật hoặc xóa các hàng trong bảng, chúng sẽ chặn cho đến khi chỉ số xây dựng lại.

PostgreSQLHỗ trợ các chỉ tỷ lệ kèo bóng đá 88 xây dựng lại với khóa ghi tối thiểu. Phương thức này được gọi bằng cách chỉ địnhđồng thờiTùy chọnReindex. Khi tùy chọn này được sử dụng,PostgreSQLPhải thực hiện hai lần quét bảng cho mỗi chỉ tỷ lệ kèo bóng đá 88 cần được xây dựng lại và chờ chấm dứt tất cả các giao dịch hiện có có khả năng sử dụng chỉ tỷ lệ kèo bóng đá 88. Phương pháp này đòi hỏi nhiều công việc hơn so với việc xây dựng lại chỉ tỷ lệ kèo bóng đá 88 tiêu chuẩn và mất nhiều thời gian hơn để hoàn thành vì cần phải chờ các giao dịch chưa hoàn thành có thể sửa đổi chỉ tỷ lệ kèo bóng đá 88.

tỷ lệ kèo bóng đá 88 bước sau đây xảy ra trong một sự tái phát đồng thời. Mỗi bước được chạy trong một giao dịch riêng biệt.

  1. Một định nghĩa chỉ số thoáng qua mới được thêm vào danh tỷ lệ kèo bóng đá 88pg_index. Định nghĩa này sẽ được sử dụng để thay thế chỉ số cũ.Cập nhật chia sẻ độc quyềnkhóa ở cấp độ phiên được thực hiện trên các chỉ tỷ lệ kèo bóng đá 88 được tái phát cũng như các bảng liên quan của chúng để ngăn chặn bất kỳ sửa đổi lược đồ nào trong khi xử lý.

  2. Đường chuyền đầu tiên để xây dựng chỉ tỷ lệ kèo bóng đá 88 được thực hiện cho mỗi chỉ tỷ lệ kèo bóng đá 88 mới. Khi chỉ tỷ lệ kèo bóng đá 88 được xây dựng, cờ của nóđược chuyển sangVangTRUEHồiĐể làm cho nó sẵn sàng để chèn, làm cho nó hiển thị cho các phiên khác sau khi giao dịch thực hiện bản dựng kết thúc. Bước này được thực hiện trong một giao dịch riêng cho mỗi chỉ tỷ lệ kèo bóng đá 88.

  3. Sau đó, lần thứ hai được thực hiện để thêm các bộ dữ liệu được thêm vào trong khi vượt qua đầu tiên đang chạy. Bước này cũng được thực hiện trong một giao dịch riêng cho từng chỉ tỷ lệ kèo bóng đá 88.

  4. Tất cả các ràng buộc đề cập đến chỉ tỷ lệ kèo bóng đá 88 được thay đổi để chỉ định nghĩa chỉ tỷ lệ kèo bóng đá 88 mới và tên của các chỉ tỷ lệ kèo bóng đá 88 được thay đổi. Tại thời điểm này,pg_index.indisvalidđược chuyển sangTRUEHồicho chỉ tỷ lệ kèo bóng đá 88 mới và đếnSaiHồiĐối với cái cũ và sự vô hiệu của bộ đệm được thực hiện khiến tất cả tỷ lệ kèo bóng đá 88 phiên tham chiếu chỉ số cũ bị vô hiệu.

  5. Các chỉ tỷ lệ kèo bóng đá 88 cũ cóPG_INDEX.INDISREADYĐã chuyển sangHồiSaiHồiĐể ngăn chặn bất kỳ phần chèn mới nào, sau khi chờ các truy vấn chạy có thể tham chiếu chỉ tỷ lệ kèo bóng đá 88 cũ hoàn thành.

  6. Các chỉ tỷ lệ kèo bóng đá 88 cũ bị loại bỏ. TheCập nhật chia sẻ độc quyềnKhóa phiên cho các chỉ tỷ lệ kèo bóng đá 88 và bảng được phát hành.

Nếu có vấn đề phát sinh trong khi xây dựng lại các chỉ tỷ lệ kèo bóng đá 88, chẳng hạn như vi phạm tính duy nhất trong một chỉ tỷ lệ kèo bóng đá 88 duy nhất,ReindexLệnh sẽ thất bại nhưng bỏ lại phía saukhông hợp lệHồiChỉ tỷ lệ kèo bóng đá 88 mới ngoài phần đã tồn tại trước. Chỉ số này sẽ bị bỏ qua cho các tỷ lệ kèo bóng đá 88 đích truy vấn vì nó có thể không đầy đủ;PSQL \ DLệnh sẽ báo cáo một chỉ tỷ lệ kèo bóng đá 88 nhưkhông hợp lệ:

postgres =# \ d tab

Nếu chỉ tỷ lệ kèo bóng đá 88 được đánh dấukhông hợp lệđược hậu tốCCNew, sau đó nó tương ứng với chỉ số thoáng qua được tạo trong quá trình hoạt động đồng thời và phương pháp khôi phục được đề xuất là bỏ nó bằng cách sử dụngDrop Index, sau đó thửReindex đồng thờiMột lần nữa. Nếu chỉ tỷ lệ kèo bóng đá 88 không hợp lệ thay vào đó là hậu tốccold, nó tương ứng với chỉ tỷ lệ kèo bóng đá 88 ban đầu không thể bỏ được; Phương pháp phục hồi được đề xuất là chỉ bỏ chỉ tỷ lệ kèo bóng đá 88 đã nói, vì việc xây dựng lại đã thành công.

Các bản dựng chỉ tỷ lệ kèo bóng đá 88 thông thường cho phép các bản dựng chỉ tỷ lệ kèo bóng đá 88 thông thường khác trên cùng một bảng xảy ra đồng thời, nhưng chỉ có một bản dựng chỉ tỷ lệ kèo bóng đá 88 đồng thời có thể xảy ra trên bảng tại một thời điểm. Trong cả hai trường hợp, trong khi đó, không có loại sửa đổi lược đồ khác trên bảng.Bảng ReindexhoặcREINDEX INDEXCó thể thực hiện lệnh trong một khối giao dịch, nhưngReindex đồng thờikhông thể.

Giống như bất kỳ giao dịch dài nào,ReindexTrên bảng có thể ảnh hưởng đến bộ dữ liệu nào có thể được loại bỏ bằng cách đồng thờiVACUUMTrên bất kỳ bảng nào khác.

Hệ thống Reindexkhông hỗ trợđồng thờiVì các danh tỷ lệ kèo bóng đá 88 hệ thống không thể được tái hiện đồng thời.

Hơn nữa, các chỉ tỷ lệ kèo bóng đá 88 cho các ràng buộc loại trừ không thể được tái hiện đồng thời. Nếu một chỉ tỷ lệ kèo bóng đá 88 như vậy được đặt tên trực tiếp trong lệnh này, một lỗi sẽ được nêu ra.đồng thờiTùy chọn.)

mỗi phụ trợ chạyReindexsẽ báo cáo tiến trình của nó trongPG_STAT_PROTERS_CREATE_INDEXXem. Nhìn thấyPhần 28.4.2Để biết chi tiết.

Ví dụ

xây dựng lại một chỉ tỷ lệ kèo bóng đá 88 duy nhất:

Reindex index my_index;

xây dựng lại tất cả các chỉ tỷ lệ kèo bóng đá 88 trên bảngmy_table:

Bảng Reindex my_table;

Xây dựng lại tất cả các chỉ tỷ lệ kèo bóng đá 88 trong một cơ sở dữ liệu cụ thể, mà không tin tưởng các chỉ tỷ lệ kèo bóng đá 88 hệ thống đã có hiệu lực:

$Xuất pgoptions = "-p"$PSQL bị hỏng_db...

30784_30912

Bảng Reindex đồng thời my_broken_table;

Tương thích

Không cóReindexLệnh trong tiêu chuẩn SQL.

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 xác, không khớpMẫu nàyĐể báo cáo vấn đề tài liệu.