Nếu bạn đang sử dụng PostgreSQL, điều quan trọng là phải thận trọng để đảm bảo dữ liệu của người dùng của bạn không bị mất. Bằng cách thường xuyên sao lưu database của bạn. Trong trường hợp vì một lý do nào đó, database của bạn bị lỗi, bạn hoàn toàn có thể khôi phục nhanh hệ thống của mình.
PostgreSQL chứa các công cụ để thực hiện nhiệm vụ này đơn giản và dễ dàng. Qua bài viết này, vinasupport.com sẽ hướng dẫn các bạn cách sao lưu (backup) và khôi phục (restore) PostgreSQL 10 Database.
Nếu là người mới bắt đầu tìm hiểu về PostgreSQL thì các bạn có thể tham khảo bài viết: Hướng dẫn cài đặt PostgreSQL 10, để có cái nhìn tổng quan về hệ quản trị CSDL này.
1. Backup PostgreSQL Database
PostgreSQL cung cấp cho chúng ta công cụ pg_dump để thực hiện backup database dễ dàng.
Đầu tiên các bạn login vào tài khoản postgres (Tài khoản quản lý mặc định của PostgreSQL)
su - postgres
Sử dụng command sau để sao lưu
pg_dump vinasupport_com > /opt/backup/vinasupport_com.bak
Trong ví dụ trên, mình thực hiện backup database có tên là “vinasupport_com“, và lưu tại đường dẫn /opt/backup/vinasupport_com.bak
2. Khôi phục PostgreSQL Database
Để khôi phục một database từ file backup .bak của PostgreSQL, các bạn sử dụng command sau:
psql vinasupport_com < /opt/backup/vinasupport_com.bak
3. Backup PostgreSQL Database trên một remote server.
Nếu như bạn muốn backup một PostgreSQL Database từ một remote server về local của bạn, các bạn chỉ định thêm 2 tham số -h <server_ip> và -p <server_port>
pg_dump -h 172.20.109.100 -p 5432 dbname > dbname.bak
4. Backup và sao lưu toàn bộ database của PostgreSQL
Để backup toàn bộ database của PostgreSQL, các bạn sử dụng công cụ pg_dumpall của PostgreSQL
pg_dumpall > all_pgdb_backup.bak
Để khôi phục toàn bộ database
psql -f all_pgdb_backup.bak postgres
5. Back và sao lưu sử dụng pg_dump và pg_restore
Để sử dụng pg_restore chúng ta cần cài Postgresql Client Tool
sudo apt -y instal postgresql-client
Backup:
pg_dump -U username -f backup.dump database_name -Fc
Restore đơn giản bằng:
pg_restore -d database_name -U username -C backup.dump
Nguồn: vinasupport.com