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
, directory
và tar
định dạng trong khi lựa chọn OID
s 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_dump
và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_dumpall
rõ ràng có một -globals
tùy chọn được cho là sao lưu mọi thứ, nhưng sự trợ giúp cho pg_dumpall
thấy -g, --globals-only dump only global objects, no databases
, không phải là một --globals
tù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_dumpall
tôi cần sử dụng -o
tù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 OID
s 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 globals
tù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 -o
tù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 đỡ!