PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

pg_dump so với pg_dumpall? cái nào để sử dụng để sao lưu cơ sở dữ liệu?

Quy trình thông thường là:

  • pg_dumpall --globals-only để có được người dùng / vai trò / v.v.
  • pg_dump -Fc cho mỗi cơ sở dữ liệu để có được một kết xuất nén đẹp phù hợp để sử dụng với pg_restore .

Vâng, loại này thật tệ. Tôi thực sự muốn dạy pg_dump để nhúng pg_dumpall xuất thành -Fc đổ, nhưng hiện tại rất tiếc là nó không biết làm thế nào nên bạn phải tự làm.

Cho đến khi PostgreSQL 11 cũng có một cảnh báo khó chịu với cách tiếp cận này:Không pg_dump , cũng không phải pg_dumpall trong --globals-only chế độ sẽ kết xuất quyền truy cập của người dùng GRANT s trên DATABASE S. Vì vậy, bạn phải trích xuất chúng từ danh mục hoặc lọc pg_dumpall . Điều này được khắc phục trong PostgreSQL 11; xem ghi chú phát hành .

Bạn cũng nên biết về sao lưu vật lý - pg_basebackup , Lưu trữ PgBarman và WAL, PITR, v.v. Những thứ này cung cấp khả năng phục hồi "chi tiết hơn" nhiều, tính đến từng phút hoặc từng giao dịch. Nhược điểm là chúng chiếm nhiều dung lượng hơn, chỉ có thể khôi phục về cùng một phiên bản PostgreSQL trên cùng một nền tảng và sao lưu tất cả các bảng trong tất cả cơ sở dữ liệu mà không có khả năng loại trừ bất kỳ thứ gì.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách hoạt động của to_char () trong PostgreSQL

  2. Cách tạo SUM mà không cần nhóm theo

  3. Không cập nhật cột nếu giá trị cập nhật là null

  4. postgresql tương đương với $ mysqli-> insert_id

  5. Đặt giá trị trả về mặc định cho hàm Postgres