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

Sao chép cơ sở dữ liệu PostgreSQL sang một máy chủ khác

Bạn không cần tạo một tệp trung gian. Bạn có thể làm

pg_dump -C -h localhost -U localuser dbname | psql -h remotehost -U remoteuser dbname

hoặc

pg_dump -C -h remotehost -U remoteuser dbname | psql -h localhost -U localuser dbname

sử dụng psql hoặc pg_dump để kết nối với máy chủ từ xa.

Với cơ sở dữ liệu lớn hoặc kết nối chậm, việc kết xuất tệp và chuyển tệp đã nén có thể nhanh hơn.

Như Kornel đã nói không cần phải kết xuất vào một tệp trung gian, nếu bạn muốn nén hoạt động, bạn có thể sử dụng một đường hầm nén

pg_dump -C dbname | bzip2 | ssh  [email protected] "bunzip2 | psql dbname"

hoặc

pg_dump -C dbname | ssh -C [email protected] "psql dbname"

nhưng giải pháp này cũng yêu cầu có được một phiên ở cả hai đầu.

Lưu ý: pg_dump là để sao lưu và psql là để khôi phục. Vì vậy, lệnh đầu tiên trong câu trả lời này là sao chép từ cục bộ sang từ xa và lệnh thứ hai là từ từ xa sang cục bộ . Thêm -> https://www.postgresql.org/docs/9.6/app-pgdump.html



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Khi nào thì chọn khóa và mở khóa cập nhật?

  2. Tìm kiếm một mảng JSON cho một đối tượng có chứa giá trị khớp với một mẫu

  3. Chọn số lượng hàng trong một bảng khác trong câu lệnh Postgres SELECT

  4. Cách tính toán sự khác biệt giữa hai dấu thời gian trong PostgreSQL

  5. Cách pg_sleep_for () hoạt động trong PostgreSQL