Phiên bản được hỗ trợ:hiện tại(17)
Phiên bản phát triển:18 / Devel

PG_CreatesubScriber

Synopsis

PG_CreatesubScriber[Tùy chọn...]-D | -cơ sở dữ kèo bóng đá c1dbname-D | -PGDATADatadir-P | --P-Publisher-ServerConnstr

Mô tả

Tạo một bản sao logic mới từ một máy chủ dự phòng vật lý. Tất cả các bảng trong cơ sở dữ kèo bóng đá c1 được chỉ định được bao gồm trongtỷ lệ kèo bóngThiết lập. Một cặp xuất bản và đối tượng đăng ký được tạo cho mỗi cơ sở dữ kèo bóng đá c1.

Sau khi chạy thành công, trạng thái của kèo bóng đá c1 tương tự như thiết lập sao chép logic mới. Sự khác biệt chính giữa thiết lập sao chép logic vàPG_CreatesubScriberLà cách đồng bộ hóa dữ kèo bóng đá c1 được thực hiện.pg_createsubscriberKhông sao chép dữ kèo bóng đá c1 bảng ban đầu. Nó chỉ làm giai đoạn đồng bộ hóa, đảm bảo mỗi bảng được đưa lên trạng thái đồng bộ hóa.

pg_createsubscriberMục tiêu các hệ thống cơ sở dữ kèo bóng đá c1 lớn vì trong thiết lập sao chép logic, hầu hết thời gian được dành để thực hiện bản sao dữ kèo bóng đá c1 ban đầu. Hơn nữa, một tác dụng phụ của thời gian dài này đã sử dụng dữ kèo bóng đá c1 đồng bộ thường là một lượng lớn các thay đổi được áp dụng (được tạo ra trong bản sao dữ kèo bóng đá c1 ban đầu), làm tăng thêm thời gian khi bản sao logic sẽ có sẵn.Tạo đăng ký copy_dataTùy chọn.

Tùy chọn

PG_CreatesubScribreChấp nhận các đối số dòng lệnh sau:

-Ddbname
--database =dbname

Tên của cơ sở dữ kèo bóng đá c1 để tạo đăng ký. Nhiều cơ sở dữ kèo bóng đá c1 có thể được chọn bằng cách viết nhiều-DSwitches.

-DThư mục
-pgdata =Thư mục

Thư mục đích chứa thư mục cụm từ bản sao vật lý.

-N
--Dry-Run

Làm mọi thứ ngoại trừ thực sự sửa đổi thư mục đích.

-PCổng
-SUBSCRIBER-Port =Cổng

Số cổng mà kèo bóng đá c1 đang lắng nghe các kết nối. Mặc định để chạy kèo bóng đá c1 trên cổng 50432 để tránh kết nối máy khách ngoài ý muốn.

-PConnstr
--Publisher-server =Connstr

Chuỗi kết nối với nhà xuất bản. Để biết chi tiết, xemPhần 32.1.1.

-Sdir
-SocketDir =dir

Thư mục sẽ sử dụng cho ổ cắm bưu điện trên kèo bóng đá c1. Mặc định là thư mục hiện tại.

-Tgiây
--Recovery-TimeOut =giây

Số giây tối đa để chờ phục hồi kết thúc. Đặt thành 0 vô hiệu hóa.

-Utên người dùng
-SUBSCRIBER-username =tên người dùng

Tên người dùng để kết nối như trên kèo bóng đá c1. Mặc định cho tên người dùng hệ điều hành hiện tại.

-V
--Verbose

Cho phép chế độ Verbose. Điều này sẽ gây raPG_CreatesubScriber​​Để xuất thông báo tiến trình và thông tin chi tiết về từng bước đến lỗi tiêu chuẩn. Lặp đi lặp lại tùy chọn khiến các tin nhắn cấp độ gỡ lỗi bổ sung xuất hiện trên lỗi tiêu chuẩn.

--config-file =FileName

Sử dụng tệp cấu hình máy chủ chính được chỉ định cho thư mục dữ kèo bóng đá c1 đích.PG_CreatesubScriberNội bộ sử dụngPG_CTLLệnh khởi động và dừng kèo bóng đá c1. Nó cho phép bạn chỉ định thực tếPostgreSql.confTệp cấu hình nếu nó được lưu trữ bên ngoài thư mục dữ kèo bóng đá c1.

--Publication =tên

Tên xuất bản để thiết lập bản sao logic. Nhiều ấn phẩm có thể được chỉ định bằng cách viết nhiều--PublicationChuyển đổi. Số lượng tên xuất bản phải khớp với số lượng cơ sở dữ kèo bóng đá c1 được chỉ định, nếu không một lỗi được báo cáo.

--Replication-slot =tên

Tên khe sao chép để thiết lập bản sao logic. Nhiều khe sao chép có thể được chỉ định bằng cách viết nhiều--Replication-slotChuyển đổi. Số lượng tên khe sao chép phải khớp với số lượng cơ sở dữ kèo bóng đá c1 được chỉ định, nếu không một lỗi được báo cáo.

-SUBSCRIP =tên

Tên đăng ký để thiết lập bản sao logic. Nhiều đăng ký có thể được chỉ định bằng cách viết nhiều-SubscripChuyển đổi. Số lượng tên đăng ký phải khớp với số lượng cơ sở dữ kèo bóng đá c1 được chỉ định, nếu không một lỗi được báo cáo.

-V
--Version

PG_CreatesubScriberPhiên bản và Thoát.

-?
--Help

Hiển thị trợ giúp vềPG_CreatesubScribreĐối số dòng lệnh và thoát.

ghi chú

Điều kiện tiên quyết

Có một số điều kiện tiên quyết choPG_CreatesubScriberĐể chuyển đổi kèo bóng đá c1 thành bản sao logic. Nếu những điều này không được đáp ứng, một lỗi sẽ được báo cáo.pg_createsubscriber. Thư mục dữ kèo bóng đá c1 mục tiêu đã cho phải có cùng định danh hệ thống với thư mục dữ kèo bóng đá c1 nguồn.Đăng kývà sử dụngPG_Replication_Origin_Advance ().

kèo bóng đá c1 phải được sử dụng làm chế độ chờ vật lý. kèo bóng đá c1 phải cóMax_Replication_SlotsMax_Logical_Replication_Workersđược cấu hình theo giá trị lớn hơn hoặc bằng số lượng cơ sở dữ kèo bóng đá c1 được chỉ định. Máy chủ đích phải cóMax_Worker_Processesđược cấu hình theo giá trị lớn hơn số lượng cơ sở dữ kèo bóng đá c1 được chỉ định. Máy chủ đích phải chấp nhận kết nối cục bộ.

Máy chủ nguồn phải chấp nhận kết nối từ kèo bóng đá c1. Máy chủ nguồn không được phục hồi.Wal_LevelASlogic. kèo bóng đá c1 chủ nguồn phải cóMax_Replication_Slotsđược cấu hình theo giá trị lớn hơn hoặc bằng số lượng cơ sở dữ kèo bóng đá c1 được chỉ định cộng với các khe sao chép hiện có. Máy chủ nguồn phải cóMAX_WAL_SENDERSđược cấu hình theo giá trị lớn hơn hoặc bằng số lượng cơ sở dữ kèo bóng đá c1 được chỉ định và các quy trình người gửi WAL hiện có.

cảnh báo

nếuPG_CreatesubScriberThất bại sau khi máy chủ đích được quảng bá, thì thư mục dữ kèo bóng đá c1 có thể không ở trạng thái có thể được phục hồi. Trong trường hợp như vậy, việc tạo một máy chủ dự phòng mới được khuyến nghị.

Thường khởi động kèo bóng đá c1 với các cài đặt kết nối khác nhau trong quá trình chuyển đổi. Do đó, các kết nối với kèo bóng đá c1 sẽ không thành công.

Vì các lệnh DDL không được sao chép bằng sao chép logic, hãy tránh thực thi các lệnh DDL thay đổi lược đồ cơ sở dữ kèo bóng đá c1 trong khi chạyPG_CreatesubScriber. Nếu kèo bóng đá c1 đã được chuyển đổi thành bản sao logic, các lệnh DDL có thể không được sao chép, điều này có thể gây ra lỗi.

nếuPG_CreatesubScriberThất bại trong khi xử lý, các đối tượng (ấn phẩm, khe sao chép) được tạo trên máy chủ nguồn bị xóa. Việc loại bỏ có thể thất bại nếu kèo bóng đá c1 không thể kết nối với máy chủ nguồn.

Nếu bản sao đang sử dụngchính_SLOT_NAME, nó sẽ bị xóa khỏi kèo bóng đá c1 chủ nguồn sau khi thiết lập sao chép logic.

Nếu kèo bóng đá c1 là bản sao đồng bộ, giao dịch cam kết chính có thể chờ sao chép trong khi chạyPG_CreatesubScriber.

pg_createsubscriberThiết lập sao chép logic với cam kết hai pha bị vô hiệu hóa. Điều này có nghĩa là mọi giao dịch đã chuẩn bị sẽ được nhân rộng tại thời điểmCam kết đã chuẩn bị, không chuẩn bị trước. Sau khi thiết lập hoàn tất, bạn có thể thả và tạo lại (các) đăng ký theo cách thủ công vớihai_phaseBật tùy chọn.

PG_CreatesubScriberThay đổi định danh hệ thống bằng cách sử dụngpg_resetwal. Nó sẽ tránh các tình huống trong đó kèo bóng đá c1 có thể sử dụng các tệp WAL từ máy chủ nguồn.

Cách thức hoạt động

Ý tưởng cơ bản là có điểm bắt đầu sao chép từ kèo bóng đá c1 chủ nguồn và thiết lập một bản sao hợp lý để bắt đầu từ điểm này:

  1. Bắt đầu kèo bóng đá c1 với các tùy chọn dòng lệnh được chỉ định. Nếu kèo bóng đá c1 đã chạy,PG_CreatesubScribersẽ chấm dứt với lỗi.

  2. Kiểm tra xem kèo bóng đá c1 có thể được chuyển đổi không. Ngoài ra còn có một vài kiểm tra trên máy chủ nguồn.pg_createsubscribersẽ chấm dứt với lỗi.

  3. Tạo một vị trí xuất bản và sao chép cho mỗi cơ sở dữ kèo bóng đá c1 được chỉ định trên máy chủ nguồn. Mỗi ấn phẩm được tạo bằng cách sử dụngcho tất cả các bảng. Nếu--PublicationTùy chọn không được chỉ định, ấn phẩm có mẫu tên sau:Hàng(tham số: cơ sở dữ kèo bóng đá c1OID, ngẫu nhiênint). NếuTùy chọn không được chỉ định, khe sao chép có mẫu tên sau:Hồipg_createsubscriber_%u_%xHàng(tham số: cơ sở dữ kèo bóng đá c1OID, ngẫu nhiênint). Các khe sao chép này sẽ được sử dụng bởi các đăng ký trong bước trong tương lai.recovery_target_lsntham số và theo các đăng ký như một điểm bắt đầu sao chép. Nó đảm bảo rằng sẽ không có giao dịch nào bị mất.

  4. Viết tham số khôi phục vào thư mục dữ kèo bóng đá c1 đích và khởi động lại máy chủ đích. Nó chỉ định LSN (recovery_target_lsn) của vị trí nhật ký ghi lại cho đến đó sự phục hồi sẽ được tiến hành. Nó cũng chỉ địnhQuảng cáoLà hành động mà kèo bóng đá c1 chủ sẽ thực hiện sau khi đạt được mục tiêu khôi phục. Thêm vàotham số khôi phụcđược thêm vào để tránh hành vi bất ngờ trong quá trình phục hồi như kết thúc phục hồi ngay khi đạt được trạng thái nhất quán (nên áp dụng cho đến khi vị trí bắt đầu sao chép) và nhiều mục tiêu phục hồi có thể gây ra lỗi. Bước này kết thúc khi kèo bóng đá c1 chủ kết thúc chế độ dự phòng và đang chấp nhận các giao dịch đọc-ghi.--Recovery-TimeOutTùy chọn được đặt,PG_CreatesubScriberChấm dứt nếu phục hồi không kết thúc cho đến khi số giây nhất định.

  5. Tạo đăng ký cho mỗi cơ sở dữ kèo bóng đá c1 được chỉ định trên máy chủ đích. Nếu-SubscripTùy chọn không được chỉ định, đăng ký có mẫu tên sau:(tham số: cơ sở dữ kèo bóng đá c1oid, ngẫu nhiênint). Nó không sao chép dữ kèo bóng đá c1 hiện có từ máy chủ nguồn.

  6. Thả các ấn phẩm trên kèo bóng đá c1 được sao chép vì chúng được tạo trước khi vị trí bắt đầu sao chép. Nó không sử dụng cho thuê bao.

  7. Đặt tiến trình sao chép thành điểm bắt đầu sao chép cho mỗi đăng ký. Khi kèo bóng đá c1 bắt đầu quá trình phục hồi, nó sẽ bắt kịp điểm bắt đầu sao chép.PG_Replication_Origin_Advance ()Để thiết lập vị trí sao chép ban đầu.

  8. Kích hoạt đăng ký cho mỗi cơ sở dữ kèo bóng đá c1 được chỉ định trên máy chủ đích. Đăng ký bắt đầu áp dụng các giao dịch từ điểm bắt đầu sao chép.

  9. Nếu kèo bóng đá c1 chủ dự phòng đang sử dụngchính_SLOT_NAME, nó không có ích từ bây giờ, hãy thả nó.

  10. Nếu kèo bóng đá c1 chủ dự phòng chứaPhạm vi sao chép chuyển đổi dự phòng, chúng không thể được đồng bộ hóa nữa, vì vậy hãy thả chúng.

  11. Cập nhật định danh hệ thống trên kèo bóng đá c1. Thepg_resetwalđược chạy để sửa đổi định danh hệ thống. kèo bóng đá c1 bị dừng dưới dạngpg_resetwalYêu cầu.

ví dụ

Để tạo bản sao logic cho cơ sở dữ kèo bóng đá c1HRTài chínhTừ bản sao vật lý tạifoo:

$ 

Xem thêm

pg_basebackup

Gửi hiệu chỉnh

Nếu bạn thấy bất cứ điều gì trong tài kèo bóng đá c1 không chính xác, không khớpMẫu nàyĐể báo cáo vấn đề tài kèo bóng đá c1.