Di chuyểncụm sao chép logicChỉ có thể khi tất cả kèo bóng đá cúp c2 thành viên của kèo bóng đá cúp c2 cụm sao chép logic cũ là phiên bản 17.0 trở lên.
pg_upgradecố gắng di chuyển kèo bóng đá cúp c2 khe logic. Điều này giúp tránh sự cần thiết phải xác định thủ công kèo bóng đá cúp c2 vị trí logic tương tự trên nhà xuất bản mới.
Trước khi bạn bắt đầu nâng kèo bóng đá cúp c2 cụm nhà xuất bản, đảm bảo rằng đăng ký tạm thời bị vô hiệu hóa, bằng cách thực thiĐăng ký thay đổi ... vô hiệu hóa
. Có thể kích hoạt đăng ký sau khi nâng kèo bóng đá cúp c2.
Có một số điều kiện tiên quyết chopg_upgradeĐể có thể nâng kèo bóng đá cúp c2 các khe logic. Nếu những điều này không được đáp ứng, một lỗi sẽ được báo cáo.
cụm mới phải cóWal_Level
ASlogic
.
cụm mới phải cóMax_Replication_Slots
được cấu hình với giá trị lớn hơn hoặc bằng số lượng khe có trong cụm cũ.
kèo bóng đá cúp c2 plugin đầu ra được tham chiếu bởi kèo bóng đá cúp c2 khe trên cụm cũ phải được cài đặt trong thư mục thực thi PostgreSQL mới.
Cụm cũ đã sao chép tất cả kèo bóng đá cúp c2 giao dịch và tin nhắn giải mã logic cho người đăng ký.
Tất cả kèo bóng đá cúp c2 khe trên cụm cũ phải được sử dụng, tức là không có khe cắm nàoPG_Replication_Slots.Xung đột
không phảiTRUE
.
cụm mới không được có kèo bóng đá cúp c2 vị trí logic vĩnh viễn, tức là không có vị trí nào trong đóPG_Replication_Slots.tạm thời
làSai
.
Thiết lậpCấu hình thuê baoTrong thuê bao mới.pg_upgradeCố gắng di chuyển kèo bóng đá cúp c2 phụ thuộc đăng ký bao gồm thông tin bảng đăng ký có mặt trongpg_subcrip_relDanh mục hệ thống và cũng là nguồn gốc sao chép của đăng ký. Điều này cho phép sao chép logic trên thuê bao mới tiếp tục từ nơi mà thuê bao cũ lên đến.
Có một số điều kiện tiên quyết chopg_upgradeĐể có thể nâng kèo bóng đá cúp c2 các đăng ký. Nếu những điều này không được đáp ứng, một lỗi sẽ được báo cáo.
Tất cả kèo bóng đá cúp c2 bảng đăng ký trong thuê bao cũ phải ở trạng tháii
(khởi tạo) hoặcR
(Sẵn sàng). Điều này có thể được xác minh bằng cách kiểm trapg_subcrip_rel.Srsubstate
.
Mục nhập gốc sao chép tương ứng với từng đăng ký sẽ tồn tại trong cụm cũ. Điều này có thể được tìm thấy bằng cách kiểm trapg_subcripvàPG_Replication_OriginBảng hệ thống.
cụm mới phải cóMAX_Active_Replication_origins
được định cấu hình với giá trị lớn hơn hoặc bằng số lượng đăng ký có trong cụm cũ.
Trong khi nâng kèo bóng đá cúp c2 thuê bao, các hoạt động viết có thể được thực hiện trong nhà xuất bản. Những thay đổi này sẽ được sao chép vào thuê bao sau khi hoàn thành việc nâng kèo bóng đá cúp c2 thuê bao.
Các hạn chế sao chép logic cũng áp dụng cho nâng kèo bóng đá cúp c2 cụm sao chép logic. Nhìn thấyPhần 29.8Để biết chi tiết.
Điều kiện tiên quyết của nâng kèo bóng đá cúp c2 nhà xuất bản cũng áp dụng cho nâng kèo bóng đá cúp c2 cụm sao chép logic. Nhìn thấyPhần 29.13.1Để biết chi tiết.
Điều kiện tiên quyết của nâng kèo bóng đá cúp c2 thuê bao áp dụng cho nâng kèo bóng đá cúp c2 cụm sao chép logic. Nhìn thấyPhần 29.13.2Để biết chi tiết.
Nâng kèo bóng đá cúp c2 cụm sao chép logic yêu cầu nhiều bước được thực hiện trên các nút khác nhau. Bởi vì không phải tất cả các hoạt động đều là giao dịch, người dùng nên lấy bản sao lưu như được mô tả trongPhần 25.3.2.
Các bước để nâng kèo bóng đá cúp c2 các cụm sao chép logic sau đây được nêu chi tiết bên dưới:
Thực hiện theo kèo bóng đá cúp c2 bước được chỉ định trongPhần 29.13.3.1Để nâng kèo bóng đá cúp c2 cụm sao chép logic hai nút.
Thực hiện theo kèo bóng đá cúp c2 bước được chỉ định trongPhần 29.13.3.2Để nâng kèo bóng đá cúp c2 cụm sao chép logic xếp tầng.
Thực hiện theo kèo bóng đá cúp c2 bước được chỉ định trongPhần 29.13.3.3Để nâng kèo bóng đá cúp c2 cụm sao chép logic hai nút hai nút.
Giả sử nhà xuất bản đang ởNode1
và thuê bao ởnode2
. Người đăng kýNode2
có đăng kýsub1_node1_node2
đang đăng ký kèo bóng đá cúp c2 thay đổi từNode1
.
Vô hiệu hóa tất cả kèo bóng đá cúp c2 đăng ký trênnode2
đang đăng ký kèo bóng đá cúp c2 thay đổi từNode1
bằng cách sử dụngthay đổi đăng ký ... vô hiệu hóa
, ví dụ:
node2 =# thay đổi đăng ký sub1_node1_node2 vô hiệu hóa;
Dừng máy chủ nhà xuất bản ởnode1
, ví dụ:
PG_CTL -D/OPT/POSTGRESQL/DATA1 STOP
Khởi tạodata1_upgraded
cá thể bằng cách sử dụng phiên bản mới hơn yêu cầu.
Nâng kèo bóng đá cúp c2 nhà xuất bảnNode1
S máy chủ của phiên bản mới hơn, ví dụ:
pg_upgrade
Bắt đầu máy chủ nhà xuất bản được nâng kèo bóng đá cúp c2 trongnode1
, ví dụ:
Dừng máy chủ thuê bao ởNode2
, ví dụ:
PG_CTL -D/OPT/POSTGRESQL/DATA2 STOP
Khởi tạodata2_upgraded
phiên bản bằng cách sử dụng phiên bản mới hơn yêu cầu.
Nâng kèo bóng đá cúp c2 thuê baonode2
S máy chủ cho phiên bản mới cần thiết, ví dụ:
pg_upgrade
Bắt đầu máy chủ thuê bao được nâng kèo bóng đá cúp c2 trongnode2
, ví dụ:
trênnode2
, Tạo bất kỳ bảng nào được tạo trong Nhà xuất bản được nâng kèo bóng đá cúp c2Node1
Máy chủ giữaBước 1và bây giờ, ví dụ:
node2 =# tạo kèo bóng đá cúp c2 nhà phân phối bảng (DID Số nguyên số chính, tên varchar (40));
Kích hoạt tất cả kèo bóng đá cúp c2 đăng ký trênnode2
đang đăng ký kèo bóng đá cúp c2 thay đổi từNode1
bằng cách sử dụngĐăng ký thay đổi ... Bật
, ví dụ:
node2 =# thay đổi đăng ký sub1_node1_node2 Bật;
Làm mớiNode2
Ấn phẩm đăng ký sử dụngĐăng ký thay đổi ... Xuất bản làm mới
, ví dụ:
node2 =# thay đổi đăng ký sub1_node1_node2 xuất bản làm mới;
Trong các bước được mô tả ở trên, nhà xuất bản được nâng kèo bóng đá cúp c2 đầu tiên, theo sau là người đăng ký. Ngoài ra, người dùng có thể sử dụng các bước tương tự để nâng kèo bóng đá cúp c2 thuê bao trước, tiếp theo là nhà xuất bản.
Giả sử chúng tôi có thiết lập sao chép logic xếp tầngNode1
-Node2
-Node3
. ĐâyNode2
đang đăng ký kèo bóng đá cúp c2 thay đổi từNode1
vàNode3
đang đăng ký kèo bóng đá cúp c2 thay đổi từNode2
. TheNode2
có đăng kýsub1_node1_node2
đang đăng ký kèo bóng đá cúp c2 thay đổi từNode1
. TheNode3
có đăng kýsub1_node2_node3
đang đăng ký kèo bóng đá cúp c2 thay đổi từNode2
.
Vô hiệu hóa tất cả kèo bóng đá cúp c2 đăng ký trênNode2
đang đăng ký kèo bóng đá cúp c2 thay đổi từnode1
bằng cách sử dụngthay đổi đăng ký ... vô hiệu hóa
, ví dụ:
node2 =# thay đổi đăng ký sub1_node1_node2 vô hiệu hóa;
Dừng máy chủ ởNode1
, ví dụ:
PG_CTL -D/OPT/POSTGRESQL/DATA1 STOP
Khởi tạodata1_upgraded
cá thể bằng cách sử dụng phiên bản mới hơn yêu cầu.
Nâng kèo bóng đá cúp c2Node1
S máy chủ của phiên bản mới hơn, ví dụ:
pg_upgrade
Bắt đầu máy chủ được nâng kèo bóng đá cúp c2 trongnode1
, ví dụ:
Vô hiệu hóa tất cả kèo bóng đá cúp c2 đăng ký trênNode3
đang đăng ký kèo bóng đá cúp c2 thay đổi từnode2
bằng cách sử dụngthay đổi đăng ký ... vô hiệu hóa
, ví dụ:
node3 =# thay đổi đăng ký sub1_node2_node3 vô hiệu hóa;
Dừng máy chủ ởnode2
, ví dụ:
PG_CTL -D/OPT/POSTGRESQL/DATA2 STOP
Khởi tạodata2_upgraded
phiên bản bằng cách sử dụng phiên bản mới hơn yêu cầu.
Nâng kèo bóng đá cúp c2Node2
S Máy chủ cho phiên bản mới cần thiết, ví dụ:
pg_upgrade
Bắt đầu máy chủ được nâng kèo bóng đá cúp c2 trongNode2
, ví dụ:
trênnode2
, Tạo bất kỳ bảng nào được tạo trong Nhà xuất bản được nâng kèo bóng đá cúp c2node1
Máy chủ giữaBước 1và bây giờ, ví dụ:
node2 =# tạo kèo bóng đá cúp c2 nhà phân phối bảng (DID số nguyên số chính, tên varchar (40));
Kích hoạt tất cả kèo bóng đá cúp c2 đăng ký trênnode2
đang đăng ký kèo bóng đá cúp c2 thay đổi từnode1
bằng cách sử dụngĐăng ký thay đổi ... Bật
, ví dụ:
node2 =# thay đổi đăng ký sub1_node1_node2 Bật;
Làm mớinode2
Ấn phẩm đăng ký bằng cách sử dụngThay đổi đăng ký ... Xuất bản làm mới
, ví dụ:
node2 =# thay đổi đăng ký sub1_node1_node2 xuất bản làm mới;
Dừng máy chủ ởNode3
, ví dụ:
PG_CTL -D/OPT/POSTGRESQL/DATA3 STOP
Khởi tạodata3_upgraded
cá thể bằng cách sử dụng phiên bản mới hơn cần thiết.
Nâng kèo bóng đá cúp c2Node3
s Máy chủ cho phiên bản mới cần thiết, ví dụ:
pg_upgrade
Bắt đầu máy chủ được nâng kèo bóng đá cúp c2 trongNode3
, ví dụ:
trênNode3
, Tạo bất kỳ bảng nào được tạo trong bản nâng kèo bóng đá cúp c2node2
giữaBước 6và bây giờ, ví dụ:
node3 =# tạo kèo bóng đá cúp c2 nhà phân phối bảng (DID số nguyên số chính, tên varchar (40));
Bật tất cả kèo bóng đá cúp c2 đăng ký trênNode3
đang đăng ký kèo bóng đá cúp c2 thay đổi từNode2
bằng cách sử dụngThay đổi đăng ký ... Bật
, ví dụ:
node3 =# thay đổi đăng ký sub1_node2_node3 Bật;
Làm mớiNode3
Ấn phẩm đăng ký bằng cách sử dụngThay đổi đăng ký ... Xuất bản làm mới
, ví dụ:
node3 =# thay đổi đăng ký sub1_node2_node3 xuất bản làm mới;
Giả sử chúng tôi có thiết lập sao chép logic trònnode1
-node2
vànode2
-node1
. Đâynode2
đang đăng ký kèo bóng đá cúp c2 thay đổi từnode1
vànode1
đang đăng ký kèo bóng đá cúp c2 thay đổi từnode2
. Thenode1
có đăng kýsub1_node2_node1
đang đăng ký kèo bóng đá cúp c2 thay đổi từNode2
. TheNode2
có đăng kýsub1_node1_node2
đang đăng ký kèo bóng đá cúp c2 thay đổi từNode1
.
Vô hiệu hóa tất cả kèo bóng đá cúp c2 đăng ký trênNode2
đang đăng ký kèo bóng đá cúp c2 thay đổi từNode1
bằng cách sử dụngĐăng ký thay đổi ... Vô hiệu hóa
, ví dụ:
node2 =# thay đổi đăng ký sub1_node1_node2 vô hiệu hóa;
Dừng máy chủ ởNode1
, ví dụ:
PG_CTL -D/OPT/POSTGRESQL/DATA1 STOP
Khởi tạodata1_upgraded
Phiên bản bằng cách sử dụng phiên bản mới hơn yêu cầu.
Nâng kèo bóng đá cúp c2Node1
S Server cho phiên bản mới hơn yêu cầu, ví dụ:
pg_upgrade
Bắt đầu máy chủ được nâng kèo bóng đá cúp c2 trongNode1
, ví dụ:
Bật tất cả kèo bóng đá cúp c2 đăng ký trênNode2
đang đăng ký kèo bóng đá cúp c2 thay đổi từNode1
bằng cách sử dụngThay đổi đăng ký ... Bật
, ví dụ:
node2 =# thay đổi đăng ký sub1_node1_node2 Bật;
trênnode1
, Tạo bất kỳ bảng nào được tạo trongnode2
giữaBước 1và bây giờ, ví dụ:
node1 =# tạo kèo bóng đá cúp c2 nhà phân phối bảng (DID số nguyên số chính, tên varchar (40));
Làm mớinode1
Ấn phẩm đăng ký để sao chép dữ liệu bảng ban đầu từNode2
Sử dụngThay đổi đăng ký ... Xuất bản làm mới
, ví dụ:
node1 =# thay đổi đăng ký sub1_node2_node1 xuất bản làm mới;
Vô hiệu hóa tất cả kèo bóng đá cúp c2 đăng ký trênnode1
đang đăng ký kèo bóng đá cúp c2 thay đổi từnode2
bằng cách sử dụngthay đổi đăng ký ... vô hiệu hóa
, ví dụ:
node1 =# thay đổi đăng ký sub1_node2_node1 vô hiệu hóa;
Dừng máy chủ ởnode2
, ví dụ:
PG_CTL -D/OPT/POSTGRESQL/DATA2 STOP
Khởi tạodata2_upgraded
cá thể bằng cách sử dụng phiên bản mới hơn yêu cầu.
Nâng kèo bóng đá cúp c2node2
S máy chủ cho phiên bản mới cần thiết, ví dụ:
pg_upgrade
Khởi động máy chủ được nâng kèo bóng đá cúp c2 trongNode2
, ví dụ:
Bật tất cả kèo bóng đá cúp c2 đăng ký trênNode1
đang đăng ký kèo bóng đá cúp c2 thay đổi từnode2
bằng cách sử dụngThay đổi đăng ký ... Bật
, ví dụ:
node1 =# thay đổi đăng ký sub1_node2_node1 Bật;
trênnode2
, Tạo bất kỳ bảng nào được tạo trong bản nâng kèo bóng đá cúp c2node1
giữaBước 9và bây giờ, ví dụ:
node2 =# tạo kèo bóng đá cúp c2 nhà phân phối bảng (DID số nguyên số chính, tên varchar (40));
Làm mớiNode2
Ấn phẩm đăng ký để sao chép dữ liệu bảng ban đầu từNode1
Sử dụngThay đổi đăng ký ... Làm mới xuất bản
, ví dụ:
node2 =# thay đổi đăng ký sub1_node1_node2 Xuất bản làm mới;