Postgresql: Tài kèo bóngđược tự động bật; Không có hành động nào được yêu cầu từ quản trị viên ngoại trừ đảm bảo rằng các yêu cầu không gian đĩa chokèo bóng đá hôm nay và ngày maiTệp được đáp ứng và mọi điều chỉnh cần thiết được thực hiện (xemPhần 30,5).
kèo bóng đá hôm nay và ngày maiBản ghi được thêm vàokèo bóng đá hôm nay và ngày maiTệp như mỗi bản ghi mới được viết. Vị trí chèn được mô tả bởi một số chuỗi nhật ký (LSN) Đó là một byte bù vào kèo bóng đá hôm nay và ngày mai, tăng đơn điệu với mỗi bản ghi mới.LSNGiá trị được trả về dưới dạng kiểu dữ kèo bóng đá hôm nay và ngày maiPG_LSN
. Các giá trị có thể được so sánh để tính toán khối lượng củakèo bóng đá hôm nay và ngày maiDữ kèo bóng đá hôm nay và ngày mai tách chúng ra, vì vậy chúng được sử dụng để đo lường tiến trình sao chép và phục hồi.
kèo bóng đá hôm nay và ngày maiTệp được lưu trữ trong thư mụcpg_wal
Theo thư mục dữ kèo bóng đá hôm nay và ngày mai, dưới dạng tập hợp các tệp phân đoạn, thông thường mỗi kích thước 16 MB (nhưng kích thước có thể được thay đổi bằng cách thay đổi--kèo bóng đá hôm nay và ngày mai-segsize
initDBtùy chọn). Mỗi phân đoạn được chia thành các trang, thông thường là 8 kb (kích thước này có thể được thay đổi thông qua--with-kèo bóng đá hôm nay và ngày mai-blocksize
Tùy chọn định cấu hình). Các tiêu đề ghi kèo bóng đá hôm nay và ngày mai được mô tả trongAccess/xlogrecord.h
; Nội dung hồ sơ phụ thuộc vào loại sự kiện đang được ghi lại.000000010000000000000001
. Các số không bao gồm, nhưng sẽ mất một thời gian rất dài để làm cạn kiệt số lượng có sẵn.
Sẽ rất thuận lợi nếu kèo bóng đá hôm nay và ngày mai được đặt trên một đĩa khác từ các tệp cơ sở dữ liệu chính. Điều này có thể đạt được bằng cách di chuyểnPG_WAL
Thư mục đến một vị trí khác (trong khi máy chủ bị tắt, tất nhiên) và tạo một liên kết tượng trưng từ vị trí gốc trong thư mục dữ kèo bóng đá hôm nay và ngày mai chính đến vị trí mới.
Mục tiêu củakèo bóng đá hôm nay và ngày mailà để đảm bảo rằng nhật ký được viết trước khi các bản ghi cơ sở dữ kèo bóng đá hôm nay và ngày mai bị thay đổi, nhưng điều này có thể bị lật đổ bởi các ổ đĩaBáo cáo sai một cách ghi thành công cho hạt nhân, trong khi thực tế họ chỉ lưu trữ dữ kèo bóng đá hôm nay và ngày mai và chưa lưu trữ nó trên đĩa. Thất bại trong tình huống như vậy có thể dẫn đến tham nhũng dữ kèo bóng đá hôm nay và ngày mai không thể phục hồi.PostgreSQL'sPostgresql: Tài tỷ lệ kèoTệp không thực hiện các báo cáo sai như vậy. (Nhìn thấyPhần 30.1.)
13206_13309pg_control
. Do đó, khi bắt đầu phục hồi, máy chủ trước tiên đọcPG_Control
Và sau đó là bản ghi điểm kiểm tra; Sau đó, nó thực hiện thao tác làm lại bằng cách quét về phía trước từ vị trí kèo bóng đá hôm nay và ngày mai được chỉ ra trong bản ghi điểm kiểm tra.full_page_writeskhông bị vô hiệu hóa), tất cả các trang đã thay đổi vì điểm kiểm tra sẽ được khôi phục về trạng thái nhất quán.
Để đối phó với trường hợpPG_Control
bị hỏng, chúng ta nên hỗ trợ khả năng quét các phân đoạn kèo bóng đá hôm nay và ngày mai hiện có theo thứ tự ngược lại - mới nhất đến lâu đời nhất - để tìm điểm kiểm tra mới nhất. Điều này chưa được thực hiện.PG_Control
đủ nhỏ (ít hơn một trang đĩa) mà nó không phải chịu các vấn đề về viết một phần, và khi viết bài này, không có báo cáo về sự cố cơ sở dữ kèo bóng đá hôm nay và ngày mai do không thể đọc đượcPG_Control
chính nó. Vì vậy, trong khi về mặt lý thuyết là một điểm yếu,PG_Control
dường như không phải là vấn đề trong thực tế.
Nếu bạn thấy bất cứ điều gì trong tài kèo bóng đá hôm nay và ngày mai không chính xác, không khớpMẫu nàyĐể báo cáo vấn đề tài kèo bóng đá hôm nay và ngày mai.