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
Tài kèo bóng đá euro 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 các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

18.5. kèo bóng đá euro

Để biết thêm thông tin về điều chỉnh các cài đặt này, xemPhần 29.4.

18.5.1. Cài đặt

Wal_Level(enum)

Wal_LevelXác định số lượng Thông tin được kèo bóng đá euro cho Wal. Giá trị mặc định làtối thiểu, chỉ kèo bóng đá euro thông tin cần thiết để phục hồi sau vụ tai nạn hoặc tắt máy ngay lập tức.Lưu trữThêm ghi nhật ký cần thiết để lưu trữ Wal vàhot_standbyThêm thông tin thêm Yêu cầu chạy các truy vấn chỉ đọc trên máy chủ dự phòng. Cái này tham số chỉ có thể được đặt ở máy chủ bắt đầu.

intối thiểuCấp độ, Wal-Logging của một số Hoạt động hàng loạt có thể được bỏ qua một cách an toàn, điều này có thể làm cho chúng Hoạt động nhanh hơn nhiều (xemPhần 14.4.7). Hoạt động trong mà tối ưu hóa này có thể được áp dụng bao gồm:

Tạo bảng dưới dạng
Tạo chỉ mục
cụm
Copythành các bảng được tạo hoặc bị cắt trong cùng một giao dịch
Nhưng WAL tối thiểu không chứa đủ thông tin để xây dựng lại dữ kèo bóng đá euro từ bản sao lưu cơ sở và nhật ký wal, vì vậyLưu trữhoặchot_standbyCấp độ phải được sử dụng để cho phép lưu trữ Wal (archive_mode) và sao chép phát trực tuyến.

inhot_standbyCấp độ, giống nhau thông tin được ghi lại như vớiLưu trữ,, cộng với thông tin cần thiết để xây dựng lại trạng thái chạy Giao dịch từ Wal. Để kích hoạt các truy vấn chỉ đọc ở chế độ chờ máy chủ,Wal_Levelphải được đặt thànhhot_standbytrên chính vàhot_standbyphải được bật trong chế độ chờ. Người ta nghĩ rằng có rất ít Sự khác biệt có thể đo lường được về hiệu suất giữa việc sử dụnghot_standbyLưu trữcấp độ, vì vậy phản hồi được hoan nghênh nếu có bất kỳ tác động sản xuất nào đáng chú ý.

fsync(Boolean)

Nếu tham số này được bật,PostgreSQLMáy chủ sẽ cố gắng đảm bảo rằng Các bản cập nhật được ghi vào đĩa, bằng cách phát hànhfsync ()Cuộc gọi hệ thống hoặc tương đương khác nhau Phương thức (xemWal_sync_method). Điều này đảm bảo rằng cụm cơ sở dữ kèo bóng đá euro có thể phục hồi thành một trạng thái sau một hệ điều hành hoặc sự cố phần cứng.

Trong khi tắtfsyncthường là a lợi ích hiệu suất, điều này có thể dẫn đến dữ kèo bóng đá euro không thể phục hồi Tham nhũng trong trường hợp mất điện hoặc sự cố hệ thống. Vì vậy, nó chỉ nên tắtfsyncNếu bạn có thể dễ dàng tạo lại toàn bộ cơ sở dữ kèo bóng đá euro của bạn từ dữ kèo bóng đá euro bên ngoài.

Ví dụ về hoàn cảnh an toàn để tắtfsyncBao gồm việc tải ban đầu của cơ sở dữ kèo bóng đá euro mới cụm từ tệp sao lưu, sử dụng cụm cơ sở dữ kèo bóng đá euro để xử lý một loạt dữ kèo bóng đá euro sau đó cơ sở dữ kèo bóng đá euro sẽ bị vứt bỏ và được tái tạo hoặc cho bản sao cơ sở dữ kèo bóng đá euro chỉ đọc được tái tạo thường xuyên và không được sử dụng cho chuyển đổi dự phòng. Phần cứng chất lượng cao Một mình không phải là một lời biện minh đầy đủ để tắtfsync.

Để phục hồi đáng tin cậy khi thay đổifsyncTẮT TẮT, cần phải ép buộc tất cả Bộ đệm sửa đổi trong kernel để lưu trữ bền. Điều này có thể được thực hiện Trong khi cụm bị tắt hoặc trong khi fsync đang hoạt độnginitDB-sync chỉ, ChạySync, Mở ra hệ thống tệp hoặc khởi động lại máy chủ.

Trong nhiều tình huống, tắtsynchronous_commitĐối với các giao dịch phi tài sản có thể cung cấp nhiều tiềm năng lợi ích hiệu suất của việc tắtfsync,, không có rủi ro tham nhũng dữ kèo bóng đá euro.

fsyncchỉ có thể được đặt trongPostgreSql.confTệp hoặc trên dòng lệnh máy chủ. Nếu bạn tắt tham số này, cũng xem xét tắtfull_page_writes.

synchronous_commit(enum)

Chỉ định xem cam kết giao dịch có chờ WAL Records được ghi vào đĩa kèo bóng đá euro khi lệnh trả về"Thành công"Chỉ định cho khách hàng. Giá trị hợp lệ làtrên, remote_write, cục bộTẮT. Cài đặt mặc định và an toàn làtrên. KhiTẮT, có thể có sự chậm trễ giữa khi thành công được báo cáo cho khách hàng và khi giao dịch là Thực sự được đảm bảo là an toàn kèo bóng đá euro sự cố máy chủ. (Tối đa Độ trễ là ba lầnwal_writer_delay.) Không giống nhưfsync,, Đặt tham số này thànhTẮTkhông Tạo bất kỳ rủi ro nào về sự không nhất quán của cơ sở dữ kèo bóng đá euro: một hệ điều hành hoặc sự cố cơ sở dữ kèo bóng đá euro có thể dẫn đến một số bị cáo buộc gần đây giao dịch bị mất, nhưng trạng thái cơ sở dữ kèo bóng đá euro sẽ chỉ là Tương tự như thể các giao dịch đó đã bị hủy bỏ sạch sẽ. Vì vậy, biếnsynchronous_commitTẮT có thể là một Thay thế khi hiệu suất quan trọng hơn sự chắc chắn chính xác về độ bền của một giao dịch. Để thảo luận thêm, xemPhần 29.3.

nếusynchronous_standby_namesđược đặt, tham số này cũng kiểm soát xem giao dịch có hay không cam kết sẽ đợi các bản ghi Wal của giao dịch được được sao chép vào máy chủ dự phòng. Khi được đặt thànhtrên, cam kết sẽ đợi cho đến khi trả lời từ hiện tại Chế độ chờ đồng bộ cho biết nó đã nhận được hồ sơ cam kết của giao dịch và xả nó vào đĩa. Điều này đảm bảo Giao dịch sẽ không bị mất trừ khi cả chính và dự phòng đều bị Tham nhũng lưu trữ cơ sở dữ kèo bóng đá euro của họ. Khi được đặt thànhremote_write, cam kết sẽ đợi cho đến khi trả lời từ Chế độ chờ đồng bộ hiện tại cho biết nó đã nhận được cam kết hồ sơ giao dịch và kèo bóng đá euro nó ra hệ điều hành của dự phòng, nhưng dữ liệu không nhất thiết đạt được lưu trữ ổn định trên chế độ chờ. Cài đặt này là đủ Để đảm bảo bảo tồn dữ liệu ngay cả khi phiên bản chờ củaPostgreSQLđã bị sập, nhưng không Nếu dự phòng chịu sự cố cấp hệ điều hành.

Khi sao chép đồng bộ được sử dụng, nó thường sẽ được hợp lý để chờ đợi cả hai ổ đĩa cục bộ vào đĩa và sao chép các bản ghi Wal hoặc cho phép giao dịch cam kết không đồng bộ. Tuy nhiên, cài đặtcục bộCó sẵn cho các giao dịch muốn chờ địa phương Đĩa, nhưng không sao chép đồng bộ. Nếu nhưsynchronous_standby_nameskhông được đặt, cài đặttrên, remote_writecục bộTất cả đều cung cấp cùng một Cấp độ đồng bộ hóa: Giao dịch cam kết chỉ chờ địa phương Xóa vào đĩa.

Tham số này có thể được thay đổi bất cứ lúc nào; hành vi cho bất kỳ Một giao dịch được xác định bởi cài đặt có hiệu lực khi nó cam kết. Do đó có thể và hữu ích, để có một số Giao dịch cam kết đồng bộ và những người khác không đồng bộ. Vì Ví dụ, để thực hiện một giao dịch đa dạng duy nhất cam kết Không đồng bộ khi mặc định ngược lại, vấn đềĐặt Synchronous_Commit cục bộ thành TẮTtrong giao dịch.

Wal_sync_method(enum)

Phương pháp được sử dụng để buộc Wal cập nhật ra đĩa. Nếu nhưfsyncĐã tắt thì cài đặt này không liên quan, vì Cập nhật tập tin Wal sẽ không bị buộc phải ra ngoài. Giá trị có thể là:

  • open_datasync(kèo bóng đá euro các tệp WAL bằngOpen ()Tùy chọnO_DSYNC)

  • fdatasync(gọifdatasync ()tại mỗi cam kết)

  • fsync(gọifsync ()mỗi cam kết)

  • fsync_writethrough(gọifsync ()Tại mỗi cam kết, buộc kèo bóng đá euro thông qua bất kỳ đĩa nào ghi bộ nhớ cache)

  • open_sync(kèo bóng đá euro các tệp WAL bằngOpen ()Tùy chọnO_Sync)

TheOpen_* Tùy chọn cũng sử dụngO_DirectNếu có. Không phải tất cả những lựa chọn này là Có sẵn trên tất cả các nền tảng. Mặc định là phương pháp đầu tiên trong Danh sách trên được hỗ trợ bởi nền tảng, ngoại trừfdatasynclà mặc định trên Linux. Các Mặc định không nhất thiết là lý tưởng; Nó có thể là cần thiết để thay đổi Cài đặt này hoặc các khía cạnh khác của cấu hình hệ thống của bạn theo thứ tự để tạo cấu hình an toàn sự cố hoặc đạt được tối ưu hiệu suất. Những khía cạnh này được thảo luận trongPhần 29.1. Tham số này chỉ có thể Đặt trongPostgreSql.confTệp hoặc trên dòng lệnh máy chủ.

full_page_writes(Boolean)

Khi tham số này được bật,PostgreSQLMáy chủ kèo bóng đá euro toàn bộ nội dung của Mỗi trang đĩa cho Wal trong lần sửa đổi đầu tiên của trang đó Sau một trạm kiểm soát. Điều này là cần thiết bởi vì một trang kèo bóng đá euro đó là xử lý trong một vụ tai nạn hệ điều hành có thể chỉ là một phần đã hoàn thành, dẫn đến một trang trên đĩa có chứa hỗn hợp cũ và dữ liệu mới. Dữ liệu thay đổi cấp hàng thường được lưu trữ trong wal sẽ Không đủ để khôi phục hoàn toàn một trang như vậy trong quá trình sau khi phá hủy sự hồi phục. Lưu trữ hình ảnh toàn trang đảm bảo rằng trang có thể được khôi phục chính xác, nhưng với giá tăng số lượng Dữ liệu phải được kèo bóng đá euro cho Wal. (Vì phát lại Wal luôn bắt đầu Từ trạm kiểm soát, nó là đủ để làm điều này trong lần đầu tiên Thay đổi mỗi trang sau một điểm kiểm tra. Do đó, một cách để Giảm chi phí ghi toàn trang là tăng điểm kiểm tra tham số khoảng.)

Tắt tham số này Tắt tốc độ hoạt động bình thường, nhưng có thể dẫn đến tham nhũng dữ kèo bóng đá euro không thể phục hồi hoặc dữ kèo bóng đá euro im lặng Tham nhũng, sau khi một hệ thống thất bại. Rủi ro tương tự như Tắtfsync, mặc dù nhỏ hơn và nó chỉ nên tắt dựa trên các trường hợp tương tự được đề xuất cho tham số đó.

Tắt tham số này không ảnh hưởng đến việc sử dụng lưu trữ Wal để phục hồi điểm trong thời gian (pitr) (xemPhần 24.3).

Tham số này chỉ có thể được đặt trongPostgreSql.confTệp hoặc trên dòng lệnh máy chủ. Mặc định làtrên.

Wal_buffers(Số nguyên)

Số lượng bộ nhớ chia sẻ được sử dụng cho dữ liệu WAL chưa được kèo bóng đá euro vào đĩa. Cài đặt mặc định của -1 chọn một kích thước bằng 1/32 (khoảng 3%) củaShared_buffers,, Nhưng không ít hơn64kbcũng không hơn Kích thước của một phân đoạn Wal, thường là16MB. Giá trị này có thể được đặt thủ công nếu lựa chọn tự động quá lớn hoặc quá nhỏ, nhưng bất kỳ giá trị dương nào cũng nhỏ hơn32kbsẽ được coi là32kb. Tham số này chỉ có thể được đặt tại máy chủ bắt đầu.

Nội dung của bộ đệm Wal được kèo bóng đá euro ra vào đĩa ở mỗi cam kết giao dịch, vì vậy các giá trị cực kỳ lớn không có khả năng Cung cấp một lợi ích đáng kể. Tuy nhiên, đặt giá trị này thành AT ít nhất một vài megabyte có thể cải thiện hiệu suất ghi trên một người bận rộn Máy chủ nơi nhiều khách hàng đang cam kết cùng một lúc. Tự động điều chỉnh được chọn bởi cài đặt mặc định của -1 sẽ cung cấp hợp lý kết quả trong hầu hết các trường hợp.

wal_writer_delay(Số nguyên)

Chỉ định độ trễ giữa các vòng hoạt động cho người kèo bóng đá euro Wal. Trong mỗi vòng, người kèo bóng đá euro sẽ Flush Wal đến đĩa. Nó sau đó ngủ chowal_writer_delaymili giây, và lặp lại. Giá trị mặc định là 200 mili giây (200MS). Lưu ý rằng trên nhiều hệ thống, hiệu quả Độ phân giải của độ trễ giấc ngủ là 10 mili giây; cài đặtwal_writer_delayvới một giá trị không phải là bội số trong số 10 có thể có kết quả tương tự như đặt nó ở mức cao hơn tiếp theo bội số của 10. Tham số này chỉ có thể được đặt trongPostgreSql.confTệp hoặc trên lệnh máy chủ đường kẻ.

cam kết_delay(Số nguyên)

cam kết_delayThêm độ trễ thời gian, được đo bằng micro giây, kèo bóng đá euro khi bắt đầu xả WAL. Điều này có thể cải thiện thông lượng cam kết nhóm bằng cách cho phép số lượng lớn hơn giao dịch để cam kết thông qua một lần xả wal, nếu tải hệ thống là đủ cao để các giao dịch bổ sung trở nên sẵn sàng để cam kết trong khoảng thời gian đã cho. Tuy nhiên, nó cũng làm tăng độ trễ ĐẾNcam kết_delaymicro giây cho mỗi wal tuôn ra. Bởi vì sự chậm trễ chỉ là lãng phí nếu không có giao dịch nào khác sẵn sàng cam kết, độ trễ chỉ được thực hiện nếu ít nhấtcam kết_siblingsCác giao dịch khác là Hoạt động khi một Flush sắp được bắt đầu. Ngoài ra, không có sự chậm trễ là đã thực hiện nếufsyncbị vô hiệu hóa. Các mặc địnhcam kết_delaybằng không (không chậm trễ). Chỉ các siêu người dùng mới có thể thay đổi cài đặt này.

inPostgreSQLPhát hành kèo bóng đá euro 9.3,cam kết_delayhành xử khác nhau và không hiệu quả hơn nhiều: nó chỉ bị ảnh hưởng, thay vì tất cả Wal Flushes, và chờ đợi toàn bộ độ trễ được cấu hình ngay cả khi Wal Flush đã được hoàn thành sớm hơn. Bắt đầu trongPostgreSQL9.3, quá trình đầu tiên trở thành sẵn sàng để chờ đợi các khoảng thời gian được định cấu hình, trong khi tiếp theo Các quy trình chỉ đợi cho đến khi người lãnh đạo hoàn thành việc tuôn ra hoạt động.

cam kết_siblings(Số nguyên)

Số lượng giao dịch mở đồng thời tối thiểu để yêu cầu kèo bóng đá euro thực hiệncam kết_delayTrì hoãn. MỘT Giá trị lớn hơn làm cho nó có thể xảy ra nhiều nhất là ít nhất Giao dịch sẽ sẵn sàng để cam kết trong khoảng thời gian trì hoãn. Mặc định là năm giao dịch.

18.5.2. Điểm kiểm tra

CheckPoint_Segments(Số nguyên)

Số lượng phân đoạn tệp nhật ký tối đa giữa WAL Các điểm kiểm tra (mỗi phân đoạn thường là 16 megabyte). Mặc định là Ba phân đoạn. Tăng tham số này có thể tăng số lượng thời gian cần thiết để phục hồi sự cố. Tham số này chỉ có thể được đặt trongPostgreSql.confTệp hoặc trên dòng lệnh máy chủ.

CheckPoint_Timeout(Số nguyên)

Thời gian tối đa giữa các điểm kiểm tra WAL tự động, tính bằng giây. Các Mặc định là năm phút (5min). Tăng dần Tham số này có thể tăng lượng thời gian cần thiết cho sự cố sự hồi phục. Tham số này chỉ có thể được đặt trongPostgreSql.confTệp hoặc trên lệnh máy chủ đường kẻ.

CheckPoint_completion_target(Điểm nổi)

Chỉ định mục tiêu hoàn thành điểm kiểm tra, là một phần của Tổng thời gian giữa các điểm kiểm tra. Mặc định là 0,5. Tham số này chỉ có thể được đặt trongPostgreSql.confTệp hoặc trên dòng lệnh máy chủ.

Checkpoint_warning(Số nguyên)

kèo bóng đá euro tin nhắn vào nhật ký máy chủ nếu các điểm kiểm tra gây ra bởi Việc điền vào các tệp phân đoạn điểm kiểm tra xảy ra gần nhau hơn điều này nhiều giây (điều đó gợi ý rằngCheckPoint_Segmentsnên được nâng lên). Mặc định là 30 giây (30S). Zero vô hiệu hóa cảnh báo. Không có cảnh báo nào sẽ được tạo nếuCheckPoint_Timeoutnhỏ hơnCheckpoint_warning. Tham số này chỉ có thể được đặt trongPostgreSql.confTệp hoặc trên dòng lệnh máy chủ.

18.5.3. Lưu trữ

Archive_Mode(Boolean)

KhiArchive_Modeđược bật, hoàn thành Các phân đoạn Wal được gửi đến lưu trữ lưu trữ bằng cách cài đặtArchive_Command. archive_modeArchive_Commandlà các biến riêng biệt đểArchive_Commandcó thể thay đổi mà không cần Để lại chế độ lưu trữ. Tham số này chỉ có thể được đặt tại máy chủ bắt đầu.archive_modeKhông thể bật khiWal_Levelđược đặt thànhtối thiểu.

Archive_Command(chuỗi)

Lệnh Shell để thực hiện để lưu trữ tệp WAL đã hoàn thành phân đoạn. Bất kì%PTrong chuỗi được thay thế bởi tên đường dẫn của tệp để lưu trữ và bất kỳ%Fchỉ được thay thế bằng tên tệp. (Tên đường dẫn liên quan đến thư mục làm việc của máy chủ, tức là Thư mục dữ kèo bóng đá euro của cụm.) Sử dụng%%Để nhúng một thực tế%ký tự trong lệnh. Nó chỉ quan trọng đối với lệnh chỉ trả về trạng thái thoát bằng không nó thành công. Để biết thêm thông tin, xemPhần 24.3.1.

Tham số này chỉ có thể được đặt trongPostgreSql.confTệp hoặc trên dòng lệnh máy chủ. Nó bị bỏ qua trừ khiArchive_Modewas được kích hoạt tại máy chủ bắt đầu. Nếu nhưArchive_Commandlà một chuỗi trống (mặc định) trong khiArchive_Modeđược bật, Wal Lưu trữ tạm thời bị vô hiệu hóa, nhưng máy chủ tiếp tục tích lũy các tệp phân đoạn wal theo kỳ vọng rằng một lệnh sẽ sớm được cung cấp. Cài đặtArchive_Commandcho một lệnh không làm gì ngoài việc trả về true, ví dụ:/bin/true(REMtrên Windows), Vô hiệu hóa hiệu quả lưu trữ, nhưng cũng phá vỡ chuỗi Wal các tệp cần thiết để phục hồi lưu trữ, vì vậy nó chỉ được sử dụng trong hoàn cảnh bất thường.

Archive_Timeout(Số nguyên)

TheArchive_Commandchỉ được gọi cho các phân đoạn Wal đã hoàn thành. Do đó, nếu máy chủ của bạn tạo ra một ít lưu lượng truy cập wal (hoặc có thời gian chùng khi nó xảy ra Vì vậy), có thể có một sự chậm trễ lâu dài giữa việc hoàn thành một Giao dịch và ghi lại an toàn của nó trong lưu trữ lưu trữ. Để hạn chế làm thế nào Dữ kèo bóng đá euro cũ không tồn tại có thể, bạn có thể đặtArchive_TimeoutĐể buộc máy chủ chuyển sang A Tệp phân đoạn Wal mới định kỳ. Khi tham số này lớn hơn hơn 0, máy chủ sẽ chuyển sang tệp phân đoạn mới bất cứ khi nào Nhiều giây này đã trôi qua kể từ khi chuyển đổi tệp phân đoạn cuối cùng, và đã có bất kỳ hoạt động cơ sở dữ kèo bóng đá euro nào, bao gồm một điểm kiểm tra. (Tăng dầnCheckpoint_timeoutsẽ giảm các điểm kiểm tra không cần thiết trên một hệ thống nhàn rỗi.) Lưu ý rằng Các tệp được lưu trữ được đóng sớm do công tắc bắt buộc là Vẫn có độ dài tương tự như các tập tin hoàn toàn đầy đủ. Do đó, nó là không khôn ngoan khi sử dụng rất ngắnarchive_timeout- Nó sẽ làm mờ lưu trữ lưu trữ của bạn.Archive_TimeoutCài đặt một phút hoặc lâu hơn là thường hợp lý. Bạn nên xem xét sử dụng phát trực tuyến sao chép, thay vì lưu trữ, nếu bạn muốn dữ kèo bóng đá euro được sao chép Tắt máy chủ chính nhanh hơn thế. Tham số này có thể Chỉ được đặt trongPostgreSql.confTệp hoặc trên dòng lệnh máy chủ.