Phiên bản phát triển:18 / Devel
Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong kèo bóng đá cúp c2 phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

29.13. Nâng kèo bóng đá cúp c2#

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.

29.13.1. Chuẩn bị để nâng kèo bóng đá cúp c2 nhà xuất bả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_LevelASlogic.

  • 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 độtkhô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ờiSai.

29.13.2. Chuẩn bị để nâng kèo bóng đá cúp c2 thuê bao#

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_subcripPG_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ũ.

29.13.3. Nâng kèo bóng đá cúp c2 các cụm sao chép logic#

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.

Lưu ý

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.

Cảnh báo

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.

29.13.3.1. Các bước để nâng kèo bóng đá cúp c2 cụm sao chép logic hai nút#

Giả sử nhà xuất bản đang ởNode1và thuê bao ởnode2. Người đăng kýNode2có đăng kýsub1_node1_node2đang đăng ký kèo bóng đá cúp c2 thay đổi từNode1.

  1. 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ừNode1bằ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;
  2. Dừng máy chủ nhà xuất bản ởnode1, ví dụ:

    PG_CTL -D/OPT/POSTGRESQL/DATA1 STOP
  3. Khởi tạodata1_upgradedcá thể bằng cách sử dụng phiên bản mới hơn yêu cầu.

  4. Nâng kèo bóng đá cúp c2 nhà xuất bảnNode1S máy chủ của phiên bản mới hơn, ví dụ:

    pg_upgrade
  5. Bắt đầu máy chủ nhà xuất bản được nâng kèo bóng đá cúp c2 trongnode1, ví dụ:

    
              
  6. Dừng máy chủ thuê bao ởNode2, ví dụ:

    PG_CTL -D/OPT/POSTGRESQL/DATA2 STOP
  7. Khởi tạodata2_upgradedphiên bản bằng cách sử dụng phiên bản mới hơn yêu cầu.

  8. Nâng kèo bóng đá cúp c2 thuê baonode2S máy chủ cho phiên bản mới cần thiết, ví dụ:

    pg_upgrade
  9. Bắt đầu máy chủ thuê bao được nâng kèo bóng đá cúp c2 trongnode2, ví dụ:

    
              
  10. 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 c2Node1Má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));
  11. 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ừNode1bằng cách sử dụngĐăng ký thay đổi ... Bật, ví dụ:

    node2 =# thay đổi đăng ký sub1_node1_node2 Bật;
  12. 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;

Lưu ý

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.

29.13.3.2. Các bước để nâng kèo bóng đá cúp c2 cụm sao chép logic xếp tầng#

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ừNode1Node3đang đăng ký kèo bóng đá cúp c2 thay đổi từNode2. TheNode2có đăng kýsub1_node1_node2đang đăng ký kèo bóng đá cúp c2 thay đổi từNode1. TheNode3có đăng kýsub1_node2_node3đang đăng ký kèo bóng đá cúp c2 thay đổi từNode2.

  1. 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ừnode1bằ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;
  2. Dừng máy chủ ởNode1, ví dụ:

    PG_CTL -D/OPT/POSTGRESQL/DATA1 STOP
  3. Khởi tạodata1_upgradedcá thể bằng cách sử dụng phiên bản mới hơn yêu cầu.

  4. Nâng kèo bóng đá cúp c2Node1S máy chủ của phiên bản mới hơn, ví dụ:

    pg_upgrade
  5. Bắt đầu máy chủ được nâng kèo bóng đá cúp c2 trongnode1, ví dụ:

    
              
  6. 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ừnode2bằ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;
  7. Dừng máy chủ ởnode2, ví dụ:

    PG_CTL -D/OPT/POSTGRESQL/DATA2 STOP
  8. Khởi tạodata2_upgradedphiên bản bằng cách sử dụng phiên bản mới hơn yêu cầu.

  9. Nâng kèo bóng đá cúp c2Node2S Máy chủ cho phiên bản mới cần thiết, ví dụ:

    pg_upgrade
  10. Bắt đầu máy chủ được nâng kèo bóng đá cúp c2 trongNode2, ví dụ:

    
              
  11. 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 c2node1Má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));
  12. 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ừnode1bằng cách sử dụngĐăng ký thay đổi ... Bật, ví dụ:

    node2 =# thay đổi đăng ký sub1_node1_node2 Bật;
  13. 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;
  14. Dừng máy chủ ởNode3, ví dụ:

    PG_CTL -D/OPT/POSTGRESQL/DATA3 STOP
  15. Khởi tạodata3_upgradedcá thể bằng cách sử dụng phiên bản mới hơn cần thiết.

  16. Nâng kèo bóng đá cúp c2Node3s Máy chủ cho phiên bản mới cần thiết, ví dụ:

    pg_upgrade
  17. Bắt đầu máy chủ được nâng kèo bóng đá cúp c2 trongNode3, ví dụ:

    
              
  18. 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 c2node2giữ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));
  19. 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ừNode2bằng cách sử dụngThay đổi đăng ký ... Bật, ví dụ:

    node3 =# thay đổi đăng ký sub1_node2_node3 Bật;
  20. 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;

29.13.3.3. Các bước để nâng kèo bóng đá cúp c2 cụm sao chép logic hai nút hai nút#

Giả sử chúng tôi có thiết lập sao chép logic trònnode1-node2node2-node1. Đâynode2đang đăng ký kèo bóng đá cúp c2 thay đổi từnode1node1đang đăng ký kèo bóng đá cúp c2 thay đổi từnode2. Thenode1có đăng kýsub1_node2_node1đang đăng ký kèo bóng đá cúp c2 thay đổi từNode2. TheNode2có đăng kýsub1_node1_node2đang đăng ký kèo bóng đá cúp c2 thay đổi từNode1.

  1. 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ừNode1bằ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;
  2. Dừng máy chủ ởNode1, ví dụ:

    PG_CTL -D/OPT/POSTGRESQL/DATA1 STOP
  3. Khởi tạodata1_upgradedPhiên bản bằng cách sử dụng phiên bản mới hơn yêu cầu.

  4. Nâng kèo bóng đá cúp c2Node1S Server cho phiên bản mới hơn yêu cầu, ví dụ:

    pg_upgrade
  5. Bắt đầu máy chủ được nâng kèo bóng đá cúp c2 trongNode1, ví dụ:

    
              
  6. 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ừNode1bằng cách sử dụngThay đổi đăng ký ... Bật, ví dụ:

    node2 =# thay đổi đăng ký sub1_node1_node2 Bật;
  7. trênnode1, Tạo bất kỳ bảng nào được tạo trongnode2giữ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));
  8. Làm mớinode1Ấn phẩm đăng ký để sao chép dữ liệu bảng ban đầu từNode2Sử 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;
  9. 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ừnode2bằ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;
  10. Dừng máy chủ ởnode2, ví dụ:

    PG_CTL -D/OPT/POSTGRESQL/DATA2 STOP
  11. Khởi tạodata2_upgradedcá thể bằng cách sử dụng phiên bản mới hơn yêu cầu.

  12. Nâng kèo bóng đá cúp c2node2S máy chủ cho phiên bản mới cần thiết, ví dụ:

    pg_upgrade
  13. Khởi động máy chủ được nâng kèo bóng đá cúp c2 trongNode2, ví dụ:

    
              
  14. 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ừnode2bằng cách sử dụngThay đổi đăng ký ... Bật, ví dụ:

    node1 =# thay đổi đăng ký sub1_node2_node1 Bật;
  15. 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 c2node1giữ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));
  16. Làm mớiNode2Ấn phẩm đăng ký để sao chép dữ liệu bảng ban đầu từNode1Sử 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;