Chế độ chờ nóng là thuật ngữ được sử dụng để mô tả khả năng kết nối với máy chủ và chạy cách đọc kèo bóng đá truy vấn chỉ đọc trong khi máy chủ đang ở chế độ khôi phục hoặc chế độ chờ. Điều này rất hữu ích cho cả mục đích sao chép và để khôi phục sao lưu về trạng thái mong muốn với độ chính xác cao. Thuật ngữ Hot Standby cũng đề cập đến khả năng của máy chủ chuyển từ hồi phục sang hoạt động bình thường trong khi người dùng tiếp tục chạy truy vấn và/hoặc giữ cho kết nối của họ mở.
Truy vấn chạy ở chế độ chờ nóng tương tự như hoạt động truy vấn thông thường, mặc dù có một số khác biệt sử dụng và quản trị được giải thích dưới đây.
Khihot_standbyTham số được đặt thành true trên máy chủ dự phòng, nó sẽ bắt đầu chấp nhận kết nối khi việc phục hồi đã đưa hệ thống đến trạng thái nhất quán. Tất cả cách đọc kèo bóng đá kết nối như vậy chỉ được đọc nghiêm ngặt; thậm chí không có thể viết bảng tạm thời.
Dữ cách đọc kèo bóng đá về chế độ chờ mất một thời gian để đến từ máy chủ chính để có độ trễ có thể đo lường được giữa chính và dự phòng. Chạy cùng một truy vấn gần như đồng thời trên cả chính và dự phòng có thể trả về kết quả khác nhau. Chúng tôi nói rằng dữ cách đọc kèo bóng đá trên chế độ chờ làCuối cùng là nhất quánVới chính. Khi bản ghi cam kết cho một giao dịch được phát lại ở chế độ chờ, những thay đổi được thực hiện bởi giao dịch đó sẽ được hiển thị đối với bất kỳ ảnh chụp nhanh mới nào được thực hiện ở chế độ chờ. Ảnh chụp nhanh có thể được thực hiện khi bắt đầu mỗi truy vấn hoặc khi bắt đầu mỗi giao dịch, tùy thuộc vào mức cách ly giao dịch hiện tại. Để biết thêm chi tiết, xemPhần 13.2.
Giao dịch bắt đầu trong quá trình chờ nóng có thể phát hành cách đọc kèo bóng đá lệnh sau:
Truy cập truy vấn:Chọn
, Sao chép vào
lệnh con trỏ:khai báo
, Fetch
, Đóng
Cài đặt:show
, set
, Đặt lại
cách đọc kèo bóng đá lệnh quản lý giao dịch:
bắt đầu
, kết thúc
, ABORT
, Bắt đầu giao dịch
SavePoint
, Phát hành
, rollback to savePoint
Ngoại lệ
khối và cách đọc kèo bóng đá phép trừ nội bộ khác
Bảng khóa
, mặc dù chỉ khi rõ ràng ở một trong cách đọc kèo bóng đá chế độ sau:Chia sẻ truy cập
, Chia sẻ hàng
hoặcROW ĐỘC QUYỀN
.
Kế hoạch và tài nguyên:Chuẩn bị
, thực thi
, DealLocate
, Discard
plugins và tiện ích mở rộng:load
Unlisten
14020_14211
Ngôn ngữ thao tác dữ cách đọc kèo bóng đá (DML):Chèn
, Cập nhật
, Xóa
, Hợp nhất
, Sao chép từ
, cắt ngắn
14609_14902
Ngôn ngữ định nghĩa dữ cách đọc kèo bóng đá (DDL):Tạo
, thả
, ATTER
, bình luận
. Hạn chế này áp dụng ngay cả cho cách đọc kèo bóng đá bảng tạm thời, vì việc thực hiện cách đọc kèo bóng đá hoạt động này sẽ yêu cầu cập nhật cách đọc kèo bóng đá bảng danh mục hệ thống.
Chọn ... để chia sẻ | CẬP NHẬT
, vì khóa hàng không thể được thực hiện mà không cập nhật cách đọc kèo bóng đá tệp dữ liệu cơ bản.
Quy tắc trênChọn
cách đọc kèo bóng đá câu lệnh tạo cách đọc kèo bóng đá lệnh DML.
khóa
15717_1576415784_15804
.
khóa
Trong hình thức mặc định ngắn, vì nó yêu cầuChế độ độc quyền truy cập
.
cách đọc kèo bóng đá lệnh quản lý giao dịch đặt rõ ràng trạng thái không chỉ đọc:
Bắt đầu đọc ghi
, Bắt đầu giao dịch đọc ghi
Đặt giao dịch đọc ghi
, Đặt cách đọc kèo bóng đá đặc điểm phiên như giao dịch đọc ghi
Đặt giao dịch_read_only = TẮT
cách đọc kèo bóng đá lệnh cam kết hai pha:Chuẩn bị giao dịch
, cam kết đã chuẩn bị
, Chuẩn bị rollback
Bởi vì ngay cả cách đọc kèo bóng đá giao dịch chỉ đọc cũng cần phải viết WAL trong giai đoạn chuẩn bị (giai đoạn đầu tiên của cam kết hai pha).
Cập nhật trình tự:nextVal ()
, setVal ()
nghe
, Thông báo
Trong hoạt động bình thường,Chỉ đọcGiao dịch được phép sử dụngnghe
vàThông báo
17699_17890
Trong quá trình chờ nóng, tham sốGiao dịch_read_only
luôn luôn đúng và có thể không thay đổi. Nhưng miễn là không có nỗ lực nào được thực hiện để sửa đổi cơ sở dữ liệu, cách đọc kèo bóng đá kết nối trong quá trình chờ nóng sẽ hoạt động giống như bất kỳ kết nối cơ sở dữ liệu nào khác. Nếu chuyển đổi dự phòng hoặc chuyển đổi xảy ra, cơ sở dữ liệu sẽ chuyển sang chế độ xử lý thông thường. cách đọc kèo bóng đá phiên sẽ vẫn được kết nối trong khi máy chủ thay đổi chế độ. Khi kết thúc dự phòng nóng, sẽ có thể bắt đầu cách đọc kèo bóng đá giao dịch đọc-ghi (thậm chí từ một phiên bắt đầu trong quá trình chờ nóng).
Người dùng có thể xác định xem Hot Standby hiện có hoạt động cho phiên của họ hay cách đọc kèo bóng đá bằng cách phát hànhshow in_hot_standby
. (Trong cách đọc kèo bóng đá phiên bản máy chủ trước 14,in_hot_standby
tham số không tồn tại; Một phương pháp thay thế khả thi cho cách đọc kèo bóng đá máy chủ cũ làHiển thị giao dịch_read_only
.) Ngoài ra, một tập hợp cách đọc kèo bóng đá chức năng (Bảng 9.92) Cho phép người dùng truy cập thông tin về máy chủ dự phòng. Chúng cho phép bạn viết cách đọc kèo bóng đá chương trình nhận thức được trạng thái hiện tại của cơ sở dữ liệu. Chúng có thể được sử dụng để theo dõi tiến trình phục hồi hoặc cho phép bạn viết cách đọc kèo bóng đá chương trình phức tạp để khôi phục cơ sở dữ liệu về cách đọc kèo bóng đá trạng thái cụ thể.
Máy chủ chính và dự phòng theo nhiều cách kết nối lỏng lẻo. cách đọc kèo bóng đá hành động trên chính sẽ có ảnh hưởng đến chế độ chờ. Kết quả là, có khả năng tương tác tiêu cực hoặc xung đột giữa chúng. Xung đột dễ hiểu nhất là hiệu suất: Nếu tải dữ liệu khổng lồ đang diễn ra trên chính thì điều này sẽ tạo ra một luồng bản ghi WAL tương tự ở chế độ chờ, do đó, cách đọc kèo bóng đá truy vấn dự phòng có thể đối với cách đọc kèo bóng đá tài nguyên hệ thống, chẳng hạn như I/O.
Ngoài ra còn có cách đọc kèo bóng đá loại xung đột bổ sung có thể xảy ra với chế độ chờ nóng. Những xung đột này làXung đột cứng20184_20387
Truy cập khóa độc quyền được thực hiện trên máy chủ chính, bao gồm cả hai điều rõ ràngkhóa
Lệnh và khác nhauDDLhành động, xung đột với cách đọc kèo bóng đá truy cập bảng trong cách đọc kèo bóng đá truy vấn chờ.
20816_20933
Bỏ cơ sở dữ liệu về cách đọc kèo bóng đá xung đột chính với cách đọc kèo bóng đá phiên được kết nối với cơ sở dữ liệu đó ở chế độ chờ.
21156_21268xemHồiBất kỳ hàng nào sẽ được gỡ bỏ.
Ứng dụng hồ sơ làm sạch chân không từ cách đọc kèo bóng đá xung đột Wal với cách đọc kèo bóng đá truy vấn truy cập trang đích trên chế độ chờ, liệu có thể hiển thị dữ liệu hay không.
Trên máy chủ chính, những trường hợp này chỉ cần chờ đợi; Và người dùng có thể chọn hủy một trong hai hành động mâu thuẫn. Tuy nhiên, ở chế độ chờ không có lựa chọn nào: hành động Wal-logged đã xảy ra ở chính để dự phòng không được không áp dụng nó. Hơn nữa, cho phép ứng dụng WAL chờ đợi vô thời hạn có thể rất không mong muốn, bởi vì trạng thái của dự phòng sẽ ngày càng vượt xa vị trí chính. Do đó, một cơ chế được cung cấp để hủy bỏ cách đọc kèo bóng đá truy vấn dự phòng xung đột với cách đọc kèo bóng đá bản ghi Wal được ứng dụng.
Một ví dụ về tình huống có vấn đề là quản trị viên trên máy chủ chính đang chạyBẢNG DROP
Trên một bảng hiện đang được truy vấn trên máy chủ dự phòng. Rõ ràng truy vấn chờ cách đọc kèo bóng đá thể tiếp tục nếuBẢNG DROP
được áp dụng trên chế độ chờ. Nếu tình huống này xảy ra trên chính,BẢNG DROP
Sẽ đợi cho đến khi truy vấn khác kết thúc. Nhưng khiBẢNG DROP
được chạy trên chính, chính không có thông tin về những truy vấn nào đang chạy ở chế độ chờ, vì vậy nó sẽ không chờ đợi bất kỳ truy vấn dự phòng nào như vậy. cách đọc kèo bóng đá bản ghi WAL Change đến dự phòng trong khi truy vấn chờ vẫn đang chạy, gây ra xung đột. Máy chủ dự phòng phải trì hoãn việc áp dụng cách đọc kèo bóng đá bản ghi Wal (và mọi thứ sau chúng cũng vậy) hoặc nếu không thì hãy hủy truy vấn mâu thuẫn đểBẢNG DROP
có thể được áp dụng.
Khi một truy vấn mâu thuẫn ngắn, thường mong muốn cho phép nó hoàn thành bằng cách trì hoãn ứng dụng Wal cho một chút; Nhưng một sự chậm trễ lâu trong ứng dụng Wal thường cách đọc kèo bóng đá mong muốn. Vì vậy, cơ chế hủy có tham số,Max_Standby_archive_delayvàMax_Standby_Streaming_Delay, xác định độ trễ tối đa được phép trong ứng dụng WAL. cách đọc kèo bóng đá truy vấn mâu thuẫn sẽ bị hủy sau khi mất nhiều thời gian hơn so với cài đặt độ trễ có liên quan để áp dụng bất kỳ dữ liệu WAL mới được nhận. Có hai tham số để có thể chỉ định cách đọc kèo bóng đá giá trị độ trễ khác nhau cho trường hợp đọc dữ liệu WAL từ kho lưu trữ (nghĩa là, phục hồi ban đầu từ bản sao lưu cơ sở hoặcBắt kịpHồiMột máy chủ dự phòng đã bị tụt lại phía sau) so với đọc dữ cách đọc kèo bóng đá WAL thông qua sao chép phát trực tuyến.
Trong một máy chủ dự phòng tồn tại chủ yếu để có tính khả dụng cao, tốt nhất là đặt cách đọc kèo bóng đá tham số độ trễ tương đối ngắn, do đó máy chủ không thể giảm xa so với chính do sự chậm trễ do cách đọc kèo bóng đá truy vấn dự phòng gây ra. Tuy nhiên, nếu máy chủ dự phòng có nghĩa là để thực hiện cách đọc kèo bóng đá truy vấn chạy dài, thì giá trị độ trễ cao hoặc thậm chí cao có thể được ưu tiên hơn. Tuy nhiên, hãy nhớ rằng một truy vấn chạy dài có thể khiến cách đọc kèo bóng đá phiên khác trên máy chủ dự phòng không thấy những thay đổi gần đây trên chính, nếu nó trì hoãn việc áp dụng WAL Records.
Sau khi độ trễ được chỉ định bởiMax_Standby_archive_delay
hoặcMAX_STANDBY_STRAMING_DELAY
đã bị vượt quá, cách đọc kèo bóng đá truy vấn xung đột sẽ bị hủy. Điều này thường chỉ dẫn đến lỗi hủy, mặc dù trong trường hợp phát lại Acơ sở dữ cách đọc kèo bóng đá thả
Toàn bộ phiên xung đột sẽ bị chấm dứt. Ngoài ra, nếu xung đột kết thúc với một khóa được tổ chức bởi một giao dịch nhàn rỗi, phiên mâu thuẫn bị chấm dứt (hành vi này có thể thay đổi trong tương lai).
cách đọc kèo bóng đá truy vấn bị hủy có thể được thử lại ngay lập tức (tất nhiên sau khi bắt đầu một giao dịch mới). Vì việc hủy truy vấn phụ thuộc vào bản chất của cách đọc kèo bóng đá bản ghi Wal được phát lại, một truy vấn đã bị hủy có thể thành công nếu nó được thực thi lại.
Hãy nhớ rằng cách đọc kèo bóng đá tham số độ trễ được so sánh với thời gian trôi qua kể từ khi dữ liệu WAL được máy chủ dự phòng nhận được. Do đó, khoảng thời gian ân hạn cho phép bất kỳ một truy vấn nào ở chế độ chờ không bao giờ nhiều hơn tham số độ trễ và có thể ít hơn đáng kể nếu dự phòng đã bị tụt lại do kết quả của việc chờ đợi cách đọc kèo bóng đá truy vấn trước đó hoàn thành hoặc do không thể theo kịp tải cập nhật nặng.
Lý do phổ biến nhất cho xung đột giữa cách đọc kèo bóng đá truy vấn chờ và phát lại Wal làLàm sạch sớmHồi. Thông thường,PostgreSQLCho phép dọn dẹp cách đọc kèo bóng đá phiên bản hàng cũ khi không có giao dịch nào cần xem chúng để đảm bảo khả năng hiển thị chính xác của dữ liệu theo quy tắc MVCC. Tuy nhiên, quy tắc này chỉ có thể được áp dụng cho cách đọc kèo bóng đá giao dịch thực thi trên chính. Vì vậy, có thể việc dọn dẹp trên chính sẽ xóa cách đọc kèo bóng đá phiên bản hàng vẫn còn hiển thị cho giao dịch ở chế độ chờ.
Dọn dẹp phiên bản hàng không phải là nguyên nhân tiềm năng duy nhất của xung đột với cách đọc kèo bóng đá truy vấn chờ. Tất cả cách đọc kèo bóng đá lần quét chỉ có chỉ mục (bao gồm cả những lần chạy trên standbys) phải sử dụngMVCCẢnh chụp nhanhđồng ý26785_26788Với bản đồ hiển thị. Do đó, xung đột được yêu cầu bất cứ khi nàoVACUUM
Đặt một trang là tất cả đều có thể nhìn thấy trong bản đồ hiển thịChứa một hoặc nhiều hàngcách đọc kèo bóng đáCó thể hiển thị cho tất cả cách đọc kèo bóng đá truy vấn chờ. Vì vậy, thậm chí chạyNút hút
Đối với bảng cách đọc kèo bóng đá có hàng được cập nhật hoặc bị xóa yêu cầu dọn dẹp có thể dẫn đến xung đột.
Người dùng nên rõ ràng rằng cách đọc kèo bóng đá bảng được cập nhật thường xuyên và nhiều trên máy chủ chính sẽ nhanh chóng gây ra hủy cách đọc kèo bóng đá truy vấn chạy dài hơn ở chế độ chờ. Trong những trường hợp như vậy, cài đặt giá trị hữu hạn choMax_Standby_archive_delay
hoặcMax_Standby_Streaming_Delay
có thể được coi là tương tự như cài đặtstatement_timeout
.
Khả năng khắc phục tồn tại nếu số lượng hủy bỏ trạng thái chờ được tìm thấy là cách đọc kèo bóng đá thể chấp nhận được. Tùy chọn đầu tiên là đặt tham sốhot_standby_feedback
, ngăn chặnVACUUM
Từ việc loại bỏ cách đọc kèo bóng đá hàng gần đây và do đó xung đột dọn dẹp không xảy ra. Nếu bạn làm điều này, bạn nên lưu ý rằng điều này sẽ trì hoãn việc dọn dẹp cách đọc kèo bóng đá hàng chết trên chính, điều này có thể dẫn đến sự phình to không mong muốn. Tuy nhiên, tình huống dọn dẹp sẽ không tệ hơn nếu cách đọc kèo bóng đá truy vấn dự phòng đang chạy trực tiếp trên máy chủ chính và bạn vẫn nhận được lợi ích của việc thực hiện giảm tải lên chế độ chờ. Nếu máy chủ dự phòng kết nối và ngắt kết nối thường xuyên, bạn có thể muốn thực hiện cách đọc kèo bóng đá điều chỉnh để xử lý khoảng thời gian khihot_standby_feedback
Phản hồi cách đọc kèo bóng đá được cung cấp. Ví dụ: xem xét tăngMax_Standby_archive_delay
để cách đọc kèo bóng đá truy vấn không bị hủy nhanh chóng bởi cách đọc kèo bóng đá xung đột trong cách đọc kèo bóng đá tệp lưu trữ Wal trong cách đọc kèo bóng đá khoảng thời gian bị ngắt kết nối. Bạn cũng nên xem xét tăngMax_Standby_Streaming_Delay
Để tránh hủy bỏ nhanh bằng cách đọc kèo bóng đá mục WAL phát trực tuyến mới được kết nối sau khi kết nối lại.
Số lượng truy vấn hủy bỏ và lý do cho chúng có thể được xem bằng cách sử dụngpg_stat_database_conflicts
Chế độ xem hệ thống trên máy chủ dự phòng. ThePG_STAT_DATABASE
Chế độ xem hệ thống cũng chứa thông tin tóm tắt.
Người dùng có thể kiểm soát xem thông báo nhật ký có được tạo cách đọc kèo bóng đá khi WAL phát lại đang đợi lâu hơndeadlock_timeout
cho xung đột. Điều này được kiểm soát bởilog_recovery_conflict_waitstham số.
nếuhot_standby
làtrên
inPostgreSql.conf
29984_30022standby.signal
Tệp hiện tại, máy chủ sẽ chạy ở chế độ chờ nóng. Tuy nhiên, có thể mất một thời gian để cách đọc kèo bóng đá kết nối dự phòng nóng được phép, vì máy chủ sẽ không chấp nhận kết nối cho đến khi hoàn thành việc phục hồi đủ để cung cấp trạng thái nhất quán mà cách đọc kèo bóng đá truy vấn có thể chạy. Trong giai đoạn này, cách đọc kèo bóng đá khách hàng cố gắng kết nối sẽ bị từ chối với một thông báo lỗi. Để xác nhận máy chủ đã xuất hiện, vòng lặp cố gắng kết nối từ ứng dụng hoặc tìm kiếm cách đọc kèo bóng đá thông báo này trong nhật ký máy chủ:
30746_30911
Thông tin nhất quán được ghi lại một lần cho mỗi điểm kiểm tra trên chính. cách đọc kèo bóng đá thể kích hoạt chế độ chờ nóng khi đọc wal viết trong khoảng thời gianWal_Level
cách đọc kèo bóng đá được đặt thànhBản sao
hoặclogic
Trên chính. Đạt đến trạng thái nhất quán cũng có thể bị trì hoãn khi có cả hai điều kiện sau:
Một giao dịch ghi có hơn 64 lần trừ
Giao dịch ghi tồn tại rất lâu
31660_3180931829_31846
Cài đặt trên chính.
31887_32446
Max_Connections
MAX_PREPARED_TRANSACTIONS
MAX_LOCKS_PER_TRANSACTION
MAX_WAL_SENDERS
Max_Worker_Processes
Cách dễ nhất để đảm bảo điều này không trở thành vấn đề là đặt cách đọc kèo bóng đá tham số này được đặt trên standbys thành cách đọc kèo bóng đá giá trị bằng hoặc lớn hơn so với chính. Do đó, nếu bạn muốn tăng cách đọc kèo bóng đá giá trị này, trước tiên bạn nên làm như vậy trên tất cả cách đọc kèo bóng đá máy chủ dự phòng, trước khi áp dụng cách đọc kèo bóng đá thay đổi cho máy chủ chính. Ngược lại, nếu bạn muốn giảm cách đọc kèo bóng đá giá trị này, trước tiên bạn nên làm như vậy trên máy chủ chính, trước khi áp dụng cách đọc kèo bóng đá thay đổi cho tất cả cách đọc kèo bóng đá máy chủ dự phòng. Hãy nhớ rằng khi một dự phòng được quảng bá, nó trở thành tham chiếu mới cho cách đọc kèo bóng đá cài đặt tham số cần thiết cho cách đọc kèo bóng đá standbys theo nó. Do đó, để tránh điều này trở thành một vấn đề trong quá trình chuyển đổi hoặc chuyển đổi dự phòng, nên giữ cách đọc kèo bóng đá cài đặt này giống nhau trên tất cả cách đọc kèo bóng đá máy chủ dự phòng.
WAL theo dõi cách đọc kèo bóng đá thay đổi thành cách đọc kèo bóng đá tham số này trên chính. Nếu một dự phòng nóng quy trình wal chỉ ra rằng giá trị hiện tại trên sơ cấp cao hơn giá trị của chính nó, thì nó sẽ ghi lại cảnh báo và tạm dừng khôi phục, ví dụ:
CẢNH BÁO: Không thể chờ nóng vì không đủ cài đặt tham số Chi tiết: Max_Connections = 80 là cài đặt thấp hơn so với máy chủ chính, trong đó giá trị của nó là 100. Nhật ký: Phục hồi đã tạm dừng Chi tiết: Nếu phục hồi không được sử dụng, máy chủ sẽ tắt. Gợi ý: Sau đó bạn có thể khởi động lại máy chủ sau khi thực hiện cách đọc kèo bóng đá thay đổi cấu hình cần thiết.
Tại thời điểm đó, cách đọc kèo bóng đá cài đặt ở chế độ chờ cần được cập nhật và phiên bản được khởi động lại trước khi khôi phục có thể tiếp tục. Nếu chế độ chờ không phải là một chế độ chờ nóng, thì khi nó gặp phải sự thay đổi tham số không tương thích, nó sẽ tắt ngay lập tức mà không dừng lại, vì sau đó không có giá trị nào trong việc giữ nó lên.
Điều quan trọng là quản trị viên chọn cài đặt thích hợp choMax_Standby_archive_delayvàMAX_STANDBY_STRAMING_DELAY35143_35600
Trạng thái giao dịch "BITS BITS" được viết trên chính không được ghi lại, do đó, dữ liệu trên dự phòng có thể sẽ viết lại cách đọc kèo bóng đá gợi ý một lần nữa trên chế độ chờ. Do đó, máy chủ dự phòng vẫn sẽ thực hiện ghi đĩa mặc dù tất cả người dùng chỉ đọc được; Không có thay đổi xảy ra với cách đọc kèo bóng đá giá trị dữ liệu. Người dùng vẫn sẽ viết cách đọc kèo bóng đá tệp tạm thời sắp xếp lớn và tạo lại cách đọc kèo bóng đá tệp thông tin Relcache, vì vậy không có phần nào của cơ sở dữ liệu thực sự chỉ đọc trong chế độ chờ nóng. Cũng lưu ý rằng ghi vào cơ sở dữ liệu từ xa bằng cách sử dụngDBLINKMô-đun và cách đọc kèo bóng đá hoạt động khác ngoài cơ sở dữ liệu sử dụng cách đọc kèo bóng đá chức năng PL vẫn sẽ có thể, mặc dù giao dịch chỉ được đọc cục bộ.
cách đọc kèo bóng đá loại lệnh quản trị sau đây không được chấp nhận trong chế độ khôi phục:
Ngôn ngữ định nghĩa dữ cách đọc kèo bóng đá (DDL): ví dụ:Tạo chỉ mục
Đặc quyền và quyền sở hữu:Grant
, thu hồi
, RecentSign
lệnh bảo trì:Phân tích
, Nút hút
, cụm
, Reindex
Một lần nữa, lưu ý rằng một số lệnh này thực sự được phép trong quá trình giao dịch chế độ "chỉ đọc" trên chính.
Do đó, bạn không thể tạo cách đọc kèo bóng đá chỉ mục bổ sung chỉ tồn tại ở chế độ chờ, cũng như cách đọc kèo bóng đá số liệu thống kê chỉ tồn tại ở chế độ chờ. Nếu cách đọc kèo bóng đá lệnh quản trị này là cần thiết, chúng nên được thực thi trên chính và cuối cùng những thay đổi đó sẽ lan truyền đến chế độ chờ.
PG_CANCEL_BACKEND ()
vàpg_terminate_backend ()
sẽ hoạt động trên cách đọc kèo bóng đá phụ trợ của người dùng, nhưng không phải là quá trình khởi động, thực hiện khôi phục.pg_stat_activity
Không hiển thị cách đọc kèo bóng đá giao dịch phục hồi là hoạt động. Kết quả là,pg_prepared_xacts
Luôn trống trong quá trình phục hồi. Nếu bạn muốn giải quyết cách đọc kèo bóng đá giao dịch đã chuẩn bị trong nghi ngờ, hãy xempg_prepared_xacts
37989_38098
pg_locks
sẽ hiển thị cách đọc kèo bóng đá khóa được giữ bởi cách đọc kèo bóng đá phụ trợ, như bình thường.pg_locks
cũng hiển thị một giao dịch ảo được quản lý bởi quy trình khởi động sở hữu tất cảAccessExclusiveLocks
Được tổ chức bởi cách đọc kèo bóng đá giao dịch được phát lại bởi Phục hồi. Lưu ý rằng quá trình khởi động không có được khóa để thay đổi cơ sở dữ liệu và do đó khóa khác vớiAccessExclusiveLocks
cách đọc kèo bóng đá hiển thị trongpg_locks
38622_38682
TheNagiospluginCheck_pgsqlsẽ hoạt động, vì thông tin đơn giản mà nó kiểm tra tồn tại. TheCheck_PostgresTập lệnh giám sát cũng sẽ hoạt động, mặc dù một số giá trị được báo cáo có thể cho kết quả khác nhau hoặc khó hiểu. Ví dụ, thời gian chân không cuối cùng sẽ không được duy trì, vì không có chân không xảy ra ở chế độ chờ. Máy hút bụi chạy trên sơ cấp vẫn gửi cách đọc kèo bóng đá thay đổi của chúng đến chế độ chờ.
cách đọc kèo bóng đá lệnh điều khiển tệp Wal sẽ không hoạt động trong quá trình khôi phục, ví dụ:pg_backup_start
, pg_switch_wal
vv.
cách đọc kèo bóng đá mô -đun có thể tải động hoạt động, bao gồmpg_stat_statements
.
39466_39885
cách đọc kèo bóng đá hệ thống sao chép dựa trên kích hoạt nhưslony, LondistevàBucardohoàn toàn không chạy ở chế độ chờ, mặc dù chúng sẽ chạy vui vẻ trên máy chủ chính miễn là cách đọc kèo bóng đá thay đổi không được gửi đến máy chủ dự phòng để được áp dụng. WAL phát lại không dựa trên kích hoạt để bạn không thể chuyển từ chế độ chờ đến bất kỳ hệ thống nào yêu cầu cơ sở dữ liệu bổ sung ghi hoặc phụ thuộc vào việc sử dụng cách đọc kèo bóng đá trình kích hoạt.
cách đọc kèo bóng đá thể gán OIDS mới, mặc dù một sốUUIDMáy phát điện vẫn có thể hoạt động miễn là chúng cách đọc kèo bóng đá dựa vào việc viết trạng thái mới vào cơ sở dữ liệu.
Hiện tại, việc tạo bảng tạm thời không được phép trong cách đọc kèo bóng đá giao dịch chỉ đọc, vì vậy trong một số trường hợp, cách đọc kèo bóng đá tập lệnh hiện tại sẽ không chạy chính xác. Hạn chế này có thể được nới lỏng trong một bản phát hành sau này. Đây là cả vấn đề tuân thủ tiêu chuẩn SQL và vấn đề kỹ thuật.
Thả cách đọc kèo bóng đá gian bảng
Chỉ có thể thành công nếu cách đọc kèo bóng đá gian bảng trống. Một số người dùng dự phòng có thể đang tích cực sử dụng cách đọc kèo bóng đá gian bảng thông qua của họTEMP_TABLESPACES
Tham số. Nếu có cách đọc kèo bóng đá tệp tạm thời trong không gian bảng, tất cả cách đọc kèo bóng đá truy vấn hoạt động sẽ bị hủy để đảm bảo rằng cách đọc kèo bóng đá tệp tạm thời bị xóa, do đó có thể xóa không gian bảng và có thể tiếp tục phát lại Wal.
chạyDrop Database
hoặcThay đổi cơ sở dữ liệu ... Đặt cách đọc kèo bóng đá gian bảng
Trên chính sẽ tạo ra một mục nhập WAL sẽ khiến tất cả người dùng được kết nối với cơ sở dữ cách đọc kèo bóng đá đó ở chế độ chờ bị ngắt kết nối. Hành động này xảy ra ngay lập tức, bất kể cài đặt củaMax_Standby_Streaming_Delay
. Lưu ý rằngthay đổi cơ sở dữ cách đọc kèo bóng đá ... Đổi tên
Không ngắt kết nối người dùng, trong hầu hết cách đọc kèo bóng đá trường hợp sẽ không được chú ý, mặc dù trong một số trường hợp, có thể có thể gây ra sự nhầm lẫn của chương trình nếu nó phụ thuộc vào một cách nào đó khi tên cơ sở dữ liệu.
Trong chế độ bình thường (cách đọc kèo bóng đá phục hồi), nếu bạn phát hànhThả người dùng
hoặcVai trò thả
Đối với vai trò với khả năng đăng nhập trong khi người dùng đó vẫn được kết nối thì cách đọc kèo bóng đá có gì xảy ra với người dùng được kết nối - chúng vẫn được kết nối. Người dùng cách đọc kèo bóng đá thể kết nối lại tuy nhiên. Hành vi này cũng áp dụng trong phục hồi, vì vậyThả người dùng
Trên chính cách đọc kèo bóng đá ngắt kết nối người dùng đó ở chế độ chờ.
Hệ thống thống kê tích lũy đang hoạt động trong quá trình phục hồi. Tất cả cách đọc kèo bóng đá lần quét, đọc, khối, sử dụng chỉ mục, v.v., sẽ được ghi lại bình thường ở chế độ chờ. Tuy nhiên, Wal Replay sẽ không tăng mối quan hệ và cách đọc kèo bóng đá bộ đếm cụ thể của cơ sở dữ liệu. Tức là Phát lại sẽ không tăng cách đọc kèo bóng đá cột pg_stat_all_tables (như n_tup_ins), cũng không đọc hoặc ghi được thực hiện bởi quá trình khởi động
Autovacuum cách đọc kèo bóng đá hoạt động trong quá trình phục hồi. Nó sẽ bắt đầu bình thường khi kết thúc phục hồi.
42886_43235điểm kiểm tra
43272_43375
cách đọc kèo bóng đá tham số khác nhau đã được đề cập ở trên trongPhần 27.4.2vàPhần 27.4.3.
Trên chính,Wal_Leveltham số có thể được sử dụng.Max_Standby_archive_delayvàMax_Standby_Streaming_Delaycách đọc kèo bóng đá có hiệu lực nếu được đặt trên chính.
Trên chế độ chờ, tham sốhot_standby, Max_Standby_archive_delayvàMAX_STANDBY_STRAMING_DELAYcó thể được sử dụng.
Có một số hạn chế của chế độ chờ nóng. Những thứ này có thể và có thể sẽ được sửa trong cách đọc kèo bóng đá bản phát hành trong tương lai:
Có thể thực hiện kiến thức đầy đủ về giao dịch chạy trước khi có thể thực hiện ảnh chụp nhanh. cách đọc kèo bóng đá giao dịch sử dụng số lượng lớn cách đọc kèo bóng đá lần trừ (hiện lớn hơn 64) sẽ trì hoãn việc bắt đầu cách đọc kèo bóng đá kết nối chỉ đọc cho đến khi hoàn thành giao dịch ghi chạy dài nhất. Nếu tình huống này xảy ra, cách đọc kèo bóng đá tin nhắn giải thích sẽ được gửi đến nhật ký máy chủ.
45690_46435
Khi kết thúc phục hồi,AccessExclusiveLocks
Được tổ chức bởi cách đọc kèo bóng đá giao dịch đã chuẩn bị sẽ yêu cầu gấp đôi số lượng mục nhập bảng khóa thông thường. Nếu bạn có kế hoạch chạy một số lượng lớn cách đọc kèo bóng đá giao dịch được chuẩn bị đồng thời thường thực hiệnAccessExclusiveLocks
hoặc bạn có kế hoạch có một giao dịch lớn mất nhiềuAccessExclusiveLocks
, bạn nên chọn giá trị lớn hơnMAX_LOCKS_PER_TRANSACTION
, có lẽ gấp đôi giá trị của tham số trên máy chủ chính. Bạn cách đọc kèo bóng đá cần xem xét điều này nếu cài đặt của bạnMAX_PREPARED_TRANSACTIONS
là 0.
Mức cách ly giao dịch có thể nối tiếp chưa có sẵn ở chế độ chờ nóng. (Nhìn thấyPhần 13.2.3vàPhần 13.4.147669_47797
Nếu bạn thấy bất cứ điều gì trong tài liệu cách đọc kèo bóng đá chính xác, cách đọc kèo bó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ụng49187_49198Để báo cáo vấn đề tài cách đọc kèo bóng đá.