Làm thế nào để nhân rộng phát trực tuyến của Postgres 9.2 xử lý các thay đổi lược đồ và thiết lập bảng ban đầu?


8

Tôi muốn thiết lập một cơ sở dữ liệu sao lưu trên máy chủ vật lý nằm ngay dưới máy chủ cơ sở dữ liệu vật lý chính của tôi. Tôi đang sử dụng Postgres 9.2 và tôi muốn sử dụng sao chép phát trực tuyến đồng bộ (cho tính nguyên tử), nhưng tôi hoàn toàn không biết cách thiết lập bảng ban đầu như thế nào, A) được chuyển từ máy chủ 1 sang máy chủ 2 (ví dụ: tôi chạy syncdbtừ ứng dụng Django của tôi, tạo ra một loạt các bảng trên máy chủ 1) và B) cách các thay đổi lược đồ được tiếp tục được thực hiện từ máy chủ 1 đến máy chủ 2 (ví dụ: tôi chạy di chuyển Django South, để gửi ALTER TABLEtruy vấn, cũng như thêm / xóa chỉ mục, v.v.) Là những điều này được xử lý trong suốt với sao chép phát trực tuyến, hoặc có điều gì tôi phải làm để ảnh hưởng đến sự thay đổi này trên cả hai máy chủ?

Câu trả lời:


14

Nếu bạn có ý định sử dụng bản sao phát trực tuyến tích hợp của PostgreSQL, thì bạn chọn bản sao với bản sao lưu cơ sở - bản sao cấp độ hệ thống tệp của cơ sở dữ liệu gốc. Vì vậy, nó đã có tất cả các bảng và dữ liệu từ chủ. pg_basebackupthường được sử dụng cho việc này.

Sao chép phát trực tuyến đọc các thay đổi ở cấp độ khối từ nhật ký ghi trước, vì vậy các cơ sở dữ liệu được giữ nguyên như nhau. Vì DDL, giống như DML, được ghi lại trong WAL, DDL và DML đều được sao chép trong suốt.

Xem tài liệu về HA và sao chép trong PostgreSQL để biết thêm thông tin.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.