2011-07-28 21 views
6

Tôi muốn đổ một cơ sở dữ liệu.Cách sao lưu một số bảng có dữ liệu và một số bảng chỉ có lược đồ PostgreSQL

Tôi có ba bảng:

table1 table2 table3

Từ table1 tôi muốn schema cộng dữ liệu.

Từ table2 và table3 tôi chỉ muốn lược đồ.

Tôi làm như thế nào?

+0

"Không hoạt động" không phải là thông báo lỗi PostgreSQL hợp lệ. –

+0

tôi giải quyết vấn đề với "bản sao từ stdin" bằng cách sử dụng tham số "--inserts" –

Trả lời

21

Để lấy dữ liệu từ chỉ là một vài bảng:

pg_dump myDatabase --inserts -a -t table1 -t table2> backup.sql;

pg_dump myDatabase --inserts -a -t seq1 -t seq2> backupSequences.sql;

thông số giới thiệu:

-a, --data chỉ đổ chỉ có dữ liệu, không phải là schema

-t, --table = TABLE đổ bảng tên (s) chỉ

--inserts đổ dữ liệu như các lệnh INSERT, chứ không phải là COPY

Đây là những gì tôi muốn :)

Cảm ơn tất cả!

+1

Lưu ý rằng nếu bạn tình cờ chạy pg <= 8.1 nhiều '-t' args không được hỗ trợ. Bạn có thể giải quyết vấn đề này với nhiều lệnh dump, nhưng việc giải quyết các phụ thuộc ràng buộc cho việc xây dựng lại là một vấn đề. –

+0

quan sát tốt đẹp, cảm ơn! –

3

Sử dụng pg_dump, chỉ có cả dữ liệu lược đồ và lược đồ + dữ liệu.

Các vấn đề liên quan