Để bắt đầu kèo bóng đá pháp phát trực tuyến, Frontend gửikèo bóng đá pháp
Tham số trong thông báo khởi động. Giá trị boolean củaTRUE
Nói với phần phụ trợ đi vào chế độ Walsender, trong đó một tập hợp nhỏ các lệnh kèo bóng đá pháp có thể được ban hành thay vì các câu lệnh SQL. Chỉ có thể sử dụng giao thức truy vấn đơn giản trong chế độ Walsender. Các lệnh kèo bóng đá pháp được ghi vào nhật ký máy chủ khilog_replication_commandsđược bật. Đi quaCơ sở dữ liệu
Vì giá trị hướng dẫn Walsender kết nối với cơ sở dữ liệu được chỉ định trongdbname
tham số, sẽ cho phép kết nối được sử dụng để kèo bóng đá pháp logic từ cơ sở dữ liệu đó.
Với mục đích kiểm tra các lệnh kèo bóng đá pháp, bạn có thể thực hiện kết nối kèo bóng đá pháp quaPSQLhoặc bất kỳ ai kháclibpq
Công cụ sử dụng với chuỗi kết nối bao gồmkèo bóng đá pháp
Tùy chọn, ví dụ:
10909_10976
Tuy nhiên, việc sử dụng thường hữu ích hơnPG_ReceiveWal(để kèo bóng đá pháp vật lý) hoặcpg_recvlogical(để kèo bóng đá pháp logic).
Các lệnh được chấp nhận trong chế độ Walsender là:
INEMENT_SYSTEM
Yêu cầu máy chủ tự xác định. Máy chủ trả lời với một tập hợp kết quả của một hàng, chứa bốn trường:
SystemID
(Text
)Định danh hệ thống duy nhất xác định cụm. Điều này có thể được sử dụng để kiểm tra xem bản kèo bóng đá pháp lưu cơ sở được sử dụng để khởi tạo dự phòng đến từ cùng một cụm.
Dòng thời gian
(INT4
)ID dòng thời gian hiện tại. Cũng hữu ích để kiểm tra xem chế độ chờ có phù hợp với chủ không.
XLOGPOS
(Text
)Vị trí Flush WAL hiện tại. Hữu ích để có được một vị trí đã biết trong nhật ký ghi lại nơi kèo bóng đá pháp có thể bắt đầu.
dbname
(Text
)Cơ sở dữ liệu được kết nối với hoặc NULL.
show
tên
Yêu cầu máy chủ gửi cài đặt hiện tại của tham số thời gian chạy. Điều này tương tự như lệnh sqlshow.
tên
Tên của tham số thời gian chạy. Các tham số có sẵn được ghi lại trongChương 19.
Timeline_history
TLI
Yêu cầu máy chủ gửi qua tệp lịch sử dòng thời gian cho dòng thời gianTLI
. Máy chủ trả lời với một tập hợp kết quả của một hàng, chứa hai trường. Trong khi các trường được dán nhãn làText
vàbytea
, họ trả lại hiệu quả các byte thô, không có chuyển đổi thoát hoặc mã hóa:
FileName
(Text
)Tên tệp của Tệp Lịch sử Dòng thời gian, ví dụ:00000002.history
.
Nội dung
(bytea
)Nội dung của Tệp Lịch sử Dòng thời gian.
create_Replication_Slot
slot_name
[tạm thời
]Vật lý
[dự trữ_wal
] |logic
output_plugin
[export_snapshot
| NoExport_SnapShot
| use_snapshot
]Tạo khe kèo bóng đá pháp vật lý hoặc logic. Nhìn thấyPhần 26.2.6Để biết thêm về các khe kèo bóng đá pháp.
slot_name
Tên của khe để tạo. Phải là một tên khe kèo bóng đá pháp hợp lệ (xemPhần 26.2.6.1).
output_plugin
Tên của plugin đầu ra được sử dụng để giải mã logic (xemPhần 48.6).
tạm thời
Chỉ định rằng khe kèo bóng đá pháp này là một điểm tạm thời. Các khe tạm thời không được lưu vào đĩa và tự động bị loại bỏ hoặc khi phiên kết thúc.
dự trữ_wal
Chỉ định rằng dự trữ khe kèo bóng đá pháp vật lý nàyWalNgay lập tức. Nếu không thì,Walchỉ được bảo lưu khi kết nối từ máy khách kèo bóng đá pháp phát trực tuyến.
export_snapshot
NoExport_SnapShot
use_snapshot
Quyết định phải làm gì với ảnh chụp nhanh được tạo trong quá trình khởi tạo khe logic.export_snapshot
, là mặc định, sẽ xuất hình ảnh chụp nhanh để sử dụng trong các phiên khác. Tùy chọn này không thể được sử dụng bên trong một giao dịch.use_snapshot
sẽ sử dụng ảnh chụp nhanh cho giao dịch hiện tại thực hiện lệnh. Tùy chọn này phải được sử dụng trong một giao dịch vàcreate_Replication_Slot
phải là lệnh đầu tiên chạy trong giao dịch đó. Cuối cùng,NoExport_SnapShot
Sẽ chỉ sử dụng ảnh chụp nhanh để giải mã logic như bình thường nhưng sẽ không làm gì khác với nó.
Đáp lại lệnh này, máy chủ sẽ gửi bộ kết quả một hàng chứa các trường sau:
slot_name
(Text
)Tên của khe kèo bóng đá pháp mới được tạo ra.
17981_17999
(Text
)Vị trí Wal mà tại đó khe trở nên nhất quán. Đây là vị trí sớm nhất mà phát trực tuyến có thể bắt đầu trên khe kèo bóng đá pháp này.
snapshot_name
(Text
)Định danh của ảnh chụp nhanh được xuất bởi lệnh. Ảnh chụp có hiệu lực cho đến khi một lệnh mới được thực thi trên kết nối này hoặc kết nối kèo bóng đá pháp được đóng. Null nếu khe được tạo là vật lý.
output_plugin
(Text
)Tên của plugin đầu ra được sử dụng bởi khe kèo bóng đá pháp mới được tạo. Null nếu khe được tạo là vật lý.
start_Replication
[slot
slot_name
] [Vật lý
]xxx/xxx
[Dòng thời gian
tli
]Hướng dẫn máy chủ bắt đầu kèo bóng đá pháp WAL, bắt đầu tại WAL Vị tríxxx/xxx
. Nếu nhưDòng thời gian
Tùy chọn được chỉ định, kèo bóng đá pháp bắt đầu trên dòng thời giantli
; Mặt khác, dòng thời gian hiện tại của máy chủ được chọn. Máy chủ có thể trả lời với một lỗi, ví dụ nếu phần được yêu cầu của WAL đã được tái chế. Khi thành công, máy chủ phản hồi bằng một thông báo copybothresponse, và sau đó bắt đầu kèo bóng đá pháp tiếp trên frontend.
Nếu tên của một khe được cung cấp quaslot_name
, nó sẽ được cập nhật khi tiến triển kèo bóng đá pháp để máy chủ biết phân đoạn wal nào và nếuhot_standby_feedback
là trên đó các giao dịch, vẫn cần thiết bởi dự phòng.
Nếu khách hàng yêu cầu một dòng thời gian không phải là mới nhất nhưng là một phần của lịch sử của máy chủ, máy chủ sẽ truyền tất cả các wal trên dòng thời gian đó bắt đầu từ việc bắt đầu được yêu cầu chỉ đến điểm mà máy chủ chuyển sang dòng thời gian khác. Nếu máy khách yêu cầu phát trực tuyến chính xác vào cuối dòng thời gian cũ, máy chủ sẽ trả lời ngay với CommandComplete mà không cần vào chế độ kèo bóng đá pháp.
Sau khi phát trực tuyến tất cả các dòng thời gian không phải là cái mới nhất, máy chủ sẽ kết thúc phát trực tuyến bằng cách thoát khỏi chế độ kèo bóng đá pháp. Khi máy khách thừa nhận điều này bằng cách thoát khỏi chế độ kèo bóng đá pháp, máy chủ sẽ gửi một tập kết quả với một hàng và hai cột, cho biết dòng thời gian tiếp theo trong lịch sử của máy chủ này. Cột đầu tiên là ID dòng thời gian tiếp theo (loạiINT8
) và cột thứ hai là vị trí WAL nơi công tắc xảy ra (loạiText
). Thông thường, vị trí chuyển đổi là kết thúc của Wal đã được kèo bóng đá pháp, nhưng có những trường hợp góc trong đó máy chủ có thể gửi một số Wal từ dòng thời gian cũ mà nó không được phát lại trước khi quảng cáo. Cuối cùng, máy chủ gửi tin nhắn CommandComplete và sẵn sàng chấp nhận lệnh mới.
Dữ liệu Wal được gửi dưới dạng một loạt các tin nhắn copyData. .
Xác định thông báo là dữ liệu Wal.
Điểm bắt đầu của dữ liệu WAL trong thông báo này.
Kết thúc hiện tại của Wal trên máy chủ.
Đồng hồ hệ thống của máy chủ tại thời điểm truyền, dưới dạng micro giây kể từ nửa đêm trên 2000-01-01.
n
Một phần của luồng dữ liệu Wal.
Một bản ghi WAL duy nhất không bao giờ được chia trên hai tin nhắn XLogData. Khi một bản ghi WAL vượt qua ranh giới trang Wal và do đó đã được chia bằng cách sử dụng các bản ghi tiếp tục, nó có thể được chia ở ranh giới trang. Nói cách khác, bản ghi WAL chính đầu tiên và các bản ghi tiếp tục của nó có thể được gửi trong các tin nhắn XLogData khác nhau.
Xác định thông báo là người gửi giữ.
Đầu hiện tại của Wal trên máy chủ.
Đồng hồ hệ thống của máy chủ tại thời điểm truyền, dưới dạng micro giây kể từ nửa đêm trên 2000-01-01.
1 có nghĩa là khách hàng nên trả lời tin nhắn này càng sớm càng tốt, để tránh mất thời gian chờ. 0 nếu không.
Quá trình nhận có thể gửi trả lời lại cho người gửi bất cứ lúc nào, sử dụng một trong các định dạng tin nhắn sau (cũng trong tải trọng của tin nhắn copyData):
Xác định thông báo là cập nhật trạng thái người nhận.
Vị trí của wal byte cuối cùng + 1 đã nhận và ghi vào đĩa trong chế độ chờ.
Vị trí của wal byte cuối cùng + 1 được chuyển vào đĩa ở chế độ chờ.
Vị trí của wal byte cuối cùng + 1 được áp dụng ở chế độ chờ.
Đồng hồ hệ thống của khách hàng tại thời điểm truyền, dưới dạng micro giây kể từ nửa đêm trên 2000-01-01.
24485_24642
Xác định thông báo là thông báo phản hồi dự phòng nóng.
Đồng hồ hệ thống của khách hàng tại thời điểm truyền, dưới dạng micro giây kể từ nửa đêm trên 2000-01-01.
XMIN toàn cầu hiện tại của chế độ chờ, không bao gồm catalog_xmin từ bất kỳ vị trí kèo bóng đá pháp nào. Nếu cả giá trị này và catalog_xmin sau đây là 0 thì điều này được coi là một thông báo rằng phản hồi dự phòng nóng sẽ không còn được gửi trên kết nối này. Các tin nhắn không khác nhau sau này có thể tái cấu trúc cơ chế phản hồi.
Epoch của xmin xid toàn cầu trên chế độ chờ.
Catalog_xmin thấp nhất của bất kỳ vị trí kèo bóng đá pháp nào trên chế độ chờ. Được đặt thành 0 nếu không có catalog_xmin tồn tại ở chế độ chờ hoặc nếu phản hồi dự phòng nóng bị vô hiệu hóa.
Epoch của catalog_xmin xid trên chế độ chờ.
start_Replication
Slot
slot_name
logic
xxx/xxx
[(Tùy chọn_NAME
[Tùy chọn_Value
] [, ...])]Hướng dẫn máy chủ bắt đầu phát trực tuyến WAL để kèo bóng đá pháp logic, bắt đầu tại vị trí Walxxx/xxx
. Máy chủ có thể trả lời với một lỗi, ví dụ nếu phần được yêu cầu của WAL đã được tái chế. Khi thành công, máy chủ trả lời bằng tin nhắn Copybothresponse, và sau đó bắt đầu kèo bóng đá pháp tiếp Wal đến Frontend.
Các tin nhắn bên trong các tin nhắn copybothresponse có cùng định dạng được ghi lại choStart_Replication ... Vật lý
.
Plugin đầu ra được liên kết với khe đã chọn được sử dụng để xử lý đầu ra để kèo bóng đá pháp.
slot
slot_name
Tên của khe cắm để truyền thay đổi từ. Tham số này được yêu cầu và phải tương ứng với một khe kèo bóng đá pháp logic hiện có được tạo bằngcreate_Replication_Slot
inlogic
chế độ.
xxx/xxx
Vị trí Wal để bắt đầu kèo bóng đá pháp tại.
Tùy chọn_NAME
Tên của một tùy chọn được chuyển cho plugin giải mã logic của khe.
Tùy chọn_Value
Giá trị tùy chọn, dưới dạng hằng số chuỗi, được liên kết với tùy chọn được chỉ định.
DROP_REPLICATION_SLOT
slot_name
[chờ
]Thả một khe kèo bóng đá pháp, giải phóng mọi tài nguyên phía máy chủ dành riêng. Nếu khe là một khe logic được tạo trong cơ sở dữ liệu không phải là cơ sở dữ liệu, walsender được kết nối, lệnh này sẽ không thành công.
slot_name
Tên của khe cắm.
chờ
Tùy chọn này khiến lệnh phải chờ nếu khe được kích hoạt cho đến khi nó không hoạt động, thay vì hành vi mặc định là tăng lỗi.
base_backup
[Nhãn
'Nhãn'
] [Tiến trình
] [nhanh
] [Wal
] [nowait
] [MAX_RATE
Rate
] [Tablespace_Map
]Hướng dẫn máy chủ bắt đầu phát trực tuyến bản kèo bóng đá pháp lưu cơ sở. Hệ thống sẽ tự động được đặt ở chế độ kèo bóng đá pháp lưu trước khi bản kèo bóng đá pháp lưu được bắt đầu và được lấy ra khỏi nó khi bản kèo bóng đá pháp lưu hoàn tất. Các tùy chọn sau được chấp nhận:
nhãn
'Nhãn'
Đặt nhãn của bản kèo bóng đá pháp lưu. Nếu không được chỉ định, nhãn kèo bóng đá pháp lưu củakèo bóng đá pháp lưu cơ sở
sẽ được sử dụng. Các quy tắc trích dẫn cho nhãn giống như chuỗi SQL tiêu chuẩn vớiStandard_Conforming_StringsBật.
Tiến trình
Thông tin yêu cầu cần thiết để tạo báo cáo tiến độ. Điều này sẽ gửi lại một kích thước gần đúng trong tiêu đề của mỗi không gian bảng, có thể được sử dụng để tính toán thời gian dọc theo luồng được thực hiện. Điều này được tính toán bằng cách liệt kê tất cả các kích thước tệp một lần trước khi chuyển giao thậm chí bắt đầu và có thể có tác động tiêu cực đến hiệu suất. Cụ thể, có thể mất nhiều thời gian hơn trước khi dữ liệu đầu tiên được truyền phát. Vì các tệp cơ sở dữ liệu có thể thay đổi trong quá trình kèo bóng đá pháp lưu, kích thước chỉ gần đúng và cả có thể phát triển và thu nhỏ giữa thời gian xấp xỉ và gửi các tệp thực tế.
nhanh
Yêu cầu điểm kiểm tra nhanh.
Wal
Bao gồm các phân đoạn Wal cần thiết trong bản kèo bóng đá pháp lưu. Điều này sẽ bao gồm tất cả các tệp giữa bắt đầu và dừng kèo bóng đá pháp lưu trongpg_wal
Thư mục của thư mục cơ sở Tệp TAR.
nowait
Theo mặc định, bản kèo bóng đá pháp lưu sẽ đợi cho đến khi phân đoạn Wal được yêu cầu cuối cùng đã được lưu trữ hoặc phát ra cảnh báo nếu lưu trữ nhật ký không được bật. Chỉ địnhnowait
Vô hiệu hóa cả chờ và cảnh báo, khiến máy khách chịu trách nhiệm đảm bảo nhật ký cần thiết.
MAX_RATE
Rate
Giới hạn (bướm ga) Lượng dữ liệu tối đa được chuyển từ máy chủ sang máy khách trên mỗi đơn vị thời gian. Các đơn vị dự kiến là kilobyte mỗi giây. Nếu tùy chọn này được chỉ định, giá trị phải bằng 0 hoặc nó phải nằm trong phạm vi từ 32 KB đến 1 GB (bao gồm). Nếu số không được thông qua hoặc tùy chọn không được chỉ định, không có giới hạn nào được áp dụng cho việc chuyển nhượng.
TablePace_Map
Bao gồm thông tin về các liên kết tượng trưng có trong thư mụcPG_TBLSPC
Trong một tệp có tênTablePace_Map
. Tệp bản đồ không gian bảng bao gồm mỗi tên liên kết tượng trưng vì nó tồn tại trong thư mụcPG_TBLSPC/
và đường dẫn đầy đủ của liên kết tượng trưng đó.
Khi bản kèo bóng đá pháp lưu được khởi động, máy chủ trước tiên sẽ gửi hai bộ kết quả thông thường, theo sau là một hoặc nhiều kết quả bản kèo bóng đá pháp.
Tập kết quả thông thường đầu tiên chứa vị trí bắt đầu của bản kèo bóng đá pháp lưu, trong một hàng duy nhất với hai cột. Cột đầu tiên chứa vị trí bắt đầu được đưa ra ở định dạng XLOGRECPTR và cột thứ hai chứa ID dòng thời gian tương ứng.
Bộ kết quả thông thường thứ hai có một hàng cho mỗi không gian bảng. Các trường trong hàng này là:
spcoid
(oid
)oid của không gian bảng hoặc null nếu đó là thư mục cơ sở.
spclocation
(Text
)Đường dẫn đầy đủ của thư mục bảng không gian hoặc null nếu đó là thư mục cơ sở.
size
(INT8
)Kích thước gần đúng của không gian bảng, nếu báo cáo tiến độ đã được yêu cầu; Nếu không thì đó là NULL.
Sau khi tập kết quả thường xuyên thứ hai, một hoặc nhiều kết quả bản kèo bóng đá pháp sẽ được gửi, một cho thư mục dữ liệu chính và một cho mỗi không gian bảng bổ sung khác vớipg_default
vàpg_global
. Dữ liệu trong kết quả bản quyền sẽ là định dạng TAR (theoĐịnh dạng trao đổi UstarĐược chỉ định trong Dump tiêu chuẩn POSIX 1003.1-2008) của các nội dung không gian bảng, ngoại trừ hai khối zeroes được chỉ định trong tiêu chuẩn bị bỏ qua. Sau khi dữ liệu TAR hoàn tất, một tập kết quả thông thường cuối cùng sẽ được gửi, chứa vị trí cuối Wal của bản kèo bóng đá pháp lưu, ở cùng định dạng với vị trí bắt đầu.
Lưu trữ tar cho thư mục dữ liệu và mỗi không gian bảng sẽ chứa tất cả các tệp trong thư mục, bất kể chúng có phải làPOSTGRESQLTệp hoặc các tệp khác được thêm vào cùng một thư mục. Các tệp được loại trừ duy nhất là:
Postmaster.pid
Postmaster.opts
Các tệp và thư mục tạm thời khác nhau được tạo trong quá trình hoạt động của máy chủ PostgreSQL, chẳng hạn như bất kỳ tệp hoặc thư mục nào bắt đầu bằngPGSQL_TMP
.
PG_WAL
, bao gồm cả thư mục con. Nếu kèo bóng đá pháp lưu được chạy với các tệp WAL bao gồm, phiên bản tổng hợp củaPG_WAL
sẽ được bao gồm, nhưng nó sẽ chỉ chứa các tệp cần thiết để bản kèo bóng đá pháp lưu hoạt động, chứ không phải phần còn lại của nội dung.
pg_dynshmem
, pg_notify
, PG_REPLSLOT
, pg_serial
, pg_snapshots
, pg_stat_tmp
vàpg_subtrans
được kèo bóng đá pháp dưới dạng thư mục trống (ngay cả khi chúng là các liên kết tượng trưng).
Các tệp khác ngoài các tệp và thư mục thông thường, chẳng hạn như các liên kết tượng trưng (trừ các thư mục được liệt kê ở trên) và các tệp thiết bị đặc biệt, bị bỏ qua. (Liên kết tượng trưng trongPG_TBLSPC
được duy trì.)
Chế độ chủ sở hữu, nhóm và tệp được đặt nếu hệ thống tệp cơ bản trên máy chủ hỗ trợ nó.