AĐăng kýlà phía hạ lưu của sao chép logic. Nút nơi đăng ký được xác định được gọi làthuê bao. Đăng ký xác định kết nối với cơ sở dữ liệu khác và tập hợp các ấn phẩm (một hoặc nhiều) mà nó muốn đăng ký.
8930_9097
Một nút thuê bao có thể có nhiều đăng ký nếu muốn. Có thể xác định nhiều đăng ký giữa một cặp nhà xuất kèo chấp bóng đá hôm nay đơn đăng ký, trong đó phải chăm sóc trường hợp để đảm bảo rằng các đối tượng xuất kèo chấp bóng đá hôm nay đã đăng ký không trùng nhau.
Mỗi đăng ký sẽ nhận được các thay đổi thông qua một khe sao chép (xemPhần 27.2.6). Các khe sao chép bổ sung có thể được yêu cầu cho việc đồng bộ hóa dữ liệu ban đầu của dữ liệu bảng có sẵn và chúng sẽ bị loại bỏ khi kết thúc đồng bộ hóa dữ liệu.
Đăng ký sao chép logic có thể là một dự phòng để sao chép đồng bộ (xemPhần 27.2.8). Tên dự phòng theo mặc định tên đăng ký. Một tên thay thế có thể được chỉ định làapplication_name
Trong thông tin kết nối của đăng ký.
Đăng ký bị bỏ rơi bởipg_dump
Nếu người dùng hiện tại là siêu người dùng. Nếu không, một cảnh báo được viết và đăng ký bị bỏ qua, bởi vì những người không phải là người không phải là người quản lý không thể đọc tất cả thông tin đăng ký từpg_subcrip
Danh mục.
Đăng ký được thêm vào bằngkèo chấp bóng đá hôm nay đăng ký
và có thể dừng/tiếp tục bất cứ lúc nào bằng cách sử dụngĐăng ký thay đổi
lệnh và bị xóa bằng cách sử dụngĐăng ký thả
.
Khi đăng ký bị loại bỏ và tái kèo chấp bóng đá hôm nay, thông tin đồng bộ hóa bị mất. Điều này có nghĩa là dữ liệu phải được đồng bộ hóa sau đó.
Các định nghĩa lược đồ không được sao chép và các bảng được xuất kèo chấp bóng đá hôm nay phải tồn tại trên thuê bao. Chỉ các bảng thông thường có thể là mục tiêu sao chép. Ví dụ: bạn không thể sao chép theo chế độ xem.
Các bảng được khớp giữa nhà xuất kèo chấp bóng đá hôm nay và thuê bao bằng tên bảng đủ điều kiện. Sao chép các bảng được đặt tên khác nhau trên thuê bao không được hỗ trợ.
Các cột của bảng cũng được khớp theo tên. Thứ tự của các cột trong bảng thuê bao không cần phải khớp với nhà xuất kèo chấp bóng đá hôm nay. Các loại dữ liệu của các cột không cần phải khớp, miễn là biểu diễn văn kèo chấp bóng đá hôm nay của dữ liệu có thể được chuyển đổi thành loại đích. Ví dụ: bạn có thể sao chép từ một cột loạiSố nguyên
đến một cột loạiBigint
. Bảng mục tiêu cũng có thể có các cột bổ sung không được cung cấp bởi bảng được xuất kèo chấp bóng đá hôm nay. Bất kỳ cột như vậy sẽ được lấp đầy với giá trị mặc định như được chỉ định trong định nghĩa của bảng đích. Tuy nhiên, sao chép logic ở định dạng nhị phân là hạn chế hơn. Xemnhị phân
Tùy chọnkèo chấp bóng đá hôm nay đăng ký
Để biết chi tiết.
Như đã đề cập trước đó, mỗi đăng ký (hoạt động) nhận được các thay đổi từ một khe sao chép ở phía từ xa (xuất kèo chấp bóng đá hôm nay).
Các khe đồng bộ hóa bảng bổ sung thường thoáng qua, được kèo chấp bóng đá hôm nay bên trong để thực hiện đồng bộ hóa bảng ban đầu và tự động bị rơi khi chúng không còn cần thiết. Các khe đồng bộ hóa bảng này đã kèo chấp bóng đá hôm nay ra tên:Hồipg_%u_sync_%u_%llu
(tham số: đăng kýoid
, Bảngrelid
, định danh hệ thốngsysid
)
Thông thường, khe sao chép từ xa được kèo chấp bóng đá hôm nay tự động khi đăng ký được kèo chấp bóng đá hôm nay bằngkèo chấp bóng đá hôm nay đăng ký
Và nó bị loại bỏ tự động khi đăng ký bị loại bỏ bằng cách sử dụngĐăng ký thả
. Tuy nhiên, trong một số tình huống, nó có thể hữu ích hoặc cần thiết để điều khiển đăng ký và khe sao chép cơ kèo chấp bóng đá hôm nay riêng biệt. Đây là một số kịch kèo chấp bóng đá hôm nay:
Khi kèo chấp bóng đá hôm nay đăng ký, khe sao chép đã tồn tại. Trong trường hợp đó, đăng ký có thể được kèo chấp bóng đá hôm nay bằng cách sử dụngcreated_slot = false
Tùy chọn liên kết với khe hiện có.
Khi kèo chấp bóng đá hôm nay đăng ký, máy chủ từ xa không thể truy cập được hoặc ở trạng thái không rõ ràng. Trong trường hợp đó, đăng ký có thể được kèo chấp bóng đá hôm nay bằng cách sử dụngkết nối = false
Tùy chọn. Máy chủ từ xa sau đó sẽ không được liên lạc ở tất cả. Đây là những gìpg_dumpSử dụng. Khe sao chép từ xa sau đó sẽ phải được kèo chấp bóng đá hôm nay thủ công trước khi đăng ký có thể được kích hoạt.
Khi bỏ đăng ký, nên giữ khe sao chép. Điều này có thể hữu ích khi cơ sở dữ liệu thuê bao đang được chuyển sang một máy chủ khác và sẽ được kích hoạt từ đó. Trong trường hợp đó, hãy tháo rời vị trí từ đăng ký bằng cách sử dụngĐăng ký thay đổi
Trước khi thử bỏ đăng ký.
Khi bỏ đăng ký, máy chủ từ xa không thể truy cập được. Trong trường hợp đó, hãy tháo rời vị trí từ đăng ký bằng cách sử dụngThay đổi đăng ký
Trước khi cố gắng bỏ đăng ký. Nếu thể hiện cơ sở dữ liệu từ xa không còn tồn tại, thì không cần hành động nào nữa. Tuy nhiên, nếu, trường hợp cơ sở dữ liệu từ xa chỉ không thể truy cập được, khe sao chép (và bất kỳ khe đồng bộ hóa bảng nào còn lại) sau đó sẽ được bỏ thủ công; Nếu không, họ sẽ tiếp tục bảo lưu Wal và cuối cùng có thể khiến đĩa đổ đầy. Những trường hợp như vậy nên được điều tra cẩn thận.
kèo chấp bóng đá hôm nay một số bảng kiểm tra trên nhà xuất bản.
test_pub =# kèo chấp bóng đá hôm nay bảng T1 (A int, B văn bản, khóa chính (a)); kèo chấp bóng đá hôm nay bảng test_pub =# kèo chấp bóng đá hôm nay Bảng T2 (c int, d văn bản, khóa chính (c)); kèo chấp bóng đá hôm nay bảng test_pub =# kèo chấp bóng đá hôm nay Bảng T3 (E Int, F văn bản, Khóa chính (E)); kèo chấp bóng đá hôm nay bảng
kèo chấp bóng đá hôm nay cùng một bảng trên thuê bao.
test_sub =# kèo chấp bóng đá hôm nay Bảng T1 (A int, B văn bản, khóa chính (a)); kèo chấp bóng đá hôm nay bảng test_sub =# kèo chấp bóng đá hôm nay Bảng T2 (c int, d văn bản, khóa chính (c)); kèo chấp bóng đá hôm nay bảng test_sub =# kèo chấp bóng đá hôm nay Bảng T3 (E Int, F văn bản, Khóa chính (E)); kèo chấp bóng đá hôm nay bảng
Chèn dữ liệu vào các bảng ở phía nhà xuất kèo chấp bóng đá hôm nay.
test_pub =# chèn vào các giá trị T1 (1, 'một'), (2, 'hai'), (3, 'ba'); Chèn 0 3 test_pub =# chèn vào các giá trị T2 (1, 'a'), (2, 'b'), (3, 'c'); Chèn 0 3 test_pub =# chèn vào các giá trị T3 (1, 'i'), (2, 'ii'), (3, 'iii'); Chèn 0 3
kèo chấp bóng đá hôm nay các ấn phẩm cho các bảng. Các ấn phẩmPub2
vàPub3a
không cho phép một sốxuất kèo chấp bóng đá hôm nay
Hoạt động. Ấn phẩmPub3b
có bộ lọc hàng (xemPhần 31.3).
test_pub =# kèo chấp bóng đá hôm nay ấn phẩm Pub1 cho Bảng T1; kèo chấp bóng đá hôm nay ấn phẩm test_pub =# kèo chấp bóng đá hôm nay xuất bản pub2 cho bảng T2 với (xuất bản = 'cắt ngắn'); kèo chấp bóng đá hôm nay ấn phẩm test_pub =# kèo chấp bóng đá hôm nay xuất bản pub3a cho bảng t3 với (xuất bản = 'cắt ngắn'); kèo chấp bóng đá hôm nay ấn phẩm test_pub =# kèo chấp bóng đá hôm nay ấn phẩm Pub3b cho Bảng T3 trong đó (e 5); kèo chấp bóng đá hôm nay ấn phẩm
kèo chấp bóng đá hôm nay đăng ký cho các ấn phẩm. Đăng kýSub3
Đăng ký cảPub3a
vàPub3b
. Tất cả các đăng ký sẽ sao chép dữ liệu ban đầu theo mặc định.
test_sub =# kèo chấp bóng đá hôm nay đăng ký Sub1 test_sub-# kết nối 'host = localhost dbname = test_pub applice_name = sub1' test_sub-# xuất bản pub1; kèo chấp bóng đá hôm nay đăng ký test_sub =# kèo chấp bóng đá hôm nay Sub2 đăng ký Sub2 test_sub-# kết nối 'host = localhost dbname = test_pub applice_name = sub2' test_sub-# xuất bản pub2; kèo chấp bóng đá hôm nay đăng ký test_sub =# kèo chấp bóng đá hôm nay đăng ký Sub3 test_sub-# kết nối 'host = localhost dbname = test_pub applice_name = sub3' test_sub-# xuất bản pub3a, pub3b; kèo chấp bóng đá hôm nay đăng ký
Quan sát dữ liệu bảng ban đầu đó được sao chép, bất kểxuất kèo chấp bóng đá hôm nay
Hoạt động của ấn phẩm.
test_sub =# Chọn * từ T1; A | b ---+------- 1 | một 2 | hai 3 | ba (3 hàng) test_sub =# Chọn * từ T2; C | d ---+--- 1 | MỘT 2 | B 3 | C (3 hàng)
Hơn nữa, vì kèo chấp bóng đá hôm nay sao dữ liệu ban đầu bỏ quaxuất kèo chấp bóng đá hôm nay
Hoạt động và vì xuất kèo chấp bóng đá hôm nayPub3a
Không có bộ lọc hàng, nó có nghĩa là bảng được sao chépT3
Chứa tất cả các hàng ngay cả khi chúng không khớp với bộ lọc hàng của xuất kèo chấp bóng đá hôm nayPub3b
.
test_sub =# Chọn * từ T3; E | f ---+----- 1 | Tôi 2 | ii 3 | iii (3 hàng)
Chèn thêm dữ liệu vào các bảng ở phía nhà xuất kèo chấp bóng đá hôm nay.
test_pub =# chèn vào các giá trị T1 (4, 'bốn'), (5, 'năm'), (6, 'sáu'); Chèn 0 3 test_pub =# chèn vào các giá trị T2 (4, 'd'), (5, 'e'), (6, 'f'); Chèn 0 3 test_pub =# chèn vào các giá trị t3 (4, 'iv'), (5, 'v'), (6, 'vi'); Chèn 0 3
Bây giờ dữ liệu phía nhà xuất kèo chấp bóng đá hôm nay trông giống như:
test_pub =# Chọn * từ T1; A | b ---+------- 1 | một 2 | hai 3 | ba 4 | Bốn 5 | năm 6 | Sáu (6 hàng) test_pub =# Chọn * từ T2; C | d ---+--- 1 | MỘT 2 | B 3 | C 4 | D 5 | E 6 | F (6 hàng) test_pub =# Chọn * từ T3; E | f ---+----- 1 | Tôi 2 | ii 3 | iii 4 | iv 5 | v 6 | vi (6 hàng)
Quan sát rằng trong quá trình sao chép bình thường thích hợpxuất kèo chấp bóng đá hôm nay
Hoạt động được sử dụng. Điều này có nghĩa là các ấn phẩmPub2
vàPub3a
sẽ không sao chépChèn
. Ngoài ra, xuất kèo chấp bóng đá hôm nayPub3b
Sẽ chỉ sao chép dữ liệu phù hợp với bộ lọc hàng củaPub3b
. Bây giờ dữ liệu bên thuê bao trông giống như:
test_sub =# Chọn * từ T1; A | b ---+------- 1 | một 2 | hai 3 | ba 4 | Bốn 5 | năm 6 | Sáu (6 hàng) test_sub =# Chọn * từ T2; C | d ---+--- 1 | MỘT 2 | B 3 | C (3 hàng) test_sub =# Chọn * từ T3; E | f ---+----- 1 | Tôi 2 | ii 3 | iii 6 | vi (4 hàng)
Có một số trường hợp (ví dụ:Phần 31.2.1) Trong đó, nếu khe sao chép từ xa không được kèo chấp bóng đá hôm nay tự động, người dùng phải kèo chấp bóng đá hôm nay nó theo cách thủ công trước khi đăng ký có thể được kích hoạt. Các bước để kèo chấp bóng đá hôm nay khe và kích hoạt đăng ký được hiển thị trong các ví dụ sau. Các ví dụ này chỉ định plugin đầu ra giải mã logic tiêu chuẩn (PGoutput
), đó là những gì kèo chấp bóng đá hôm nay sao logic tích hợp sử dụng.
Đầu tiên, kèo chấp bóng đá hôm nay một ấn phẩm cho các ví dụ sử dụng.
test_pub =# kèo chấp bóng đá hôm nay ấn phẩm Pub1 cho tất cả các bảng; kèo chấp bóng đá hôm nay ấn phẩm
Ví dụ 1: Trong đó đăng ký nóikết nối = false
kèo chấp bóng đá hôm nay đăng ký.
test_sub =# kèo chấp bóng đá hôm nay đăng ký Sub1 test_sub-# kết nối 'host = localhost dbname = test_pub' test_sub-# xuất bản Pub1 test_sub-# với (kết nối = false); Cảnh báo: Đăng ký đã được kèo chấp bóng đá hôm nay, nhưng không được kết nối Gợi ý: Để bắt đầu sao chép, bạn phải tự kèo chấp bóng đá hôm nay vị trí sao chép, bật đăng ký và làm mới đăng ký. kèo chấp bóng đá hôm nay đăng ký
Trên nhà xuất bản, kèo chấp bóng đá hôm nay thủ công một vị trí. Vì tên không được chỉ định trongkèo chấp bóng đá hôm nay đăng ký
, tên của khe để kèo chấp bóng đá hôm nay giống như tên đăng ký, ví dụ: "Sub1".
test_pub =# select * từ pg_create_logical_replication_slot ('sub1', 'pgoutput'); slot_name | LSN -----------+----------- sub1 | 0/19404D0 (1 hàng)
Trên thuê bao, hoàn thành việc kích hoạt đăng ký. Sau đó, các bảng củaPub1
Sẽ bắt đầu sao chép.
test_sub =# thay đổi đăng ký Sub1 Bật; Thay đổi đăng ký test_sub =# thay đổi đăng ký sub1 xuất kèo chấp bóng đá hôm nay làm mới; Thay đổi đăng ký
Ví dụ 2: trong đó đăng ký nóikết nối = false
, nhưng cũng chỉ địnhslot_name
Tùy chọn.
kèo chấp bóng đá hôm nay đăng ký.
test_sub =# kèo chấp bóng đá hôm nay đăng ký Sub1 test_sub-# kết nối 'host = localhost dbname = test_pub' test_sub-# xuất bản Pub1 test_sub-# với (kết nối = false, slot_name = 'mySlot'); Cảnh báo: Đăng ký đã được kèo chấp bóng đá hôm nay, nhưng không được kết nối Gợi ý: Để bắt đầu sao chép, bạn phải tự kèo chấp bóng đá hôm nay vị trí sao chép, bật đăng ký và làm mới đăng ký. kèo chấp bóng đá hôm nay đăng ký
Trên nhà xuất bản, kèo chấp bóng đá hôm nay thủ công một vị trí bằng cách sử dụng cùng tên được chỉ định trongkèo chấp bóng đá hôm nay đăng ký
, ví dụ: "MySlot".
24900_25061
Trên thuê bao, các bước kích hoạt đăng ký còn lại giống như trước đây.
test_sub =# thay đổi đăng ký Sub1 Bật; Thay đổi đăng ký test_sub =# thay đổi đăng ký sub1 xuất kèo chấp bóng đá hôm nay làm mới; Thay đổi đăng ký
Ví dụ 3: Trong đó đăng ký chỉ địnhslot_name = none
kèo chấp bóng đá hôm nay đăng ký. Khislot_name = none
sau đóenable = false
vàcreated_slot = false
cũng cần thiết.
test_sub =# kèo chấp bóng đá hôm nay đăng ký Sub1 test_sub-# kết nối 'host = localhost dbname = test_pub' test_sub-# xuất bản Pub1 test_sub-# với (slot_name = none, enable = false, created_slot = false); kèo chấp bóng đá hôm nay đăng ký
Trên nhà xuất bản, kèo chấp bóng đá hôm nay thủ công một vị trí bằng bất kỳ tên nào, ví dụ: "MySlot".
26297_26458
Trên thuê bao, liên kết đăng ký với tên khe vừa được kèo chấp bóng đá hôm nay.
test_sub =# thay đổi đăng ký Sub1 Set (slot_name = 'mySlot'); Thay đổi đăng ký
Các bước kích hoạt đăng ký còn lại giống như trước đây.
test_sub =# thay đổi đăng ký Sub1 Bật; Thay đổi đăng ký test_sub =# thay đổi đăng ký sub1 xuất kèo chấp bóng đá hôm nay làm mới; Thay đổi đăng ký
Nếu bạn thấy bất cứ điều gì trong tài liệu không chính xác, khô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ụngMẫu nàyĐể báo cáo vấn đề tài liệu.