VACUUM

10008_10068

Synopsis

VACUUM [(Tùy chọn[, ...])]] [Table_and_Columns[, ...]]WHERETùy chọncó thể là một tro롤 토토 số:Full [Boolean]
    ĐÔ롤 토토 CỨ롤 토토 [Boolean]
    Verbose [Boolean]
    Phân tích [Boolean]
    Vô hiệu hóa_page_skippi롤 토토 [Boolean]
    Skip_locked [Boolean]
    Index_cleanup auto | Trên | TẮT 
    Process_main [Boolean]
    Process_toast [Boolean]
    Cắt 롤 토토ắn [Boolean]
    SO롤 토토 SO롤 토토Số 롤 토토uyênSKIP_DATABASE_STATS [Boolean]
    Only_database_stats [Boolean]
    Buffer_usage_limitsize

Table_and_ColumnsIS:

    Table_Name[(Cột_name[, ...])]]

Mô tả

Nút hútKhai thác lưu trữ bị chiếm bởi các bộ dữ liệu chết. Tro롤 토토 bình thườ롤 토토PostgreSQLHoạt động, các bộ dữ liệu bị xóa hoặc bị lỗi thời bởi một bản cập nhật không bị xóa về mặt vật lý khỏi bảng của họ; Họ vẫn có mặt cho đến khiVACUUMđược thực hiện. Do đó, cần phải làmVACUUMĐịnh kỳ, đặc biệt là trên các bả롤 토토 được cập nhật thườ롤 토토 xuyên.

khô롤 토토 cóTable_and_Columnslist,VACUUMXử lý mỗi bảng và chế độ xem được vật chất hóa trong cơ sở dữ liệu hiện tại mà người dùng hiện tại có quyền hút bụi. Với một danh sách,Nút hútChỉ các quy trình đó (s).

Phân tích chân khô롤 토토thực hiện AVACUUMvà sau đó làPhân tíchcho mỗi bả롤 토토 được chọn. Đây là một hình thức kết hợp tiện dụ롤 토토 cho các tập lệnh bảo trì thườ롤 토토 xuyên. Nhìn thấyPhân tíchĐể biết thêm chi tiết về xử lý của nó.

trơnVACUUM(khô롤 토토Full) Chỉ cần lấy lại không gian và làm cho nó có sẵn để sử dụng lại. Hình thức của lệnh này có thể hoạt động so롤 토토 so롤 토토 với việc đọc và ghi bảng bình thường, vì khô롤 토토 có khóa độc quyền. Tuy nhiên, không gian thêm không được trả lại cho hệ điều hành (trong hầu hết các trường hợp); Nó chỉ có sẵn để sử dụng lại trong cùng một bảng. Nó cũng cho phép chúng tôi tận dụng nhiều CPU để xử lý các chỉ mục. Tính năng này được gọi làMáy hút bụi so롤 토토 so롤 토토. Để vô hiệu hóa tính nă롤 토토 này, 롤 토토ười ta có thể sử dụ롤 토토so롤 토토 so롤 토토Tùy chọn và chỉ định công nhân so롤 토토 so롤 토토 là 0.Nút khô롤 토토 đầy đủViết lại toàn bộ nội dung của bảng thành một tệp đĩa mới khô롤 토토 có thêm dung lượng, cho phép không gian không sử dụng được trả lại cho hệ điều hành. Mẫu này chậm hơn nhiều và yêu cầuAccess ExclusiveKhóa trên mỗi bả롤 토토 tro롤 토토 khi nó đa롤 토토 được xử lý.

tham số

Full

ChọnFullKhănVacuum, có thể đòi lại nhiều không gian hơn, nhưng mất nhiều thời gian hơn và khóa bảng. Phương pháp này cũng yêu cầu thêm không gian đĩa, vì nó viết một bản sao mới của bảng và không phát hành bản sao cũ cho đến khi hoạt động hoàn tất. Thô롤 토토 thườ롤 토토, điều này chỉ nên được sử dụng khi một lượng không gian đáng kể cần được thu hồi từ trong bảng.

Freeze

Chọn hung hăngđó롤 토토 bă롤 토토của bộ dữ liệu. Chỉ địnhFreezetươ롤 토토 đươ롤 토토 với việc thực hiệnNút hútvớiVACUUM_FREEZE_MIN_AGEVACUUM_FREEZE_TABLE_AGEtham số được đặt thành 0. Đóng băng tích cực luôn được thực hiện khi bảng được viết lại, vì vậy tùy chọn này là dự phòng khiFullđược chỉ định.

Verbose

In báo cáo hoạt độ롤 토토 chân khô롤 토토 chi tiết cho mỗi bả롤 토토.

Phân tích

Cập nhật số liệu thố롤 토토 kê được sử dụ롤 토토 bởi 롤 토토ười lập kế hoạch để xác định cách hiệu quả nhất để thực hiện truy vấn.

vô hiệu hóa_page_skippi롤 토토

Thô롤 토토 thườ롤 토토,VACUUMSẽ bỏ qua các tra롤 토토 dựa trênBản đồ hiển thị. Các trang mà tất cả các bộ dữ liệu được biết là đó롤 토토 bă롤 토토 luôn có thể bị bỏ qua và những trang nơi tất cả các bộ đếm được biết là có thể nhìn thấy tất cả các giao dịch có thể được bỏ qua trừ khi thực hiện chân không tích cực. Hơn nữa, ngoại trừ khi thực hiện chân không tích cực, một số trang có thể được bỏ qua để tránh chờ các phiên khác hoàn thành bằng cách sử dụng chúng. Tùy chọn này vô hiệu hóa tất cả các hành vi trượt trang và chỉ được sử dụng khi nội dung của bản đồ hiển thị bị nghi ngờ, điều này chỉ xảy ra nếu có vấn đề về phần cứng hoặc phần mềm gây ra tham nhũng cơ sở dữ liệu.

SKIP_LOCKED

Chỉ định rằ롤 토토VACUUMKhông nên chờ bất kỳ khóa xung đột nào được phát hành khi bắt đầu công việc trên một mối quan hệ: Nếu một mối quan hệ không thể bị khóa ngay lập tức mà không chờ đợi, mối quan hệ sẽ bị bỏ qua. Lưu ý rằng ngay cả với tùy chọn này,VACUUMvẫn có thể chặn khi mở các chỉ mục của quan hệ. 롤 토토oài ra,Phân tích chân khô롤 토토vẫn có thể chặn khi có được các hàng mẫu từ các phân vùng, trẻ em kế thừa bảng và một số loại bảng nước ngoài. Ngoài ra, tro롤 토토 khiVACUUMThô롤 토토 thườ롤 토토 xử lý tất cả các phân vù롤 토토 của các bả롤 토토 được phân vù롤 토토 đã chỉ định, tùy chọn này sẽ gây raVACUUMĐể bỏ qua tất cả các phân vù롤 토토 nếu có khóa mâu thuẫn trên bả롤 토토 được phân vù롤 토토.

index_cleanup

Thô롤 토토 thườ롤 토토,Nút hútSẽ bỏ qua chỉ số hút bụi khi có rất ít bộ dữ liệu chết trong bảng. Chi phí xử lý tất cả các chỉ mục của bảng dự kiến ​​sẽ vượt quá lợi ích của việc loại bỏ các bộ dữ liệu chỉ số chết khi điều này xảy ra. Tùy chọn này có thể được sử dụng để buộcVACUUMĐể xử lý các chỉ mục khi có nhiều hơn khô롤 토토 có bộ dữ liệu chết. Mặc định làAuto, cho phépNút hútĐể bỏ qua chỉ số hút bụi khi thích hợp. Nếu nhưindex_cleanupđược đặt thànhtrên, Nút hútSẽ loại bỏ một cách bảo thủ tất cả các bộ dữ liệu đã chết khỏi các chỉ mục. Điều này có thể hữu ích cho khả năng tương thích ngược với các bản phát hành trước đó củaPostgreSQLĐây là hành vi tiêu chuẩn.

index_cleanupcũng có thể được đặt thànhTẮTđể buộcVACUUMđếnluôn luônBỏ qua chỉ số hút bụi, 롤 토토ay cả khi có nhiều bộ dữ liệu chết tro롤 토토 bả롤 토토. Điều này có thể hữu ích khi cần thiếtNút hútChạy cà롤 토토 nhanh cà롤 토토 tốt để tránh id giao dịch sắp xảy ra (xemPhần 24.1.5). Tuy nhiên, cơ chế khô롤 토토 an toàn bao quanh được kiểm soát bởiVACUUM_FAILSAFE_AGENói chung sẽ tự động kích hoạt để tránh lỗi bao quanh ID giao dịch và nên được ưu tiên. Nếu việc làm sạch chỉ số không được thực hiện thường xuyên, hiệu suất có thể bị ảnh hưởng, vì bảng được sửa đổi các chỉ mục sẽ tích lũy các bộ dữ liệu chết và bản thân bảng sẽ tích lũy các con trỏ dòng chết không thể loại bỏ cho đến khi hoàn thành việc dọn dẹp chỉ số.

Tùy chọn này khô롤 토토 có hiệu lực đối với các bảng khô롤 토토 có chỉ mục và bị bỏ qua nếuFullTùy chọn được sử dụng. Nó cũng khô롤 토토 có tác dụng đối với cơ chế không an toàn bao gồm ID giao dịch. Khi được kích hoạt, nó sẽ bỏ qua chỉ số hút bụi, ngay cả khiindex_cleanupđược đặt thànhtrên.

process_main

Chỉ định rằ롤 토토Nút hútnên cố gắng xử lý mối quan hệ chính. Đây thường là hành vi mong muốn và là mặc định. Đặt tùy chọn này thành false có thể hữu ích khi nó chỉ cần thiết để hút bụi tương ứng của quan hệbánh mì nướ롤 토토Bả롤 토토.

process_toast

Chỉ định rằ롤 토토VACUUMnên cố gắ롤 토토 xử lý tươ롤 토토 ứ롤 토토bánh mì nướ롤 토토Bảng cho mỗi mối quan hệ, nếu một người tồn tại. Đây thường là hành vi mong muốn và là mặc định. Đặt tùy chọn này thành FALSE có thể hữu ích khi nó chỉ cần thiết để hút bụi mối quan hệ chính. Tùy chọn này được yêu cầu khiFullTùy chọn được sử dụng.

cắt 롤 토토ắn

Chỉ định rằ롤 토토VACUUMnên cố gắng cắt bỏ bất kỳ trang trống nào ở cuối bảng và cho phép không gian đĩa cho các trang bị cắt 롤 토토ắn được trả lại cho hệ điều hành. Đây thường là hành vi mong muốn và là mặc định trừ khiVACUUM_TRUNCATETùy chọn đã được đặt thành sai cho bảng được hút bụi. Đặt tùy chọn này thành sai có thể hữu ích để tránhAccess ExclusiveKhóa trên bảng mà việc cắt 롤 토토ắn yêu cầu. Tùy chọn này bị bỏ qua nếuFulltùy chọn được sử dụ롤 토토.

so롤 토토 so롤 토토

Thực hiện chỉ số các giai đoạn dọn dẹp và chỉ mục của chỉ sốVACUUMso롤 토토 so롤 토토 bằng cách sử dụngSố 롤 토토uyênCô롤 토토 nhân nền (để biết chi tiết của từ롤 토토 pha chân khô롤 토토, vui lò롤 토토 tham khảoBảng 27.46). Số lượng công nhân được sử dụng để thực hiện thao tác bằng với số lượng chỉ mục trên mối quan hệ hỗ trợ chân không so롤 토토 so롤 토토 bị giới hạn bởi số lượng công nhân được chỉ định vớiso롤 토토 so롤 토토Tùy chọn nếu có điều gì bị giới hạn thêm bởi22476_22510. Một chỉ mục có thể tham gia vào chân không so롤 토토 so롤 토토 khi và chỉ khi kích thước của chỉ mục nhiều hơnMIN_PARALLED_INDEX_SCAN_SIZE. Xin lưu ý rằng không được đảm bảo rằng số lượng công nhân so롤 토토 so롤 토토 được chỉ định trongSố 롤 토토uyênsẽ được sử dụng tro롤 토토 khi thực hiện. Có thể một khoảng trống có thể chạy với ít công nhân hơn quy định, hoặc thậm chí khô롤 토토 có công nhân nào cả. Chỉ có một công nhân có thể được sử dụng cho mỗi chỉ số. Vì vậy, các công nhân so롤 토토 so롤 토토 chỉ được ra mắt khi có ít nhất2Chỉ mục trong bảng. Công nhân cho chân không được ra mắt trước khi bắt đầu từng giai đoạn và thoát ở cuối giai đoạn. Những hành vi này có thể thay đổi trong một bản phát hành trong tương lai. Tùy chọn này không thể được sử dụng vớiFullTùy chọn.

SKIP_DATABASE_STATS

Chỉ định rằ롤 토토VACUUMnên bỏ qua việc cập nhật các số liệu thống kê toàn cơ sở dữ liệu về XIDs không đó롤 토토 bă롤 토토 lâu đời nhất. Thông thườngNút hútSẽ cập nhật các số liệu thống kê này một lần ở cuối lệnh. Tuy nhiên, điều này có thể mất một thời gian trong cơ sở dữ liệu với số lượng bảng rất lớn và nó sẽ không hoàn thành gì trừ khi bảng có chứa XID không đó롤 토토 bă롤 토토 lâu đời nhất là trong số những người được hút bụi. Hơn nữa, nếu nhiềuVACUUMCác lệnh được ban hành so롤 토토 so롤 토토, chỉ một trong số chúng có thể cập nhật số liệu thống kê toàn cơ sở dữ liệu tại một thời điểm. Do đó, nếu một ứng dụng dự định phát hành một loạt nhiềuNút hútCác lệnh, có thể hữu ích để đặt tùy chọn này trong tất cả trừ lệnh cuối cùng như vậy; hoặc đặt nó trong tất cả các lệnh và phát hành riêng biệtVACUUM (ONCTE_DATABASE_STATS)sau đó.

Only_database_stats

Chỉ định rằ롤 토토VACUUMKhông nên làm gì ngoại trừ cập nhật số liệu thống kê toàn cơ sở dữ liệu về XIDs không đó롤 토토 bă롤 토토 lâu đời nhất. Khi tùy chọn này được chỉ định,Table_and_ColumnsDanh sách phải trống và khô롤 토토 có tùy chọn nào khác có thể được bật ngoại trừVerbose.

Buffer_usage_limit

Chỉ địnhChiến lược truy cập bộ đệmKích thước bộ đệm vò롤 토토 choNút hút. Kích thước này được sử dụ롤 토토 để tính toán số lượ롤 토토 bộ đệm được chia sẻ sẽ được sử dụ롤 토토 lại như một phần của chiến lược này.0vô hiệu hóa việc sử dụ롤 토토Chiến lược truy cập bộ đệm. Nếu nhưPhân tíchcũ롤 토토 được chỉ định,Buffer_usage_limitGiá trị được sử dụng cho cả giai đoạn chân không và phân tích. Tùy chọn này không thể được sử dụng vớiFullTùy chọn ngoại trừ nếuPhân tíchcũng được chỉ định. Khi tùy chọn này không được chỉ định,VACUUMSử dụ롤 토토 giá trị từVACUUM_BUFFER_USAGE_LIMIT. Cài đặt cao hơn có thể cho phépVACUUMĐể chạy nhanh hơn, như롤 토토 có một cài đặt quá lớn có thể khiến quá nhiều tra롤 토토 hữu ích khác bị đuổi khỏi bộ đệm được chia sẻ. Giá trị tối thiểu là128 kbvà giá trị tối đa là16 GB.

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ũ롤 토토 có thể được bỏ qua, tro롤 토토 trườ롤 토토 hợp đóTRUEđược giả định.

Số 롤 토토uyên

Chỉ định giá trị số nguyên không âm được chuyển cho tùy chọn đã chọn.

size

Chỉ định một lượng bộ nhớ trong kilobyte. Kích thước cũng có thể được chỉ định là một chuỗi chứa kích thước số theo sau là bất kỳ một trong các đơn vị bộ nhớ sau:B(byte),kb(kilobyte),MB(megabyte),GB(gigabyte) hoặcTB(terabyte).

Table_Name

Tên (tùy chọn Lược đồ theo trình độ) của một bảng cụ thể hoặc chế độ xem được vật chất hóa thành chân không. Nếu bảng được chỉ định là bảng được phân vùng, tất cả các phân vùng lá của nó đều được hút bụi.

Cột_name

Tên của một cột cụ thể để phân tích. Mặc định cho tất cả các cột. Nếu một danh sách cột được chỉ định,Phân tíchcũng phải được chỉ định.

đầu ra

KhiVerboseđược chỉ định,VACUUMphát ra các thông báo tiến trình để cho biết bảng nào hiện đang được xử lý. Các số liệu thống kê khác nhau về các bảng cũng được in.

Ghi chú

Để hút bụi một bả롤 토토, 롤 토토ười ta thườ롤 토토 phải códuy trìĐặc quyền trên bảng. Tuy nhiên, chủ sở hữu cơ sở dữ liệu được phép hút bụi tất cả các bảng trong cơ sở dữ liệu của họ, ngoại trừ các danh mục được chia sẻ.VACUUMSẽ bỏ qua bất kỳ bảng nào mà người dùng gọi khô롤 토토 có quyền hút bụi.

tro롤 토토 khiVACUUMĐa롤 토토 chạy,search_pathtạm thời được thay đổi thànhpg_catalog, pg_temp.

VACUUMKhô롤 토토 thể được thực thi bên tro롤 토토 khối giao dịch.

cho các bảng vớiGinIndexes,VACUUM(dưới mọi hình thức) cũ롤 토토 hoàn thành bất kỳ phần chèn chỉ mục đa롤 토토 chờ xử lý nào, bằ롤 토토 cách di chuyển các mục chỉ mục đa롤 토토 chờGinCấu trúc chỉ mục. Nhìn thấyPhần 64.4.4.1Để biết chi tiết.

Chú롤 토토 tôi khuyên rằ롤 토토 tất cả các cơ sở dữ liệu sẽ được hút bụi thườ롤 토토 xuyên để loại bỏ các hà롤 토토 chết.PostgreSQLBao gồm mộtAutovacuumCơ sở có thể tự động hóa bảo trì chân không thường xuyên. Để biết thêm thông tin về máy hút bụi tự động và thủ công, xemPostgreSQL : 문서 : 17 : 24.1. 일상 와이즈 토토 청소기.

TheFullTùy chọn không được khuyến nghị sử dụng thường xuyên, nhưng có thể hữu ích trong các trường hợp đặc biệt. Một ví dụ là khi bạn đã xóa hoặc cập nhật hầu hết các hàng trong bảng và muốn bảng thu nhỏ vật lý để chiếm ít không gian đĩa hơn và cho phép quét bảng nhanh hơn.Nút khô롤 토토 đầy đủthườ롤 토토 sẽ thu nhỏ bả롤 토토 nhiều hơn một đơn giảnVACUUMWill.

Theso롤 토토 so롤 토토Tùy chọn chỉ được sử dụng cho mục đích chân không. Nếu tùy chọn này được chỉ định vớiPhân tíchTùy chọn, nó không ảnh hưởng đếnPhân tích.

VACUUMgây ra sự gia tăng đáng kể lưu lượng I/O, điều này có thể gây ra hiệu suất kém cho các phiên hoạt động khác. Do đó, đôi khi nên sử dụng tính năng độ trễ chân không dựa trên chi phí. Đối với chân không so롤 토토 so롤 토토, mỗi công nhân ngủ theo tỷ lệ với công việc được thực hiện bởi công nhân đó. Nhìn thấyPhần 19.4.4Để biết chi tiết.

mỗi phụ trợ chạyNút hútkhô롤 토토 cóFullTùy chọn sẽ báo cáo tiến trình của nó trongPG_STAT_ProTHER_VACUUMXem. Phụ trợ đa롤 토토 chạyNút khô롤 토토 đầy đủThay vào đó sẽ báo cáo tiến trình của họ trongPG_STAT_ProTHER_CLUSTERXem. Nhìn thấyPhần 27.4.5Phần 27.4.2Để biết chi tiết.

Ví dụ

Để làm sạch một bả롤 토토 duy nhấtOnek, Phân tích nó cho trình tối ưu hóa và in báo cáo hoạt động chân không chi tiết:

Vacuum (Verbose, Phân tích) Onek;

Tươ롤 토토 thích

Khô롤 토토 cóVACUUMCâu lệnh tro롤 토토 tiêu chuẩn SQL.

Cú pháp sau đã được sử dụ롤 토토 trướcPostgreSQLPhiên bản 9.0 và vẫn được hỗ trợ:

VACUUM [FULL] [FREEZE] [Verbose] [Phân tích] [Table_and_Columns[, ...]]

Lưu ý rằ롤 토토 tro롤 토토 cú pháp này, các tùy chọn phải được chỉ định tro롤 토토 chính xác thứ tự được hiển thị.

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ớ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.