10144_10171
Reindex [(Tùy chọn
[, ...])] index | Bảng |tên
WHERETùy chọn
có thể là một trong số:đồng thời [Boolean
]new_tablespace
Verbose [Boolean
]
Reindex
Xây dựng lại một chỉ kèo tỷ số bóng đá euro hôm nay bằng cách sử dụng dữ liệu được lưu trữ trong bảng của chỉ kèo tỷ số bóng đá euro hôm nay, thay thế bản sao cũ của chỉ kèo tỷ số bóng đá euro hôm nay. Có một số kịch bản để sử dụngReindex
:
Một chỉ kèo tỷ số bóng đá euro hôm nay đã 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ỉ kèo tỷ số bóng đá euro hôm nay có thể bị hỏng do lỗi phần mềm hoặc lỗi phần cứng.Reindex
cung cấp phương thức phục hồi.
Một chỉ kèo tỷ số bóng đá euro hôm nay đã 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ỉ kèo tỷ số bóng đá euro hôm nay B-cây trongPostgreSQLTrong kèo tỷ số bóng đá euro hôm nay mẫu truy cập không phổ biến nhất định.Reindex
Cung cấp một cách để giảm mức tiêu thụ không gian của chỉ kèo tỷ số bóng đá euro hôm nay bằng cách viết một phiên bản mới của chỉ kèo tỷ số bóng đá euro hôm nay 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ỉ kèo tỷ số bóng đá euro hôm nay và muốn đảm bảo rằng thay đổi đã có hiệu lực đầy đủ.
Nếu bản dựng chỉ kèo tỷ số bóng đá euro hôm nay không thành công vớiđồng thời
Tùy chọn, chỉ kèo tỷ số bóng đá euro hôm nay này bị bỏ lại làkhông hợp lệ. Các chỉ kèo tỷ số bóng đá euro hôm nay 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 INDEX
có thể thực hiện bản dựng đồng thời trên một chỉ kèo tỷ số bóng đá euro hôm nay không hợp lệ.
index
Tạo lại chỉ kèo tỷ số bóng đá euro hôm nay được chỉ định. Hình thức này củaReindex
Không thể được thực thi bên trong khối giao dịch khi được sử dụng với chỉ kèo tỷ số bóng đá euro hôm nay được phân vùng.
Bảng
Tái tạo tất cả các chỉ kèo tỷ số bóng đá euro hôm nay của bảng được chỉ định. Nếu bảng có thứ cấpbánh mì nướngHồiBảng, cũng được tái phát. Hình thức này củaReindex
Khô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ỉ kèo tỷ số bóng đá euro hôm nay của lược đồ được chỉ định. Nếu một bảng của lược đồ này có thứ cấpHồibánh mì nướngHồiBảng, cũng được tái phát. Các chỉ kèo tỷ số bóng đá euro hôm nay trên danh kèo tỷ số bóng đá euro hôm nay hệ thống chia sẻ cũng được xử lý.Reindex
Khô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ỉ kèo tỷ số bóng đá euro hôm nay trong cơ sở dữ liệu hiện tại. Các chỉ kèo tỷ số bóng đá euro hôm nay trên danh kèo tỷ số bóng đá euro hôm nay hệ thống chia sẻ cũng được xử lý.Reindex
Khô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ỉ kèo tỷ số bóng đá euro hôm nay trên danh kèo tỷ số bóng đá euro hôm nay hệ thống trong cơ sở dữ liệu hiện tại. Các chỉ kèo tỷ số bóng đá euro hôm nay trên các danh kèo tỷ số bóng đá euro hôm nay hệ thống được chia sẻ được bao gồm.Reindex
Không thể được thực thi bên trong khối giao dịch.
tên
Tên của chỉ kèo tỷ số bóng đá euro hôm nay cụ thể, bảng hoặc cơ sở dữ liệu sẽ được tái hiện. Tên chỉ kèo tỷ số bóng đá euro hôm nay và bảng có thể được định mức lược đồ.Cơ sở dữ liệu Reindex
vàHệ thống Reindex
Chỉ có thể làm lại 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ỉ kèo tỷ số bóng đá euro hôm nay mà không cần bất kỳ khóa nào ngăn chặn các phần 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ỉ kèo tỷ số bóng đá euro hôm nay đồng thờibên dưới.
cho kèo tỷ số bóng đá euro hôm nay bảng tạm thời,Reindex
luôn không hòa âm, 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ỉ kèo tỷ số bóng đá euro hôm nay 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ỉ kèo tỷ số bóng đá euro hôm nay được tái hiện.
Boolean
Chỉ định liệu tùy chọn đã chọn nên được bật hoặc tắt. Bạn có thể viếtTRUE
, trên
hoặc1
để bật tùy chọn vàfalse
, TẮT
hoặc0
Để vô hiệu hóa nó. TheBoolean
Giá 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ỉ kèo tỷ số bóng đá euro hôm nay sẽ được xây dựng lại.
Nếu bạn nghi ngờ tham nhũng một chỉ kèo tỷ số bóng đá euro hôm nay trên bảng người dùng, bạn chỉ cần xây dựng lại chỉ kèo tỷ số bóng đá euro hôm nay đó hoặc tất cả các chỉ kèo tỷ số bóng đá euro hôm nay trên bảng, sử dụngREINDEX INDEX
hoặ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ỉ kèo tỷ số bóng đá euro hôm nay 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.-P
Tùy chọn, ngăn nó sử dụng các chỉ kèo tỷ số bóng đá euro hôm nay cho tra cứu danh kèo tỷ số bóng đá euro hôm nay 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ủ có-P
Tù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 Reindex
hoặcREINDEX INDEX
có 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ỉ kèo tỷ số bóng đá euro hôm nay 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 khảo để 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-P
Bao gồm trong kèo tỷ số bóng đá euro hôm nay 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 kèo tỷ số bóng đá euro hôm nay máy khách, nhưng trong tất cảlibpq-kèo tỷ số bóng đá euro hôm nay khách hàng dựa trên, có thể đặtpgoptions
Biến môi trường thành-P
Trước khi bắt đầu khách hàng. Lưu ý rằng mặc dù phương pháp này không yêu cầu khóa kèo tỷ số bóng đá euro hôm nay 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.
Reindex
tương tự như sự sụt giảm và tạo lại chỉ kèo tỷ số bóng đá euro hôm nay ở chỗ nội dung chỉ kèo tỷ số bóng đá euro hôm nay đượ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.Reindex
Khóa viết nhưng không đọc bảng cha mẹ của chỉ kèo tỷ số bóng đá euro hôm nay. Nó cũng mất mộtquyền truy cập độc quyền
Khóa chỉ kèo tỷ số bóng đá euro hôm nay cụ thể đang được xử lý, sẽ chặn đọc rằng cố gắng sử dụng chỉ kèo tỷ số bóng đá euro hôm nay đó. Ngược lại,Drop Index
trong giây látquyền truy cập độc quyền
Khóa trên bảng cha mẹ, chặn cả hai lần ghi và đọc. Tiếp theoTạo chỉ kèo tỷ số bóng đá euro hôm nay
Khóa viết nhưng không đọc; Vì chỉ kèo tỷ số bóng đá euro hôm nay 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ỉ kèo tỷ số bóng đá euro hôm nay hoặc bảng duy nhất yêu cầu là chủ sở hữu của chỉ kèo tỷ số bóng đá euro hôm nay 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
, Lược đồ Reindex
hoặcHệ thống Reindex
được phát hành bởi người không phải là người quản lý, các chỉ kèo tỷ số bóng đá euro hôm nay trên các danh kèo tỷ số bóng đá euro hôm nay chia sẻ sẽ bị bỏ qua trừ khi người dùng sở hữu danh kèo tỷ số bóng đá euro hôm nay (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ỉ kèo tỷ số bóng đá euro hôm nay được phân vùng hoặc bảng phân vùng được hỗ trợ vớiREINDEX INDEX
hoặ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ảng
mệnh đề vớiReindex
Trên một chỉ kèo tỷ số bóng đá euro hôm nay hoặc bảng được phân vùng, chỉ 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ỉ kèo tỷ số bóng đá euro hôm nay được phân vùng không được cập nhật, nên sử dụng riêngChỉ thay đổi bảng
Trê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ỉ kèo tỷ số bóng đá euro hôm nay sang không gian bảng mới.
nếulược đồ
, Cơ sở dữ liệu
hoặcSystem
được sử dụng vớikhông gian bảng
, Quan hệ hệ thống được bỏ qua và mộtcảnh báo
sẽ được tạo. Các chỉ kèo tỷ số bóng đá euro hôm nay 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 một chỉ kèo tỷ số bóng đá euro hôm nay 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ỉ kèo tỷ số bóng đá euro hôm nay đượ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ỉ kèo tỷ số bóng đá euro hôm nay 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ời
Tù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ỉ kèo tỷ số bóng đá euro hôm nay 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ỉ kèo tỷ số bóng đá euro hôm nay. 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ỉ kèo tỷ số bóng đá euro hôm nay 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ỉ kèo tỷ số bóng đá euro hôm nay.
kèo tỷ số bóng đá euro hôm nay 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.
Một định nghĩa chỉ số thoáng qua mới được thêm vào danh kèo tỷ số bóng đá euro hôm naypg_index
. Định nghĩa này sẽ được sử dụng để thay thế chỉ số cũ.Cập nhật chia sẻ độc quyền
khóa ở cấp độ phiên được thực hiện trên các chỉ kèo tỷ số bóng đá euro hôm nay đượ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ý.
Đường chuyền đầu tiên để xây dựng chỉ kèo tỷ số bóng đá euro hôm nay được thực hiện cho mỗi chỉ kèo tỷ số bóng đá euro hôm nay mới. Khi chỉ kèo tỷ số bóng đá euro hôm nay được xây dựng, cờ của nóPG_INDEX.INDISREADY
được chuyển sangTRUEHàngĐể 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ỉ kèo tỷ số bóng đá euro hôm nay.
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 mỗi chỉ kèo tỷ số bóng đá euro hôm nay.
Tất cả các ràng buộc đề cập đến chỉ kèo tỷ số bóng đá euro hôm nay được thay đổi để chỉ định nghĩa chỉ số mới và tên của các chỉ kèo tỷ số bóng đá euro hôm nay được thay đổi. Tại thời điểm này,pg_index.indisvalid
được chuyển sangHồiTRUEHồicho chỉ kèo tỷ số bóng đá euro hôm nay mới và đếnHồiSaiĐố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ả kèo tỷ số bóng đá euro hôm nay phiên tham chiếu chỉ số cũ bị vô hiệu.
Các chỉ kèo tỷ số bóng đá euro hôm nay cũ cóĐã chuyển sangSaiHồ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ỉ kèo tỷ số bóng đá euro hôm nay cũ hoàn thành.
Các chỉ kèo tỷ số bóng đá euro hôm nay cũ bị bỏ. TheCập nhật chia sẻ độc quyền
Khóa phiên cho các chỉ kèo tỷ số bóng đá euro hôm nay 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ỉ kèo tỷ số bóng đá euro hôm nay, chẳng hạn như vi phạm tính duy nhất trong một chỉ kèo tỷ số bóng đá euro hôm nay duy nhất,Reindex
Lệnh sẽ thất bại nhưng bỏ lại phía saukhông hợp lệHồiChỉ kèo tỷ số bóng đá euro hôm nay mới ngoài phần đã tồn tại trước. Chỉ số này sẽ bị bỏ qua cho các kèo tỷ số bóng đá euro hôm nay đích truy vấn vì nó có thể không đầy đủ;PSQL \ D
Lệnh sẽ báo cáo một chỉ kèo tỷ số bóng đá euro hôm nay nhưkhông hợp lệ
:
postgres =# \ d tab
Nếu chỉ kèo tỷ số bóng đá euro hôm nay đượ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ời
Một lần nữa. Nếu chỉ kèo tỷ số bóng đá euro hôm nay không hợp lệ thay vào đó là hậu tốccold
, nó tương ứng với chỉ số ban đầu không thể bỏ được; Phương pháp phục hồi được đề xuất là chỉ bỏ chỉ kèo tỷ số bóng đá euro hôm nay đã nói, vì việc xây dựng lại đã thành công.
Bản dựng chỉ kèo tỷ số bóng đá euro hôm nay chính quy cho phép các bản dựng chỉ kèo tỷ số bóng đá euro hôm nay 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ỉ kèo tỷ số bóng đá euro hôm nay đồ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 Reindex
hoặcREINDEX INDEX
Có thể thực hiện lệnh trong một khối giao dịch, nhưngReindex đồng thời
không thể.
Giống như bất kỳ giao dịch dài nào,Reindex
Trên bảng có thể ảnh hưởng đến bộ dữ liệu nào có thể được gỡ bỏ bằng cách đồng thờiVACUUM
Trên bất kỳ bảng nào khác.
Hệ thống Reindex
Không hỗ trợđồng thời
Vì các danh kèo tỷ số bóng đá euro hôm nay hệ thống không thể được tái hiện đồng thời.
Hơn nữa, các chỉ kèo tỷ số bóng đá euro hôm nay 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ỉ kèo tỷ số bóng đá euro hôm nay 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ời
Tùy chọn.)
mỗi phụ trợ chạyReindex
sẽ báo cáo tiến trình của nó trongPG_STAT_PROTERS_CREATE_INDEX
Xem. Nhìn thấyPhần 28.4.2Để biết chi tiết.
xây dựng lại một chỉ kèo tỷ số bóng đá euro hôm nay duy nhất:
REINDEX INDEX MY_INDEX;
xây dựng lại tất cả các chỉ kèo tỷ số bóng đá euro hôm nay trên bảngmy_table
:
Bảng Reindex my_table;
Xây dựng lại tất cả các chỉ kèo tỷ số bóng đá euro hôm nay trong một cơ sở dữ liệu cụ thể, mà không tin tưởng các chỉ kèo tỷ số bóng đá euro hôm nay hệ thống đã có hiệu lực:
$xuất pgoptions = "-p"
$PSQL bị hỏng_db
...
30512_30640
Bảng Reindex đồng thời my_broken_table;
Không cóReindex
Lệnh trong tiêu chuẩn SQL.
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.