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

Khôi phục tệp sao lưu postgres bằng dòng lệnh?

Có hai công cụ để xem xét, tùy thuộc vào cách bạn tạo tệp kết xuất.

Nguồn tham khảo đầu tiên của bạn phải là trang người đàn ông pg_dump(1) vì đó là những gì tạo ra bãi chứa chính nó. Nó nói:

Kết xuất có thể được xuất ở định dạng tập lệnh hoặc tệp lưu trữ. Tập lệnh kết xuất là các tệp văn bản thuần túy chứa các lệnh SQL cần thiết để cấu trúc lại cơ sở dữ liệu về trạng thái ban đầu tại thời điểm nó được lưu. Torestore từ một tập lệnh như vậy, hãy đưa nó lên topql (1). Các tệp kịch bản có thể được sử dụng để xây dựng lại cơ sở dữ liệu trước các máy và kiến ​​trúc khác; với một số sửa đổi, ngay cả trên các sản phẩm cơ sở dữ liệu SQL khác.

Các định dạng tệp lưu trữ thay thế phải được sử dụng với pg_restore (1) để xây dựng lại cơ sở dữ liệu. Chúng cho phéppg_restore lựa chọn về việc khôi phục whatis, hoặc thậm chí sắp xếp lại thứ tự các trang trước khi được khôi phục. Các định dạng tệp lưu trữ được thiết kế để có thể di động qua các kiến ​​trúc.

Vì vậy, phụ thuộc vào cách nó được đổ ra ngoài. Bạn có thể tìm ra nó bằng cách sử dụng tệp file(1) lệnh - nếu nó đề cập đến văn bản ASCII và / hoặc SQL, nó sẽ được khôi phục bằng psql nếu không, bạn có thể nên sử dụng pg_restore

Khôi phục khá dễ dàng:

psql -U username -d dbname < filename.sql

-- For Postgres versions 9.0 or earlier
psql -U username -d dbname -1 -f filename.sql

hoặc

pg_restore -U username -d dbname -1 filename.dump

Kiểm tra các trang tương ứng của họ - có khá nhiều tùy chọn ảnh hưởng đến cách khôi phục hoạt động. Bạn có thể phải xóa các cơ sở dữ liệu "đang hoạt động" của mình hoặc tạo lại chúng từ template0 (như đã chỉ ra trong nhận xét) trước khi khôi phục, tùy thuộc vào cách tạo ra các kết xuất.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hướng đến PGConf India 2017

  2. JDBCTemplate đặt POJO lồng nhau với BeanPropertyRowMapper

  3. Nối / hợp nhất các giá trị mảng trong quá trình nhóm / tổng hợp

  4. Trích xuất tháng từ một ngày trong PostgreSQL

  5. Sắp xếp các giá trị NULL vào cuối bảng