Tôi đã hy vọng tôi có thể nhận được câu trả lời rõ ràng về cách đảm bảo thực hiện sao lưu toàn bộ Postgres giống như bạn nhận được với MS SQL Server, sau đó chăm sóc người dùng mồ côi.
Từ những gì tôi đã đọc và có thể sai, việc tìm kiếm một blog PostgreQuery tốt đã rất khó khăn, vì vậy xin vui lòng giới thiệu cho tôi một số, tôi cần tìm hiểu cách ứng dụng này hoạt động để tôi có thể tin tưởng vào các bản sao lưu và Slony của mình nhân rộng. Tôi đã có một nhà phát triển khôi phục lại một sao lưu tôi lấy từ PgadminIII qua custom, directoryvà tarđịnh dạng trong khi lựa chọn OIDs nhưng ông cho biết hai trong số họ đã không tải, tarđã làm nhưng nó chỉ là thư mục, không phải là dữ liệu. Bây giờ tôi thực sự bối rối.
- Tôi đang sử dụng PGAdminIII, nó có một tùy chọn
pg_dumpvàpg_dumpall. Tôi muốn sao lưu mọi thứ mà tôi cần để kiểm tra khôi phục cơ sở dữ liệu này ở đâu đó và xác minh rằng có, tất cả dữ liệu chúng tôi cần và bản sao lưu của chúng tôi đều tốt. Cuối cùng, tôi muốn viết một kịch bản tự động khôi phục nhưng mỗi ngày một lần.
pg_dumpallrõ ràng có một -globalstùy chọn được cho là sao lưu mọi thứ, nhưng sự trợ giúp cho pg_dumpallthấy -g, --globals-only dump only global objects, no databases, không phải là một --globalstùy chọn.
Tôi nghĩ pg_dumpallít nhất sẽ sao lưu các khóa ngoại, nhưng thậm chí đó dường như là một 'tùy chọn'. Theo tài liệu , ngay cả khi pg_dumpalltôi cần sử dụng -otùy chọn để sao lưu khóa ngoại, tôi thực sự không thể tưởng tượng được khi nào tôi không muốn sao lưu khóa ngoại và điều này sẽ có ý nghĩa hơn như một tùy chọn mặc định.
- Làm thế nào tôi có thể chăm sóc người dùng mồ côi và xác nhận tôi có mọi thứ? Tôi thực sự muốn khôi phục tệp sao lưu của mình trên một máy chủ khác và xác minh mọi thứ hoạt động. Nếu bất cứ ai có bất kỳ đề xuất nào về cách sao lưu thực sự trong PostgreSQL và khôi phục, tôi sẽ rất biết ơn.
Tôi đã có một máy chủ PostgreSQL nhưng tôi vẫn không thể hiểu tại sao ứng dụng không sao lưu OIDs theo mặc định! Có vẻ như 99,9% thời gian bạn muốn điều đó.
CẬP NHẬT 1:
Tài liệu của Postgres đề cập rằng globalstùy chọn mà tôi đang tìm kiếm dường như là một tùy chọn mặc định trên phiên bản này, nhưng nó vẫn cần -otùy chọn này. Nếu ai đó có thể xác minh hoặc đưa cho tôi một lệnh ví dụ để khôi phục một cơ sở dữ liệu duy nhất ở nơi khác với mọi thứ nó cần, tôi sẽ đánh giá cao nó.
Chỉnh sửa: được yêu cầu bởi trang web để hiển thị tính duy nhất của câu hỏi này bằng cách chỉnh sửa câu hỏi của tôi. Câu hỏi này đặt ra vấn đề và nhận được sự rõ ràng về OID trong các bản sao lưu, sự khác biệt giữa toàn cầu và không toàn cầu, cũng như kiểm tra khôi phục các khuyến nghị để đảm bảo sao lưu tốt thay vì chỉ sao lưu. Do các câu trả lời, tôi đã có thể sao lưu, tìm ra toàn cầu / oids và bắt đầu quá trình khôi phục thử nghiệm hàng đêm trên Postgres bằng các công việc định kỳ. Cảm ơn đã giúp đỡ!