Computer >> Máy Tính >  >> Lập trình >> Cơ sở dữ liệu

Cách khôi phục bản sao lưu Postgres trong ObjectRocket

Được xuất bản lần đầu vào ngày 6 tháng 2 năm 2020 tại ObjectRocket.com/blog.

Các nhiệm vụ quản trị cơ sở dữ liệu bao gồm lấy và khôi phục các bản sao lưu thường xuyên, đây là một thành phần quan trọng. ObjectRocket bao gồm các bản sao lưu hàng ngày với thời gian lưu ý hai tuần và cho phép các bản sao lưu đó theo mặc định trên tất cả các sản phẩm cơ sở dữ liệu của chúng tôi.

Việc cung cấp ObjectRocket PostgreSQL® (Postgres) bổ sung thêm phần thưởng, tính năng lưu trữ Write Ahead Log (WAL) và khả năng khôi phục bất kỳ lúc nào trong cửa sổ lưu giữ.

Bài đăng này hướng dẫn bạn cách khôi phục tại thời điểm (PITR) với Postgres trên dịch vụObjectRocket.

Cách khôi phục bản sao lưu Postgres trong ObjectRocket (/article/uploadfiles/202207/2022070812125333.png)

Sao lưu không phiền phức

Quá trình sao lưu hoàn toàn tự động và bạn không phải làm bất cứ điều gì. Chúng tôi bao gồm các bản sao lưu hàng ngày trong chi phí của tất cả các trường hợp và chúng tôi giữ lại hai tuần dự phòng mọi lúc. Bạn có thể xem thời gian sao lưu của mình và trạng thái trước đó trong trang tổng quan của chúng tôi hoặc bằng cách sử dụng giao diện người dùng (UI), như được hiển thị trong hình ảnh sau:

Cách khôi phục bản sao lưu Postgres trong ObjectRocket

Nhiều tùy chọn khôi phục

Khi bạn gặp phải tình huống và muốn khôi phục bản sao lưu, chúng tôi cung cấp một số tùy chọn. Bạn có thể khôi phục từ các điểm sau:

  • bản cập nhật WAL gần đây nhất mà chúng tôi đã lưu trữ
  • một bản sao lưu cơ sở cụ thể
  • một thời điểm cụ thể

Trong mọi trường hợp, hệ thống sẽ khôi phục dữ liệu của bạn về phiên bản Postgres mới. Tại thời điểm này, bộ nhớ phiên bản phải lớn hơn hoặc bằng bộ nhớ của phiên bản gốc. Trong quá trình này, đôi khi được gọi là phân nhánh cơ sở dữ liệu, bạn lưu trữ dữ liệu của mình vào một phiên bản cơ sở dữ liệu mới và riêng biệt. Vì vậy, cả phiên bản cũ và phiên bản mới vẫn hoạt động cho đến khi bạn xóa một phiên bản.

Các khôi phục hiện chỉ được hiển thị bởiAPI của chúng tôi. Cảm thấy thoải mái khi sử dụng API này. Nếu không, nhóm Hỗ trợ của chúng tôi rất sẵn lòng trợ giúp bạn trong suốt quá trình này. Chúng tôi có kế hoạch thêm các khôi phục vào giao diện người dùng trong thời gian sắp tới.

Khôi phục vào thời điểm mới nhất

Ví dụ này sử dụng một cơ sở dữ liệu đơn giản lưu trữ một dấu thời gian và một chuỗi mỗi phút để chúng ta có thể thấy điểm mà chúng ta đã khôi phục.

Hình ảnh sau đây hiển thị cơ sở dữ liệu và bạn có thể thấy rằng dấu thời gian cuối cùng là lúc 16:00:58 (UTC).

Cách khôi phục bản sao lưu Postgres trong ObjectRocket

Để khôi phục về dữ liệu mới nhất trong cơ sở dữ liệu này, hãy cung cấp ID phiên bản của phiên bản nguồn cho cuộc gọi tạo phiên bản mới, như được hiển thị trong hình ảnh sau:

Cách khôi phục bản sao lưu Postgres trong ObjectRocket

Sau khi quá trình khôi phục phiên bản hoàn tất, hãy kết nối và kiểm tra dấu thời gian cuối cùng.

Cách khôi phục bản sao lưu Postgres trong ObjectRocket

Như bạn có thể thấy, tất cả dữ liệu đều có ở đó và bản sao Postgres mới được chứa đầy đủ cho bản sao Postgres nguồn.

Bạn có thể muốn sử dụng tình huống này để tạo cơ sở dữ liệu thử nghiệm từ dữ liệu hiện tại của mình để bạn có thể thử nghiệm với một tính năng mới mà không có nguy cơ ảnh hưởng đến dữ liệu gốc của bạn.

Khôi phục về một bản sao lưu cụ thể

Để khôi phục từ một bản sao lưu cơ sở, hãy bắt đầu bằng cách chọn một bản sao lưu đích. Khi liệt kê các bản sao lưu, hãy lưu ý rằng mỗi bản sao lưu có một ID duy nhất mà bạn có thể sử dụng để xác định nó. Trong hình ảnh sau, bạn có thể thấy rằng hệ thống đã sao lưu vào lúc 15:36:15 (UTC):

Cách khôi phục bản sao lưu Postgres trong ObjectRocket

Để khôi phục về bản sao lưu chính xác này, hãy thêm ID sao lưu vào cuộc gọi tạo.

Cách khôi phục bản sao lưu Postgres trong ObjectRocket

Sau khi phiên bản được tải, hãy lưu ý rằng bản sao lưu có dữ liệu và dấu thời gian từ trước thời điểm sao lưu là 15:36:15.

Cách khôi phục bản sao lưu Postgres trong ObjectRocket

Khôi phục đến một thời điểm cụ thể

Để chỉ định thời gian bạn muốn khôi phục, hãy cung cấp ID phiên bản nguồn và thời gian để khôi phục, như thể hiện trong hình ảnh sau:

Cách khôi phục bản sao lưu Postgres trong ObjectRocket

Trong trường hợp này, tôi muốn khôi phục về 15:53:00. Sau khi quá trình khôi phục hoàn tất, bạn có thể thấy rằng dữ liệu chỉ tồn tại cho đến thời điểm đó.

Cách khôi phục bản sao lưu Postgres trong ObjectRocket

Nếu bạn nhìn lại những hình ảnh trước đó, bạn có thể nhận thấy rằng chúng tôi đã có một dấu thời gian khác lúc 15:53:00, xảy ra chỉ hơn 0,8 giây sau 15:53:00. Vì vậy, nó không được bao gồm trong khôi phục này. Bạn có thể nhanh chóng chi tiết với PITR để nhắm mục tiêu thời gian và trạng thái trong cơ sở dữ liệu.

Kết luận

Bạn có thể sử dụng tất cả các chức năng khôi phục cơ sở dữ liệu này. Hãy nhớ rằng chúng tôi sẽ bổ sung thêm nhiều tính năng và khả năng hơn trong tương lai gần. Như mọi khi, chúng tôi sẽ cập nhật cho bạn, nhưng hãy cho chúng tôi biết nếu bạn có bất kỳ yêu cầu nào.

Tìm hiểu thêm về Dịch vụ Rackspace DBA

Sử dụng tab Phản hồi để đưa ra bất kỳ nhận xét hoặc đặt câu hỏi nào. Bạn cũng có thể bắt đầu cuộc trò chuyện với chúng tôi.