3295_3437hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
5292_540312 / 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 liệu 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 cách đọc kèo bóng đá trang chohiện tạiPhiên bản hoặc cách đọc kèo bóng đá trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

18.5. cách đọc kèo bóng đá

Xem thêmPhần 28.4cho chi tiết về điều chỉnh điểm kiểm tra và điểm kiểm tra.

18.5.1. Cài đặt

fsync(Boolean10403_10406

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

Tuy nhiên, sử dụng11010_11017Kết quả trong cách đọc kèo bóng đá hình phạt hiệu suất: khi cách đọc kèo bóng đá giao dịch là tận tụy,PostgreSQLphải đợi hệ điều hành để xóa cách đọc kèo bóng đá vào đĩa. Khifsyncđược vô hiệu hóa, hệ điều hành là được phép làm hết sức mình trong bộ đệm, đặt hàng và trì hoãn cách đọc kèo bóng đá. Điều này có thể dẫn đến đáng kể Cải thiện hiệu suất. Tuy nhiên, nếu hệ thống gặp sự cố, Kết quả của một vài giao dịch đã cam kết cuối cùng có thể là bị mất một phần hoặc toàn bộ. Trong trường hợp xấu nhất, không thể phục hồi Tham nhũng dữ liệu có thể xảy ra. (Sự cố cơ sở dữ liệu Bản thân phần mềm làkhôngcách đọc kèo bóng đá yếu tố rủi ro ở đây. Chỉ cách đọc kèo bóng đá sự cố cấp hệ điều hành tạo ra rủi ro tham nhũng.)

Do những rủi ro liên quan, không có Cài đặt chính xác chofsync. cách đọc kèo bóng đá số Quản trị viên luôn vô hiệu hóafsync, trong khi những người khác chỉ tắt nó Trong quá trình tải dữ liệu hàng loạt ban đầu, nơi có cách đọc kèo bóng đá Khởi động lại điểm nếu có sự cố. Những người khác luôn luôn rời khỏifsync12332_12379fsync, tối đa độ tin cậy. Nếu bạn tin tưởng hệ điều hành của mình, của bạn Phần cứng và công ty tiện ích của bạn (hoặc pin của bạn Sao lưu), bạn có thể xem xét việc vô hiệu hóafsync.

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 Lợi ích hiệu suất tiềm năng của việc tắtfsync, mà không có rủi ro dữ liệu tiếp viên tham nhũng.

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

synchronous_commit(Boolean)

Chỉ định xem cam kết giao dịch có chờ wal Bản ghi sẽ được ghi vào đĩa trước khi lệnh trả về cách đọc kèo bóng đá"Thành công"chỉ định cho khách hàng. Cài đặt mặc định và an toàn làtrên. KhiTẮT,, có thể có cách đọc kèo bóng đá sự chậm trễ giữa khi thành công được báo cáo khách hàng và khi giao dịch thực sự được đảm bảo Để được an toàn trước sự cố máy chủ. (Độ trễ tối đa là ba lầnwal_writer_delay.) Không giống nhưfsync, Cài đặt Tham số này đếnTẮ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ữ liệu: cách đọc kèo bóng đá sự cố có thể kết quả là cách đọc kèo bóng đá số giao dịch được cho là được cho là bị mất, nhưng trạng thái cơ sở dữ liệu sẽ giống nhau như thể những giao dịch đó đã bị hủy bỏ sạch sẽ. Vì thế, quaysynchronous_commitTẮT có thể là cách đọc kèo bóng đá sự thay thế hữu ích khi hiệu suất là nhiều hơn quan trọng hơn là sự chắc chắn chính xác về độ bền của cách đọc kèo bóng đá giao dịch. Để thảo luận thêm, xemPhần 28.3.

Tham số này có thể được thay đổi bất cứ lúc nào; các hành vi cho bất kỳ cách đọc kèo bóng đá giao dịch nào được xác định bởi thiết lập có hiệu lực khi nó cam kết. Do đó, nó là có thể, và hữu ích, để có cách đọc kèo bóng đá số giao dịch cam kết đồng bộ và những người khác không đồng bộ. Ví dụ, đến thực hiện cách đọc kèo bóng đá cam kết giao dịch đa biểu diễn duy nhấ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)

15661_15725fsyncĐã tắt thì cài đặt này là không liên quan, vì các bản cập cách đọc kèo bóng đá sẽ không bị buộc phải ra tất cả. Các giá trị có thể là:

  • open_datasync15972_16011Open ()Tùy chọnO_DSYNC)

  • fdatasync(gọifdatasync ()Tại mỗi làm)

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

  • FSYNC_WRITETHROUGH(gọifsync ()Tại mỗi cam kết, Buộc ghi qua bất kỳ bộ đệm ghi đĩa nào)

  • open_sync(cách đọc kèo bóng đá wal Tệp vớiOpen ()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ả Trong số các lựa chọn này có sẵn trên tất cả các nền tảng. Các Mặc định là phương pháp đầu tiên trong danh sách trên đó là được hỗ trợ bởi nền tảng, ngoại trừfdatasync17293_17609Phần 28.1. Tham số này chỉ có thể được đặt trongPostgreSql.confTệp hoặc trên máy chủ dòng lệnh.

full_page_writes(Boolean)

Khi tham số này được bật,PostgreSQL18124_19123

Tắt tham số này Tắt tốc độ hoạt động bình thường, nhưng có thể dẫn đến cách đọc kèo bóng đá cơ sở dữ liệu tham nhũng sau khi hoạt động sự cố hệ thống hoặc lỗi điện. Rủi ro tương tự như Tắtfsync, mặc dù nhỏ hơn. Có thể an toàn để tắt tham số này nếu Bạn có phần cứng (chẳng hạn như đĩa được hỗ trợ pin bộ điều khiển) hoặc phần mềm hệ thống tệp làm giảm rủi ro của trang cách đọc kèo bóng đá phần ghi ở mức thấp chấp nhận được (ví dụ: Reiserfs 4).

Tắt tham số này không ảnh hưởng đến việc sử dụng Wal Lưu trữ để 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 máy chủ Dòng lệnh. Mặc định làtrên.

Wal_buffers(Số nguyên)

lượng bộ nhớ được sử dụng trong bộ nhớ chia sẻ cho Wal dữ liệu. Mặc định là 64 kilobyte (64kb). Cài đặt chỉ cần lớn đủ để giữ lượng dữ liệu wal được tạo bởi cách đọc kèo bóng đá giao dịch điển hình, vì dữ liệu được ghi ra Đĩa tại mỗi cam kết giao dịch. Tham số này chỉ có thể được đặt ở máy chủ bắt đầu.

Tăng tham số này có thể gây raPostgreSQLĐể yêu cầu thêmSystem VBộ nhớ chia sẻ hơn cấu hình mặc định của hệ điều hành của bạn cho phép. Nhìn thấyPhần 17.4.1cho thông tin về cách điều chỉnh các tham số đó, nếu cần thiết.

wal_writer_delay(Số nguyên)

Chỉ định độ trễ giữa các vòng hoạt động cho WAL WRIERS. Trong mỗi vòng, người cách đọc kèo bóng đá sẽ chuyển sang Đĩ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, độ trễ ngủ hiệu quả là 10 mili giây; cài đặtwal_writer_delayvới cách đọc kèo bóng đá giá trị không phải là cách đọc kèo bóng đá bội số của 10 có thể có kết quả giống như thiết lập nó đến bội số cao hơn tiếp theo của 10. Tham số này có thể Chỉ được đặt trongPostgreSql.confTệp hoặc trên máy chủ dòng lệnh.

cam kết_delay(Số nguyên)

Thời gian trễ giữa việc cách đọc kèo bóng đá hồ sơ cam kết cho wal bộ đệm và xả bộ đệm ra đĩa, trong micro giây. Một độ trễ khác không có thể cho phép nhiều các giao dịch được cam kết chỉ với mộtfsync ()cuộc gọi hệ thống, nếu tải hệ thống là đủ cao để các giao dịch bổ sung đã sẵn sàng cam kết trong khoảng thời gian nhất định. Nhưng 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. Do đó, độ trễ chỉ được thực hiện nếu ít nhấtcam kết_siblingsKhác Các giao dịch đang hoạt động ngay lập tức một máy chủ Quá trình đã cách đọc kèo bóng đá hồ sơ cam kết của nó. Mặc định là không (không có độ trễ).

cam kết_siblings(Số nguyên)

Số lượng giao dịch mở đồng thời tối thiểu đến yêu cầu trước khi thực hiệncam kết_delay23455_23657

18.5.2. Điểm kiểm tra

CheckPoint_Segments(Số nguyên)

Số lượng phân đoạn tệp cách đọc kèo bóng đá ký tối đa giữa tự động Các điểm kiểm tra Wal (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 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 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, trong giây. Mặc định là năm phút (5min). Tăng tham số này có thể Tăng 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 máy chủ dòng lệnh.

CheckPoint_completion_target(Điểm nổi)

Chỉ định độ dài mục tiêu của các điểm kiểm tra, dưới dạng phần của khoảng thời gian 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 máy chủ dòng lệnh.

Checkpoint_warning(Số nguyên)

cách đọc kèo bóng đá tin nhắn vào nhật ký máy chủ nếu đ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 nhiều giây này (điều này gợi ý cái đóCheckPoint_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. Cái này tham số chỉ có thể được đặt trongPostgreSql.confTệp hoặc trên máy chủ dòng lệnh.

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ó thể được gửi đến lưu trữ lưu trữ bởi cài đặtArchive_Command. archive_mode27161_27178là các biến riêng biệt nên cái đóArchive_Commandcó thể Thay đổi mà không để lại chế độ lưu trữ. Tham số này chỉ có thể được đặt ở máy chủ bắt đầu.

Archive_Command(chuỗi)

Lệnh Shell để thực hiện để lưu trữ A đã hoàn thành Phân đoạn của loạt tập tin Wal. Bất kì%PTrong chuỗi được thay thế bằng đường dẫn Tên của tệp để lưu trữ và bất kỳ%Fchỉ được thay thế bằng tên tệp. (The 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ữ liệu của cụm.) Sử dụng%%để nhúng cách đọc kèo bóng đá thực tế%ký tự trong lệnh. Để 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_ModeĐã được bật khi bắt đầu máy chủ. Nếu nhưArchive_Commandlà trống Chuỗi (mặc định) trong khiarchive_modeđược bật, sau đó 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 trong kỳ vọng rằng cách đọc kèo bóng đá lệnh sẽ sớm được cung cấp.

Điều quan trọng là lệnh phải trả về cách đọc kèo bóng đá lối ra bằng không trạng thái nếu và chỉ khi nó thành công. Ví dụ:

archive_command = 'cp "%p"/mnt/server/archivingir/"%f"'
Archive_Command = 'Sao chép "%p" "C: \ server \ archivingir \%f"' # windows
Archive_Timeout(Số nguyên)

TheArchive_Commandchỉ được gọi trên các phân đoạn Wal đã hoàn thành. Do đó, nếu của bạn Máy chủ tạo ra ít lưu lượng Wal (hoặc có thời gian chùng nơi nó làm như vậy), có thể có cách đọc kèo bóng đá sự chậm trễ lâu dài giữa hoàn thành cách đọc kèo bóng đá giao dịch và ghi lại an toàn của nó Lưu trữ lưu trữ. Để đặt giới hạn về mức độ chưa từng có Dữ liệu có thể, bạn có thể đặtarchive_timeoutĐể buộc máy chủ Chuyển sang cách đọc kèo bóng đá tập tin phân đoạn Wal mới định kỳ. Khi này tham số lớn hơn 0, máy chủ sẽ chuyển sang cách đọc kèo bóng đá tệp phân đoạn mới bất cứ khi nào nhiều giây này có Đã trôi qua kể từ khi chuyển đổi tệp phân đoạn cuối cùng. Lưu ý rằng Các tệp được lưu trữ đã đóng sớm do cách đọc kèo bóng đá vụ bắt buộc công tắc vẫn có cùng độ dài với hoàn toàn Tệp. Do đó, không khôn ngoan khi sử dụng rất ngắnArchive_Timeout30414_30465Archive_TimeoutCài đặt cách đọc kèo bóng đá phút hoặc lâu hơn thường là hợp lý. Tham số này chỉ có thể được đặt trong ThePostgreSql.confTệp hoặc trên dòng lệnh máy chủ.