67 Nguyễn Thị Định, Phường An Hải, TP. Đà Nẵng
Hướng dẫn

Hướng dẫn sao lưu và khôi phục cơ sở dữ liệu PostgreSQL

Hướng dẫn sao lưu và khôi phục cơ sở dữ liệu PostgreSQL
Chia sẻ

Trong môi trường phát triển, không đề cập tới việc bạn có một cơ sở dữ liệu PostgreSQL To hay nhỏ, việc sao lưu và khôi phục một cơ sở dữ liệu là một tác vụ cơ bản để trong việc quản trị cơ sở dữ liệu. Trong bài này...

Mục lục

Sao lưu cơ sở dữ liệu PostgreSQL
Khôi phục cơ sở dữ liệu PostgreSQL
Backup các CSDL lớn
Backup CSDL PostgreSQL từ xa
Backup tự động sử dụng cronjob

Sao lưu cơ sở dữ liệu PostgreSQL

PostgreSQL Cung cấp công cụ pg_dump giúp chúng ta có thể sao lưu cơ sở dữ liệu. Nó tạo ra một file ở định dạng SQL để chúng ta có thể sử dụng sau này
Để sao lưu, bạn đăng nhập vào máy chủ DB của bạn, sau đó chuyển sang tài khoản ủe Postgres và chạy công cụ pg_dump như phía dưới, thay thế cloudzonedb bằng tên Database bạn cần sao lưu. Mặc định thì định dạng xuất ra là file plain-text SQL script

$ pg_dump cloudzonedb >cloudzonedb.sql

Công cụ pg_dump cũng hỗ trợ nhiều định dạng xuất ra khác nhau. Bạn có thể chỉ định định dạng xuất ra bằng tham số -F trong đó nó sẽ nhận một trong ba giá trị sau

  • Giá trị c: custom format archive
  • Giá trị d: directory format archive
  • Giá trị t: tar format archive

Tất cả các định dạng trên đều thích hợp để dùng với công cụ pg_restore. Các bạn có thể xem một số ví dụ sau đây

$ pg_dump -F c cloudzonedb >cloudzonedb.dump
$ pg_dump -F t cloudzonedb >cloudzonedb.tar

Để xuất ra dưới dạng thư mục, bạn sử dụng tham số -f để chỉ định một thư mục đích thay cho một file. Thư mục này sẽ được tạo bởi pg_dump nếu nó không tồn tại

$ pg_dump -F d  cloudzonedb -f cloudzonedumpdir

Để backup toàn bộ các cơ sở dữ liệu trong hệ thống, bạn sẽ sử dụng công cụ pg_dumpall để sao lưu và công cụ psql để khôi phục

$ pg_dumpall > all_pg_dbs.sql
$ pgsql -f all_pg_dbs.sql postgres
Khôi phục cơ sở dữ liệu PostgreSQL

Bạn có thể sử dụng công cụ psql hoặc pg_restore

  • Psql được sử dụng để khôi phục text file được tạo bởi pg_dump
  • pg_restore được sử dụng để khôi phục từ các định dạng như custom, tar hoặc thư mục

Ví dụ sử dụng

$ psql  cloudzonedb <  cloudzonedb.sql
$ pg_restore -d  cloudzonedb  cloudzonedb.dump
$ pg_restore -d  cloudzonedb  cloudzonedb.tar
$ pg_restore -d  cloudzonedb  cloudzonedumpdir
Backup các CSDL lớn

Bạn có thể kết hợp giữa công cụ pg_dump kết hợp với các công cụ nén files như gzip

$ pg_dump  cloudzonedb | gzip >  cloudzonedb.gz

Nếu CSDL của bạn cực kì lớn, bạn có thể giới hạn number_of_jobs bằng cách sử dụng tham số -j như dưới đây

$ pg_dump -F d -j 5 -f  cloudzonedumpdir
Backup CSDL PostgreSQL từ xa

Bạn sẽ sử dụng các tham số

  • -h để chỉ định remote host (VD ở dây là 10.10.20.10)
  • -p để chỉ định remote pỏt (Ở đây là 5432)
  • -U để chỉ định database role name (cloudzone)
$ pg_dump -U cloudzone -h 10.10.20.10 -p 5432  cloudzonedb >  cloudzonedb.sql

Hoàn toàn có thể dump một CSDL trực tiếp từ server này sang server khác, sử dụng công cụ pg_dump và psql như dưới đây

$ pg_dump -U  cloudzone -h 10.10.20.10  cloudzonedb | pqsl -U cloudzone -h 10.10.20.30  cloudzonedb
Backup tự động sử dụng cronjob

Tạo một folder để chứa file backup

$ mkdir -p /srv/backups/databases

Tạo một Crontab mới

$ crontab -e

Ví dụ như

0 0 * * * pg_dump -U postgres cloudzonedb > /srv/backups/postgres/cloudzonedb.sql
Chia sẻ

Bài viết liên quan

Tối ưu chi phí hạ tầng: chọn đúng cấu hình, thuê theo nhu cầu

Tối ưu chi phí hạ tầng: chọn đúng cấu hình, thuê theo nhu cầu

Cách giảm chi phí hạ tầng hợp lý: chọn đúng cấu hình (right-sizing), thuê theo nhu cầu, kết hợp dịch vụ và rà soát tài nguyên định kỳ mà không ảnh hưởng vận hành

Cách săn khuyến mãi VPS/máy chủ, tránh bẫy giá rẻ

Cách săn khuyến mãi VPS/máy chủ, tránh bẫy giá rẻ

Cách tận dụng khuyến mãi VPS và máy chủ hợp lý, đọc kỹ điều kiện gia hạn và nhận biết bẫy giá rẻ ảnh hưởng chất lượng dịch vụ

Chọn nhà cung cấp VPS/máy chủ: tiêu chí cần kiểm tra

Chọn nhà cung cấp VPS/máy chủ: tiêu chí cần kiểm tra

Các tiêu chí chọn nhà cung cấp VPS và máy chủ: uptime/SLA, hạ tầng data center, peering, hỗ trợ kỹ thuật và chính sách hoàn tiền, kèm cách đọc cam kết dịch vụ

Phần mềm mã nguồn mở thay thế để tiết kiệm bản quyền

Phần mềm mã nguồn mở thay thế để tiết kiệm bản quyền

Gợi ý các phần mềm mã nguồn mở thay thế giải pháp có phí cho máy chủ: hệ điều hành, cơ sở dữ liệu, web server, control panel và ảo hóa, kèm lưu ý chi phí vận hành

So sánh bản quyền control panel: cPanel, DirectAdmin, Plesk

So sánh bản quyền control panel: cPanel, DirectAdmin, Plesk

So sánh cPanel, DirectAdmin và Plesk về tính năng, hệ điều hành hỗ trợ và chi phí bản quyền, kèm gợi ý chọn control panel theo số website và nhu cầu

Các loại bản quyền Windows Server và cách chọn cho đúng

Các loại bản quyền Windows Server và cách chọn cho đúng

Hiểu cấp phép Windows Server theo core, CAL và các kênh OEM/Volume/CSP, phân biệt Standard và Datacenter để chọn bản quyền phù hợp và hợp lệ