2011-12-28 38 views

Trả lời

6

Cách tiêu chuẩn xuất khẩu đồ cơ sở dữ liệu là pg_dump:

#!/bin/sh 
pg_dump --schema-only MYDBNAME > output-file.sql 

Sligtly tốt hơn theo cách kết hợp pg_dump với bộ lọc danh sách pg_restore:

#!/bin/sh 
dump=`mktemp` 
list=`mktemp` 
pg_dump --schema-only MYDBNAME -Fc -f $dump 
pg_restore -l $dump | grep ' TABLE ' > $list 
pg_restore -L $list $dump > output-file.sql 
rm $list $dump 

Nếu bạn thích wizards GUI, lệnh pg_dump có thể được tạo ra trong PgAdmin III:

  • ri ght nhấp vào cơ sở dữ liệu trong trình duyệt đối tượng, chọn "Sao lưu"
  • chọn tên tệp đích (tiện ích phổ biến là .sql hoặc .txt)
  • Chọn định dạng "Đồng bằng". (Có nghĩa là, định dạng văn bản)
  • vào "Dump Tùy chọn # 1" tab, đánh dấu "Chỉ Schema"
  • nhấp chuột "Backup"

Lưu ý: tập tin kết quả sẽ có không chỉ bảng, mà còn tất cả các đối tượng khác (dạng xem, hàm, v.v.). Nếu bạn chỉ cần bản in tối thiểu, bạn có thể chỉnh sửa tệp này trong trình chỉnh sửa văn bản và xóa nội dung không cần thiết. Chỉ để lại "Type: TABLE;" mặt hàng.

+0

Điều đó phải là 'pg_dump' không phải' psql' –

+0

thx @ a-horse-with-no-name, được sửa lỗi – filiprem

+0

Sử dụng '' để tránh mã màu xám. – ben

1

Bạn có thể thực hiện chúng mỗi lần khi cần. Nhấp chuột phải vào bảng trong pgAdminIII, chuyển đến Báo cáo và chọn "Báo cáo từ điển dữ liệu".

Đối với định dạng đầu ra, hãy chọn "XHTML 1.0 Chuyển tiếp", chọn tùy chọn "Nhúng biểu định kiểu mặc định", đặt tên tệp và nhấp OK.

Mở tệp XML trong trình duyệt của bạn và in.

+0

Làm thế nào về với dữ liệu? –

+0

Có cách nào có lập trình để chạy tương đương với pgAdminIII "Báo cáo Từ điển Dữ liệu" trên tất cả các bảng trong một lược đồ không? – pdog

3

Nếu bạn đang dùng Windows và pgAdmin, bạn nên có psql ở đâu đó trong C:\Program files\postgresql\<version>\bin\psql.

Chạy psql và sau đó bạn có \d in tất cả các bảng và chỉ mục và \d <table_name> cung cấp cho bạn chi tiết về một bảng.

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