Postgresql: Tài tỷđượ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 chosoi kèo bóng đá truoctranTệp được đáp ứng và mọi điều chỉnh cần thiết được thực hiện (xemPhần 28.5).
Postgresql: Tài kèoBản ghi được thêm vàosoi kèo bóng đá truoctranTệ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 soi kèo bóng đá truoctran, 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ữ soi kèo bóng đá truoctranPG_LSN
. Các giá trị có thể được so sánh để tính toán khối lượng củasoi kèo bóng đá truoctranDữ soi kèo bóng đá truoctran 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.
soi kèo bóng đá truoctranTệp được lưu trữ trong thư mụcPG_WAL
Theo thư mục dữ soi kèo bóng đá truoctran, 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--soi kèo bóng đá truoctran-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-soi kèo bóng đá truoctran-blocksize
Tùy chọn định cấu hình). Các tiêu đề ghi soi kèo bóng đá truoctran đượ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 soi kèo bóng đá truoctran đượ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ữ soi kèo bóng đá truoctran chính đến vị trí mới.
Mục đích củasoi kèo bóng đá truoctranlà để đảm bảo rằng nhật ký được viết trước khi các bản ghi cơ sở dữ soi kèo bóng đá truoctran 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 kernel, trong khi thực tế họ chỉ lưu trữ dữ soi kèo bóng đá truoctran 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ữ soi kèo bóng đá truoctran không thể phục hồi.PostgreSQL'sPostgresql: Tài kèo bóng đáTệp không thực hiện các báo cáo sai như vậy. (Nhìn thấyPhần 28.1.)
13235_13338pg_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í soi kèo bóng đá truoctran đượ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 soi kèo bóng đá truoctran 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ề 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ữ soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran không chính xác, không phù hợpMẫu nàyĐể báo cáo vấn đề tài soi kèo bóng đá truoctran.