Tôi đang sử dụng phpPgAdmin trong trình duyệt và PgAdmin III cho Windows. Có anyway để có bản in của cấu trúc bảng cho toàn bộ cơ sở dữ liệu?Làm thế nào để in cấu trúc bảng từ postgresql?
Trả lời
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.
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.
Làm thế nào về với dữ liệu? –
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
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.
Điều đó phải là 'pg_dump' không phải' psql' –
thx @ a-horse-with-no-name, được sửa lỗi – filiprem
Sử dụng '' để tránh mã màu xám. – ben