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

Làm thế nào để khôi phục tệp kết xuất PostgreSQL vào cơ sở dữ liệu Postgres?

Bạn đã không đề cập đến cách sao lưu của mình được thực hiện, vì vậy câu trả lời chung chung là: Thường là với psql công cụ.

Tùy thuộc vào cái gì pg_dump được hướng dẫn kết xuất, tệp SQL có thể có các bộ lệnh SQL khác nhau. Ví dụ:nếu bạn hướng dẫn pg_dump để kết xuất cơ sở dữ liệu bằng cách sử dụng --clean--schema-only , bạn không thể mong đợi có thể khôi phục cơ sở dữ liệu từ kết xuất đó vì sẽ không có lệnh SQL nào để SAO CHÉP (hoặc CHÈN if --inserts được sử dụng) dữ liệu thực tế trong bảng. Một kết xuất như vậy sẽ chỉ chứa các lệnh DDL SQL và sẽ có thể tạo lại lược đồ nhưng không phải dữ liệu thực tế.

Một kết xuất SQL điển hình được khôi phục bằng psql :

Cơ sở dữ liệu
psql (connection options here) database  < yourbackup.sql

hoặc cách khác từ psql phiên,

psql (connection options here) database
database=# \i /path/to/yourbackup.sql

Trong trường hợp sao lưu được thực hiện bằng pg_dump -Fc ("định dạng tùy chỉnh"), không phải là một tệp SQL thuần túy mà là một tệp nén, bạn cần sử dụng pg_restore công cụ.

Nếu bạn đang làm việc trên một thiết bị giống unix, hãy thử cách này:

man psql
man pg_dump
man pg_restore

nếu không, hãy xem các tài liệu html. Chúc bạn thành công!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. HEX () và UNHEX () của MySQL tương đương trong Postgres?

  2. Sửa chữa hỏng cơ sở dữ liệu postgresql

  3. PostgreSQL 11:Có gì mới

  4. Tính toán và tiết kiệm dung lượng trong PostgreSQL

  5. Chỉ mục thích hợp để truy vấn cấu trúc trong mảng trong Postgres jsonb là gì?