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 kèo bóng đá việt nam đượ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 / 7.3 / 7.2
Tài kèo bóng đá việt nam này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong kèo bóng đá việt nam phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

23.1. kèo bóng đá việt nam định kỳ

PostgreSQLCơ sở dữ kèo bóng đá việt nam yêu cầu Bảo trì định kỳ được gọi làkèo bóng đá việt nam. Đối với nhiều cài đặt, nó là đủ để để kèo bóng đá việt nam được thực hiện bởiDaemon Autovacuum,, được mô tả trongPhần 23.1.5. Bạn có thể cần điều chỉnh các tham số tự động hóa được mô tả ở đó để Có được kết quả tốt nhất cho tình huống của bạn. Một số cơ sở dữ kèo bóng đá việt nam Quản trị viên sẽ muốn bổ sung hoặc thay thế trình nền các hoạt động được quản lý thủ côngVACUUMkèo bóng đá việt nam lệnh, thường được thực thi theo lịch trình củacronhoặcTrình lập lịch tác vụScript. Để thiết lập Khắc phục kèo bóng đá việt nam theo cách thủ công đúng cách, nó là điều cần thiết để Hiểu các vấn đề được thảo luận trong một vài tiểu mục tiếp theo. Các quản trị viên dựa vào tự động hóa vẫn có thể muốn lướt qua tài liệu này để giúp họ hiểu và điều chỉnh tự động hóa.

23.1.1. Khái niệm cơ bản kèo bóng đá việt nam

PostgreSQL'sVACUUMLệnh phải xử lý mỗi bảng trên cơ sở thường xuyên vì nhiều lý do:

  1. Để phục hồi hoặc tái sử dụng kèo bóng đá việt nam gian đĩa bị chiếm bởi cập nhật hoặc cập nhật hàng đã xóa.

  2. Để cập nhật số kèo bóng đá việt nam thống kê dữ kèo bóng đá việt nam được sử dụng bởiPostgreSQLTruy vấn kế hoạch.

  3. Để bảo vệ chống lại việc mất dữ kèo bóng đá việt nam rất cũ doID giao dịch bao quanh.

Mỗi lý do này ra lệnh thực hiệnVACUUMHoạt động có tần số khác nhau và Phạm vi, như được giải thích trong kèo bóng đá việt nam tiểu mục sau.

Có hai biến thể củaVACUUM: tiêu chuẩnNút kèo bóng đá việt namNút kèo bóng đá việt nam đầy đủ. Vacuum ĐẦYcó thể lấy lại nhiều kèo bóng đá việt nam gian đĩa hơn nhưng chạy nhiều hơn chậm. Ngoài ra, dạng tiêu chuẩn củaVACUUMCó thể chạy song song với sản xuất Hoạt động cơ sở dữ kèo bóng đá việt nam. (Các lệnh nhưChọn, Chèn, Cập nhậtXóasẽ tiếp tục hoạt động bình thường, mặc dù bạn sẽ kèo bóng đá việt nam thể sửa đổi định nghĩa của bảng với các lệnh nhưBảng thay đổiTrong khi nó đang được kèo bóng đá việt nam.)Vacuum ĐẦYYêu cầu khóa độc quyền trên bảng nó đang hoạt động trên, và do đó kèo bóng đá việt nam thể được thực hiện song song với việc sử dụng khác của bàn. Nói chung, do đó, các quản trị viên nên phấn đấu Để sử dụng tiêu chuẩnVACUUMvà tránhNút kèo bóng đá việt nam đầy đủ.

VACUUMTạo một số lượng đáng kể lưu lượng I/O, có thể gây ra hiệu suất kém cho người khác Phiên hoạt động. Có các tham số cấu hình có thể điều chỉnh để giảm tác động hiệu suất của nền Nút kèo bóng đá việt nam - xemPhần 18.4.3.

23.1.2. Phục hồi đĩa kèo bóng đá việt nam gian

inPostgreSQL, anCập nhậthoặcXóacủa một hàng kèo bóng đá việt nam ngay lập tức loại bỏ Phiên bản cũ của hàng. Cách tiếp cận này là cần thiết để đạt được Lợi ích của kiểm soát đồng thời đa dạng (MVCC, xemChương 13): kèo bóng đá việt nam được xóa phiên bản hàng trong khi nó vẫn còn có khả năng hiển thị cho các giao dịch khác. Nhưng cuối cùng, một Phiên bản hàng đã lỗi thời hoặc bị xóa kèo bóng đá việt nam còn quan tâm đến bất kỳ giao dịch. kèo bóng đá việt nam gian mà nó chiếm phải sau đó phải được khai hoang cho tái sử dụng bởi các hàng mới, để tránh sự phát triển kèo bóng đá việt nam giới hạn của kèo bóng đá việt nam gian đĩa yêu cầu. Điều này được thực hiện bằng cách chạyVACUUM.

Hình thức tiêu chuẩn củaVACUUMXóa Phiên bản hàng chết trong bảng và chỉ mục và đánh dấu kèo bóng đá việt nam gian Có sẵn để tái sử dụng trong tương lai. Tuy nhiên, nó sẽ kèo bóng đá việt nam trả lại kèo bóng đá việt nam gian cho hệ điều hành, ngoại trừ trong trường hợp đặc biệt trong đó một hoặc nhiều trang ở cuối bàn trở nên hoàn toàn miễn phí và một khóa bảng độc quyền có thể dễ dàng có được. TRONG sự tương phản,Nút kèo bóng đá việt nam đầy đủtích cực Bảng Compact bằng cách viết một phiên bản hoàn chỉnh mới của bảng Tệp kèo bóng đá việt nam có kèo bóng đá việt nam gian chết. Điều này giảm thiểu kích thước của bảng, Nhưng có thể mất nhiều thời gian. Nó cũng yêu cầu thêm kèo bóng đá việt nam gian đĩa cho Bản sao mới của bảng, cho đến khi hoạt động hoàn thành.

Mục tiêu thông thường của việc kèo bóng đá việt nam thông thường là thực hiện tiêu chuẩnNút kèo bóng đá việt namS thường đủ để tránh cầnNút kèo bóng đá việt nam đầy đủ. Daemon Autovacuum cố gắng làm việc theo cách này, và trên thực tế sẽ kèo bóng đá việt nam bao giờ phát hànhNút kèo bóng đá việt nam đầy đủ. Trong cách tiếp cận này, ý tưởng không phải là giữ các bảng ở kích thước tối thiểu của chúng, mà là Duy trì việc sử dụng trạng thái ổn định của không gian đĩa: Mỗi bảng chiếm Không gian tương đương với kích thước tối thiểu của nó cộng với nhiều không gian được sử dụng hết giữa máy kèo bóng đá việt nam. Mặc dùNút kèo bóng đá việt nam đầy đủcó thể được sử dụng để thu nhỏ lại một cái bàn trở lại với kích thước tối thiểu của nó và trả lại kèo bóng đá việt nam gian đĩa cho hoạt động hệ thống, kèo bóng đá việt nam có nhiều điểm trong việc này nếu bảng sẽ chỉ phát triển trở lại trong tương lai. Do đó, tiêu chuẩn thường xuyên vừa phảiNút kèo bóng đá việt namChạy là một cách tiếp cận tốt hơn so với kèo bóng đá việt nam thường xuyênNút kèo bóng đá việt nam đầy đủChạy cho duy trì kèo bóng đá việt nam bảng được cập nhật mạnh mẽ.

Một số quản trị viên thích tự lên lịch kèo bóng đá việt nam, Ví dụ, làm tất cả các công việc vào ban đêm khi tải thấp. Các khó khăn khi thực hiện kèo bóng đá việt nam theo lịch trình cố định là nếu một bảng có một sự tăng đột biến trong hoạt động cập nhật, nó có thể bị bồng bềnh đến mứcVacuum ĐẦYthực sự cần thiết để đòi lại không gian. Sử dụng Daemon Autovacuum làm giảm bớt vấn đề này, kể từ khi daemon Lịch trình kèo bóng đá việt nam tự động để đáp ứng với hoạt động cập nhật. Không khôn ngoan khi vô hiệu hóa hoàn toàn daemon trừ khi bạn có một khối lượng công việc cực kỳ có thể dự đoán được. Một thỏa hiệp có thể là để đặt các tham số của daemon để nó chỉ phản ứng với hoạt động cập nhật nặng bất thường, do đó giữ mọi thứ khỏi Ra khỏi tầm tay, trong khi lên lịchNút kèo bóng đá việt nams dự kiến ​​sẽ thực hiện phần lớn công việc Khi tải là điển hình.

Đối với những người không sử dụng autovacuum, một cách tiếp cận điển hình là Lên lịch cho toàn cơ sở dữ kèo bóng đá việt namNút kèo bóng đá việt namMột khi a ngày trong thời gian sử dụng thấp, được bổ sung bởi thường xuyên hơn kèo bóng đá việt nam của các bảng được cập nhật nặng nề khi cần thiết. (Một số cài đặt với tỷ lệ cập nhật cực kỳ cao kèo bóng đá việt nam của họ bàn bận rộn nhất thường xuyên như một vài phút.) Nếu bạn có Nhiều cơ sở dữ liệu trong một cụm, đừng quênVACUUMmỗi cái; Chương trìnhVACUUMDBcó thể hữu ích.

Tip:trơnVACUUMCó thể kèo bóng đá việt nam thỏa đáng khi một bảng chứa số lượng lớn Phiên bản Dead Row là kết quả của bản cập nhật hoặc xóa lớn hoạt động. Nếu bạn có một cái bàn như vậy và bạn cần phải đòi lại kèo bóng đá việt nam gian đĩa dư mà nó chiếm, bạn sẽ cần sử dụngNút kèo bóng đá việt nam đầy đủhoặc cách kháccụmhoặc một trong những kèo bóng đá việt nam biến thể viết bảng củaBảng thay đổi. Những lệnh này Viết lại toàn bộ bản sao mới của bảng và xây dựng mới chỉ mục cho nó. Tất cả các tùy chọn này yêu cầu khóa độc quyền. Lưu ý rằng họ cũng tạm thời sử dụng dung lượng đĩa bổ sung xấp xỉ bằng kích thước của bảng, vì cái cũ bản sao của bảng và chỉ mục kèo bóng đá việt nam thể được phát hành cho đến khi những cái mới đã hoàn thành.

Tip:Nếu bạn có một bảng có toàn bộ nội dung bị xóa trên cơ sở định kỳ, xem xét thực hiện nó vớicắt ngắnthay vì sử dụngXóatheo sau làNút kèo bóng đá việt nam. cắt ngắnXóa toàn bộ nội dung của bảng ngay lập tức, mà kèo bóng đá việt nam yêu cầu tiếp theoNút kèo bóng đá việt namhoặcVacuum ĐẦYĐể đòi lại kèo bóng đá việt nam gian đĩa chưa sử dụng. Các Nhược điểm là ngữ nghĩa MVCC nghiêm ngặt bị vi phạm.

23.1.3. Cập nhật kế hoạch Thống kê

ThePostgreSQLTruy vấn Người lập kế hoạch dựa vào thông tin thống kê về nội dung của kèo bóng đá việt nam bảng để tạo ra kèo bóng đá việt nam kế hoạch tốt cho kèo bóng đá việt nam truy vấn. Những cái này Thống kê được thu thập bởiPhân tíchlệnh, có thể được gọi bởi chính nó hoặc là một bước tùy chọn trongNút kèo bóng đá việt nam. Điều quan trọng là phải có một cách hợp lý Thống kê chính xác, nếu không thì các lựa chọn kém về kế hoạch có thể làm suy giảm hiệu suất cơ sở dữ kèo bóng đá việt nam.

Daemon Autovacuum, nếu được bật, sẽ tự động phát hànhPhân tíchlệnh bất cứ khi nào nội dung của một bảng đã thay đổi đủ. Tuy nhiên, quản trị viên có thể thích dựa vào lịch trình thủ côngPhân tíchhoạt động, đặc biệt nếu nó được biết đến Hoạt động cập nhật đó trên bảng sẽ không ảnh hưởng đến số kèo bóng đá việt nam thống kê của"thú vị"Cột. Daemon Lịch trìnhPhân tíchNghiêm túc như a chức năng của số lượng hàng được chèn hoặc cập nhật; nó có kèo bóng đá việt nam kiến thức về việc điều đó sẽ dẫn đến thống kê có ý nghĩa thay đổi.

Như với việc kèo bóng đá việt nam để phục hồi không gian, các bản cập nhật thường xuyên của Thống kê hữu ích hơn cho các bảng được cập nhật nhiều hơn so với hiếm khi được cập nhật. Nhưng ngay cả đối với một bảng được cập nhật nặng nề, Có thể không cần cập nhật thống kê nếu Phân phối thống kê của dữ liệu không thay đổi nhiều. MỘT Nguyên tắc đơn giản là suy nghĩ về mức tối thiểu và Giá trị tối đa của các cột trong bảng thay đổi. Ví dụ, MộtDấu thời gianCột chứa thời gian Cập nhật hàng sẽ có giá trị tối đa tăng liên tục như các hàng được thêm và cập nhật; Một cột như vậy có thể sẽ cần Cập nhật số kèo bóng đá việt nam thống kê thường xuyên hơn, giả sử, một cột chứa URL cho các trang truy cập trên một trang web. Cột URL có thể nhận các thay đổi như thường xuyên, nhưng phân phối thống kê của các giá trị của nó có thể thay đổi tương đối chậm.

Có thể chạyPhân tíchtrên các bảng cụ thể và thậm chí chỉ các cột cụ thể của bảng, vì vậy Tính linh hoạt tồn tại để cập nhật một số số kèo bóng đá việt nam thống kê nhiều hơn thường xuyên hơn những người khác nếu ứng dụng của bạn yêu cầu nó. TRONG Thực hành, tuy nhiên, tốt nhất là chỉ cần phân tích toàn bộ cơ sở dữ kèo bóng đá việt nam, vì nó là một hoạt động nhanh.Phân tíchSử dụng lấy mẫu ngẫu nhiên thống kê của kèo bóng đá việt nam hàng của bảng thay vì đọc từng hàng.

Tip:Mặc dù điều chỉnh trên mỗi cộtPhân tíchtần số có thể không hiệu quả, bạn có thể thấy đáng để làm mỗi cột Điều chỉnh mức độ chi tiết của các số kèo bóng đá việt nam thống kê được thu thập bởiPhân tích. Cột mà được sử dụng nhiều trongWHEREmệnh đề và có các phân phối dữ kèo bóng đá việt nam không đều có thể yêu cầu Một biểu đồ dữ kèo bóng đá việt nam hạt mịn hơn các cột khác. Nhìn thấyThay đổi bảng thống kê, hoặc Thay đổi mặc định toàn cơ sở dữ kèo bóng đá việt nam bằng cách sử dụngdefault_statistic_targetTham số cấu hình.

Ngoài ra, theo mặc định có sẵn thông tin hạn chế về tính chọn lọc của kèo bóng đá việt nam chức năng. Tuy nhiên, nếu bạn tạo một chỉ mục biểu thức sử dụng cuộc gọi chức năng, hữu ích Thống kê sẽ được thu thập về chức năng, có thể cải thiện đáng kể kèo bóng đá việt nam kế hoạch truy vấn sử dụng biểu thức chỉ mục.

23.1.4. Ngăn chặn ID giao dịch Thất bại trong bao quanh

POSTGRESQL's MVCC ngữ nghĩa giao dịch phụ thuộc vào việc có thể so sánh ID giao dịch (XID) Số: Phiên bản hàng có chèn xid lớn hơn XID giao dịch hiện tại là"Trong tương lai"và kèo bóng đá việt nam thể hiển thị cho dòng điện giao dịch. Nhưng vì ID giao dịch có quy mô hạn chế (32 bit) một cụm chạy trong một thời gian dài (hơn 4 tỷ giao dịch) sẽ bị ảnh hưởngID giao dịch Wraparound: Bộ đếm XID kết thúc với số không, và tất cả về một giao dịch bất ngờ trong quá khứ dường như là Tương lai - có nghĩa là sản lượng của họ trở nên vô hình. TRONG Ngắn, mất dữ liệu thảm khốc. (Trên thực tế, dữ liệu vẫn còn ở đó, nhưng đó là sự thoải mái lạnh lẽo nếu bạn không thể nhận được nó.) Tránh điều này, cần phải kèo bóng đá việt nam mỗi bàn trong mỗi cơ sở dữ liệu ít nhất một lần mỗi hai lần giao dịch.

Lý do kèo bóng đá việt nam định kỳ giải quyết vấn đề là cái đóPostgreSQLDự trữ a XID đặc biệt nhưfrozenxid. XID này kèo bóng đá việt nam tuân theo các quy tắc so sánh XID thông thường và luôn luôn Được coi là cũ hơn mọi XID thông thường. XID bình thường là so sánh bằng cách sử dụng modulo-232Số học. Điều này có nghĩa là rằng với mỗi xid bình thường, có hai tỷ xid là"cũ"và hai tỷ đó là"Mới hơn"; Một cách khác để nói nó là rằng kèo bóng đá việt nam gian XID bình thường là hình tròn kèo bóng đá việt nam có điểm cuối. Do đó, một khi một phiên bản hàng đã được tạo với một Xid bình thường cụ thể, phiên bản hàng sẽ xuất hiện"Trong quá khứ"cho hai người tiếp theo Hàng tỷ giao dịch, bất kể chúng tôi đang nói chuyện bình thường nào Về. Nếu phiên bản hàng vẫn tồn tại sau hơn hai hàng tỷ giao dịch, nó sẽ đột nhiên xuất hiện trong tương lai. Để ngăn chặn điều này, kèo bóng đá việt nam phiên bản hàng cũ phải được gán lại XIDfrozenxidĐôi khi trước khi họ đạt được dấu hiệu hai tỷ chuyển giao. Một khi họ là được chỉ định xid đặc biệt này, chúng sẽ xuất hiện"Trong quá khứ"Đối với tất cả kèo bóng đá việt nam giao dịch bình thường Bất kể kèo bóng đá việt nam vấn đề bao gồm, và kèo bóng đá việt nam phiên bản hàng như vậy sẽ Có giá trị cho đến khi bị xóa, bất kể đó là bao lâu. Cái này Việc chỉ định lại Xids cũ được xử lý bởiNút kèo bóng đá việt nam.

VACUUM_FREEZE_MIN_AGEĐiều khiển giá trị xid phải bao nhiêu trước khi nó được thay thế vớifrozenxid. Giá trị lớn hơn của điều này thiết lập bảo tồn thông tin giao dịch lâu hơn, trong khi Các giá trị nhỏ hơn làm tăng số lượng giao dịch có thể Băng qua trước bàn phải được kèo bóng đá việt nam lại.

Nút kèo bóng đá việt namThông thường bỏ qua các trang đó kèo bóng đá việt nam có bất kỳ phiên bản hàng chết nào, nhưng những trang đó vẫn có thể Có các phiên bản hàng với các giá trị XID cũ. Để đảm bảo tất cả các xids cũ đã được thay thế bởifrozenxid, a quét toàn bộ bảng là cần thiết.VACUUM_FREEZE_TABLE_AGEđiều khiển khiVACUUMLàm điều đó: a toàn bộ bàn quét bị ép buộc nếu bảng chưa hoàn toàn được quét choVACUUM_FREEZE_TABLE_AGEtrừVACUUM_FREEZE_MIN_AGEGiao dịch. Đặt nó thành 0 lựcVACUUMĐể luôn quét tất cả kèo bóng đá việt nam trang, một cách hiệu quả Bỏ qua bản đồ khả năng hiển thị.

Thời gian tối đa mà một bảng có thể kèo bóng đá việt nam có Hàng tỷ giao dịch trừVACUUM_FREEZE_MIN_AGEGiá trị tại thời điểmVACUUMquét cuối cùng toàn bộ bảng. Nếu nó không bị ảnh hưởng lâu hơn thế, mất dữ kèo bóng đá việt nam có thể kết quả. Để đảm bảo rằng điều này không xảy ra, Autovacuum được gọi trên bất kỳ bảng nào có thể chứa xids cũ hơn so với tuổi được chỉ định bởi tham số cấu hìnhautovacuum_freeze_max_age. (Điều này sẽ xảy ra ngay cả khi Autovacuum bị vô hiệu hóa.)

Điều này ngụ ý rằng nếu một bảng không được kèo bóng đá việt nam, Autovacuum sẽ được gọi trên đó khoảng một lầnautovacuum_freeze_max_agetrừVACUUM_FREEZE_MIN_AGEGiao dịch. Đối với các bảng thường xuyên được kèo bóng đá việt nam để khai hoang không gian Mục đích, đây là ít quan trọng. Tuy nhiên, cho tĩnh các bảng (bao gồm cả các bảng nhận chèn, nhưng không có bản cập nhật hoặc xóa), không cần phải kèo bóng đá việt nam không gian, Vì vậy, có thể hữu ích để cố gắng tối đa hóa khoảng thời gian giữa Buộc Autovacuums trên các bảng tĩnh rất lớn. Rõ ràng là một có thể làm điều này bằng cách tăngautovacuum_freeze_max_agehoặc giảmVACUUM_FREEZE_MIN_AGE.

Tối đa hiệu quả choVACUUM_FREEZE_TABLE_AGElà 0,95 *autovacuum_freeze_max_age; Một thiết lập cao hơn Điều đó sẽ được giới hạn đến mức tối đa. Giá trị cao hơnautovacuum_freeze_max_agesẽ kèo bóng đá việt nam có ý nghĩa bởi vì một Autovacuum chống Wraparound sẽ Dù sao cũng được kích hoạt tại thời điểm đó và các lá nhân 0,95 một số phòng thở để chạy một hướng dẫnNút kèo bóng đá việt namTrước khi điều đó xảy ra. Như một nguyên tắc,VACUUM_FREEZE_TABLE_AGEnên được đặt đến một giá trị phần nào bên dướiautovacuum_freeze_max_age, để lại khoảng cách đủ rằng một lịch trình thường xuyênNút kèo bóng đá việt namhoặc Một ô tô được kích hoạt bởi hoạt động xóa và cập nhật bình thường Chạy trong cửa sổ đó. Thiết lập nó quá gần có thể dẫn đến Các ô tô chống đầu tư, mặc dù bảng gần đây kèo bóng đá việt nam để đòi lại không gian, trong khi các giá trị thấp hơn dẫn đến nhiều hơn quét toàn bộ bàn thường xuyên.

Nhược điểm duy nhất của việc tăngautovacuum_freeze_max_age(vàVACUUM_FREEZE_TABLE_AGEcùng với nó) là Thepg_clogthư mục con của Cụm cơ sở dữ kèo bóng đá việt nam sẽ có nhiều không gian hơn, vì nó phải lưu trữ Trạng thái cam kết của tất cả các giao dịch trở lạiAutovacuum_freeze_max_ageHorizon. Cam kết Trạng thái sử dụng hai bit cho mỗi giao dịch, vì vậy nếuautovacuum_freeze_max_ageđược đặt ở mức tối đa của nó giá trị được phép của hai tỷ,pg_clogcó thể được dự kiến ​​sẽ tăng lên khoảng nửa gigabyte. Nếu đây là tầm thường so với tổng kích thước cơ sở dữ kèo bóng đá việt nam của bạn, cài đặtautovacuum_freeze_max_ageđến nó Giá trị cho phép tối đa được khuyến nghị. Nếu kèo bóng đá việt nam, đặt nó Tùy thuộc vào những gì bạn sẵn sàng cho phéppg_clogLưu trữ. (Mặc định, 200 triệu Giao dịch, dịch thành khoảng 50MBpg_cloglưu trữ.)

Một nhược điểm của việc giảmVACUUM_FREEZE_MIN_AGECó thể gây raVACUUMĐể thực hiện công việc vô dụng: thay đổi một Bảng của Row Xid thànhfrozenxidlà a lãng phí thời gian nếu hàng được sửa đổi ngay sau đó (gây ra nó để có được một xid mới). Vì vậy, cài đặt phải đủ lớn rằng các hàng không bị đóng băng cho đến khi chúng không có khả năng thay đổi bất kỳ hơn. Một nhược điểm khác của việc giảm cài đặt này là chi tiết về chính xác giao dịch được chèn hoặc sửa đổi một Hàng sẽ bị mất sớm hơn. Thông tin này đôi khi đến tiện dụng, đặc biệt khi cố gắng phân tích những gì đã sai Sau khi thất bại cơ sở dữ kèo bóng đá việt nam. Vì hai lý do này, giảm Cài đặt này không được khuyến nghị ngoại trừ hoàn toàn tĩnh bảng.

Để theo dõi tuổi của XID lâu đời nhất trong cơ sở dữ kèo bóng đá việt nam,VACUUMLưu trữ số kèo bóng đá việt nam thống kê XID trong Bảng hệ thốngpg_ classpg_database. Cụ thể,relfrozenxidCột của bảngPG_ClassHàng chứa đóng băng Xid cắt được sử dụng bởi toàn bộ bàn cuối cùngVACUUMĐối với bảng đó. Tất cả kèo bóng đá việt nam xids bình thường cũ hơn Xid cắt này được đảm bảo đã được thay thế bằngfrozenxidTrong bảng. Tương tự, TheDatfrozenxidCột của a Cơ sở dữ kèo bóng đá việt nampg_databaseHàng là a giới hạn dưới trên các xids bình thường xuất hiện trong cơ sở dữ kèo bóng đá việt nam đó - nó chỉ là mức tối thiểu của mỗi bànrelfrozenxidGiá trị trong cơ sở dữ kèo bóng đá việt nam. MỘT cách thuận tiện để kiểm tra thông tin này là thực hiện Các truy vấn như:

Chọn C.OID :: RegClass as table_name,
       lớn nhất (tuổi (c.relfrozenxid), tuổi (t.relfrozenxid)) theo tuổi
Từ pg_class c
Bên trái tham gia pg_class t trên c.reltoastrelid = t.oid
Trong đó c.Relkind = 'r';

Chọn DatName, Age (Datfrozenxid) từ pg_database;

TheAgeCột đo số kèo bóng đá việt nam giao dịch từ XID cắt đến hiện tại Giao dịch của Xid.

VACUUMThông thường chỉ quét các trang đã được sửa đổi kể từ chân kèo bóng đá việt nam cuối cùng, nhưngrelfrozenxidchỉ có thể nâng cao khi toàn bộ bàn được quét. Toàn bộ bảng được quét khirelfrozenxidnhiều hơnVACUUM_FREEZE_TABLE_AGEGiao dịch cũ, khiNút kèo bóng đá việt nam'SFreezeTùy chọn được sử dụng hoặc khi tất cả các trang xảy ra Để yêu cầu kèo bóng đá việt nam để loại bỏ các phiên bản hàng chết. KhiNút kèo bóng đá việt namquét toàn bộ bảng, sau nó đã hoàn thànhAge (Relfrozenxid)nên được nhiều hơn một chút so vớiVACUUM_FREEZE_MIN_AGECài đặt đã được sử dụng (Thêm bởi số lượng giao dịch bắt đầu kể từVACUUMBắt đầu). Nếu kèo bóng đá việt nam Trở thành bàn toàn bộVACUUMđược ban hành Trên bàn cho đến khiautovacuum_freeze_max_ageđược đạt được, an Autovacuum sẽ sớm bị ép buộc cho bảng.

Nếu vì lý do nào đó Autovacuum không thể xóa XID cũ khỏi A bảng, hệ thống sẽ bắt đầu phát ra các thông báo cảnh báo như thế này Khi XIDS lâu đời nhất của cơ sở dữ kèo bóng đá việt nam đạt được mười triệu giao dịch Từ điểm bao quanh:

Cảnh báo: Cơ sở dữ liệu "MyDB" phải được kèo bóng đá việt nam trong năm 177009986 Giao dịch
Gợi ý: Để tránh việc tắt cơ sở dữ liệu, hãy thực hiện khoảng trống trên toàn cơ sở dữ liệu trong "MyDB".

(một hướng dẫnVACUUMnên sửa chữa vấn đề, như được đề xuất bởi gợi ý; Nhưng lưu ý rằngNút kèo bóng đá việt namphải được thực hiện bởi một siêu người dùng, nó sẽ không xử lý các danh mục hệ thống và do đó không thể tiến lên cơ sở dữ kèo bóng đá việt namDatfrozenxid.) Nếu những cảnh báo này là Bị bỏ qua, hệ thống sẽ ngừng hoạt động và từ chối bắt đầu bất kỳ giao dịch một khi có ít hơn 1 triệu giao dịch trái cho đến khi bao quanh:

Lỗi: Cơ sở dữ liệu không chấp nhận các lệnh để tránh mất dữ liệu trong cơ sở dữ liệu "MyDB"
Gợi ý: Dừng người nhận bưu điện và sử dụng phụ trợ độc lập để kèo bóng đá việt nam trong "MyDB".

Biên độ an toàn chuyển đổi 1 triệu tồn tại để cho phép Quản trị viên phục hồi mà không mất dữ kèo bóng đá việt nam, bằng cách thực hiện thủ công Yêu cầuNút kèo bóng đá việt namlệnh. Tuy nhiên, Vì hệ thống sẽ kèo bóng đá việt nam thực thi các lệnh sau khi nó đã biến mất vào chế độ tắt an toàn, cách duy nhất để làm điều này là Dừng máy chủ và sử dụng phụ trợ một người dùng để thực thiVACUUM. Chế độ tắt máy kèo bóng đá việt nam được thực thi bởi một phụ trợ một người dùng. XemPostgresTrang tham khảo để biết chi tiết về việc sử dụng phụ trợ một người dùng.

23.1.5. Daemon Autovacuum

PostgreSQLCó một tùy chọn Nhưng tính năng rất được đề xuất gọi làAutovacuum, có mục đích là tự động hóa thực hiệnVACUUMPhân tíchlệnh. Khi được bật, Autovacuum Kiểm tra các bảng đã có một số lượng lớn được chèn, Cập nhật hoặc xóa các bộ dữ kèo bóng đá việt nam. Những kiểm tra này sử dụng số kèo bóng đá việt nam thống kê Cơ sở thu thập; Do đó, không thể sử dụng Autovacuum Trừ khiTrack_countsđược đặt thànhTRUE. Trong mặc định Cấu hình, tự động hóa được bật và liên quan kèo bóng đá việt nam tham số cấu hình được đặt một cách thích hợp.

The"Daemon Autovacuum"Thật ra bao gồm nhiều quá trình. Có một daemon dai dẳng quy trình, được gọi làAutovacuum trình khởi chạy, chịu trách nhiệm bắt đầuCông nhân AutovacuumQuy trình cho tất cả các cơ sở dữ kèo bóng đá việt nam. Trình khởi chạy sẽ phân phối công việc theo thời gian, cố gắng Để bắt đầu một công nhân trong mỗi cơ sở dữ kèo bóng đá việt namAutovacuum_naptimegiây. (Do đó, nếu cài đặt cóncơ sở dữ kèo bóng đá việt nam, một công nhân mới sẽ ra mắt mọiAutovacuum_naptime/ngiây.) Tối đaautovacuum_max_workerskèo bóng đá việt nam quy trình công nhân được phép chạy cùng một lúc. Nếu có nhiều hơnautovacuum_max_workersCơ sở dữ kèo bóng đá việt nam cần xử lý, cơ sở dữ kèo bóng đá việt nam tiếp theo sẽ được xử lý Ngay khi công nhân đầu tiên kết thúc. Mỗi quá trình công nhân sẽ Kiểm tra từng bảng trong cơ sở dữ kèo bóng đá việt nam của nó và thực thiVACUUMvà/hoặcPhân tíchkhi cần.

Nếu một số bảng lớn đều đủ điều kiện để kèo bóng đá việt nam trong Một khoảng thời gian ngắn, tất cả các công nhân ô tô có thể trở thành bị chiếm giữ với kèo bóng đá việt nam những bảng đó trong một thời gian dài. Cái này sẽ dẫn đến các bảng và cơ sở dữ liệu khác không được kèo bóng đá việt nam cho đến khi một công nhân trở nên có sẵn. Không có giới hạn về số lượng công nhân có thể ở trong một cơ sở dữ liệu duy nhất, nhưng công nhân cố gắng Tránh lặp lại công việc đã được thực hiện bởi những người khác công nhân. Lưu ý rằng số lượng công nhân đang chạy không được tính đối vớiMax_ConnectionshoặcSuperuser_reserved_connectionsGiới hạn.

Bảng córelfrozenxidGiá trị nhiều hơnautovacuum_freeze_max_ageGiao dịch cũ luôn được kèo bóng đá việt nam (điều này cũng áp dụng cho Những bảng có độ tuổi tối đa đóng băng đã được sửa đổi thông qua lưu trữ tham số; Xem bên dưới). Nếu không, nếu số lượng bộ dữ bị lỗi thời kể từ lần cuốiVACUUMvượt quá"Ngưỡng chân kèo bóng đá việt nam", The Bảng được kèo bóng đá việt nam. Ngưỡng chân không được xác định là:

Ngưỡng chân không = ngưỡng cơ sở chân không + Hệ số tỷ lệ chân không * Số lượng bộ dữ kèo bóng đá việt nam

trong đó ngưỡng cơ sở chân kèo bóng đá việt nam làautovacuum_vacuum_threshold, Hệ số tỷ lệ chân kèo bóng đá việt nam làautovacuum_vacuum_scale_factorvà số lượng bộ dữ kèo bóng đá việt nam làPG_Class.Reltuples. Số lượng bộ dữ kèo bóng đá việt nam lỗi thời là thu được từ người thu thập thống kê; nó là một bán chính xác Đếm được cập nhật bởi mỗiCập nhậtXóaHoạt động. (Nó chỉ là bán chính xác vì một số thông tin có thể bị mất tải nặng.) nếurelfrozenxidGiá trị của bảng nhiều hơnVACUUM_FREEZE_TABLE_AGEGiao dịch cũ, The toàn bộ bảng được quét để đóng băng các bộ dữ kèo bóng đá việt nam cũ và tiến lênrelfrozenxid, nếu kèo bóng đá việt nam chỉ các trang đã được sửa đổi kể từ khi chân kèo bóng đá việt nam cuối cùng được quét.

Để phân tích, một điều kiện tương tự được sử dụng: ngưỡng, được định nghĩa là:

Phân tích ngưỡng = Phân tích ngưỡng cơ sở + Phân tích Hệ số tỷ lệ * Số lượng bộ dữ kèo bóng đá việt nam

được so sánh với tổng số bộ dữ kèo bóng đá việt nam được chèn, cập nhật, hoặc bị xóa kể từ lần cuốiPhân tích.

Bảng tạm thời không thể được truy cập bằng AutovacUum. Do đó, các hoạt động không kèo bóng đá việt nam và phân tích phù hợp nên được được thực hiện thông qua các lệnh sql phiên.

Ngưỡng mặc định và kèo bóng đá việt nam yếu tố tỷ lệ được lấy từPostgreSql.conf, nhưng có thể để ghi đè chúng trên cơ sở từng bảng; nhìn thấyLưu trữ Tham sốĐể biết thêm thông tin. Nếu một cài đặt đã được Thay đổi thông qua các tham số lưu trữ, giá trị đó được sử dụng; nếu kèo bóng đá việt nam thì Các cài đặt toàn cầu được sử dụng. Nhìn thấyPhần 18.9Để biết thêm chi tiết về cài đặt toàn cầu.

Bên cạnh kèo bóng đá việt nam giá trị ngưỡng cơ sở và kèo bóng đá việt nam yếu tố tỷ lệ, ở đó là sáu tham số Autovacuum nữa có thể được đặt cho mỗi tham số Bảng thông qua kèo bóng đá việt nam tham số lưu trữ. Tham số đầu tiên,autovacuum_enables, có thể được đặt thànhfalseĐể hướng dẫn trình nền Autovacuum bỏ qua Bảng cụ thể đó hoàn toàn. Trong trường hợp này, Autovacuum sẽ Chỉ chạm vào bảng nếu nó phải làm như vậy để ngăn ID giao dịch bao quanh. Hai tham số khác,Autovacuum_vacuum_cost_delayautovacuum_vacuum_cost_limit, được sử dụng để đặt Các giá trị dành riêng cho bảng cho tính năng độ trễ chân kèo bóng đá việt nam dựa trên chi phí (nhìn thấyPhần 18.4.3).autovacuum_freeze_min_age, autovacuum_freeze_max_ageautovacuum_freeze_table_ageđược sử dụng để đặt Giá trị choVACUUM_FREEZE_MIN_AGE, autovacuum_freeze_max_ageVACUUM_FREEZE_TABLE_AGEtương ứng.

Khi nhiều công nhân đang chạy, kèo bóng đá việt nam tham số độ trễ chi phí là"Cân bằng"Trong số tất cả kèo bóng đá việt nam hoạt động đang chạy Công nhân, do đó, tổng tác động I/O trên hệ thống là như nhau Bất kể số lượng công nhân thực sự chạy. Tuy nhiên, bất kỳ bảng công nhân nào có bảng cóautovacuum_vacuum_cost_delayhoặcautovacuum_vacuum_cost_limitđã được đặt là kèo bóng đá việt nam được xem xét trong thuật toán cân bằng.