openplanning

Sao lưu và phục hồi cơ sở dữ liệu PostGres với pgAdmin 4

  1. Mục tiêu của bài học
  2. Backup (Sao lưu)
  3. Restore (Phục hồi)

1. Mục tiêu của bài học

Trong bài học này tôi sẽ hướng dẫn bạn cách sao lưu (backup) và phục hồi (restore) cơ sở dữ liệu PostGreSQL sử dụng công cụ pgAdmin.
Backup
Sao lưu (backup) là một hành động sao chép (copy) các dữ liệu trong cơ sở dữ liệu của bạn, và đặt vào một nơi an toàn đề phòng trường hợp cơ sở dữ liệu bị hỏng vì một nguyên nhân nào đó, chẳng hạn ổ cứng của máy chủ bị hỏng. Bản sao lưu (Backup) có thể giúp bạn phục hồi (restore) lại dữ liệu.
Về cơ bản có 2 kiểu sao lưu:
  • Sao lưu vật lý (Physical backups)
  • Sao lưu logic (Logical backups)
Sao lưu vật lý (Physical backups): Cơ sở dữ liệu của bạn được cài đặt trên một máy chủ, dữ liệu của nó được lưu trữ trên các tập tin. Vậy để sao lưu nó bạn chỉ cần copy hết tất cả các tập tin này và đặt sang một vị trí an toàn (Có thể là một ổ cứng khác).
Sao lưu logic (Logical backups): Đây là cách để bạn sao chép một phần dữ liệu, thông qua một công cụ được cung cấp bởi cơ sở dữ liệu bạn đang sử dụng. Chẳng hạn bạn muốn sao lưu dữ liệu của một vài bảng, hoặc một vài Schema, kết quả thu được là một hoặc một vài tập tin.
Restore
Phục hồi (restore): là hành động sử dụng "sản phẩm" mà bạn có được khi sao lưu, để phục hồi lại dữ liệu cho cơ sở dữ liệu.

2. Backup (Sao lưu)

Giả sử lúc này tôi có một cơ sở dữ liệu mytestdb, tôi sẽ sử dụng pgAdmin để backup (Sao lưu) cơ sở dữ liệu này.
Có nhiều kiểu định dạng (format) khi bạn sao lưu, chẳng hạn Custom, Tar, Directory, Plain. Nhưng định dạng Custom được ưa chuộng nhất, kết quả bạn sẽ có được một tập tin với phần mở rộng là backup.
OK, Chọn định dạng Custom, chọn vị trí, và tên tập tin sẽ được tạo ra...
Sau khi quá trình sao lưu thành công bạn sẽ có một tập tin:

3. Restore (Phục hồi)

Ở bước bạn đã sao lưu một cơ sở dữ liệu và có được một tập tin, bạn có thể sử dụng tập tin này để phục hồi cơ sở dữ liệu khi cần thiết.
Để phục hồi, trên pgAdmin tạo ra một cơ sở dữ liệu rỗng.
Chẳng hạn tôi tạo ra một cơ sở dữ liệu với tên mytestdb2.
Cơ sở dữ liệu mytestdb2 đã được tạo ra, nó thực sự là một cơ sở dữ liệu rỗng, nó không có các bảng hoặc bất kỳ một đối tượng nào khác.
Sử dụng chức năng Restore để phục hồi cơ sở dữ liệu này từ tập tin mà bạn đã sao lưu trước đó.
Quá trình Restore thành công: