Các công cụ để tạo sơ đồ bảng cơ sở dữ liệu với Postgresql? [đóng cửa]


170

Có công cụ miễn phí nào để tạo sơ đồ bảng với Postgresql không?


5
Vì câu hỏi này đã bị đóng, tôi đã hỏi về đề xuất phần mềm SE: Tạo sơ đồ bảng cơ sở dữ liệu từ cơ sở dữ liệu
PostgreQuery

Câu trả lời:


182

Tôi yêu schemaspy cho visualisations schema. Nhìn vào đầu ra mẫu mà họ cung cấp và chảy nước dãi. Lưu ý các tab!

Bạn sẽ cần tải xuống trình điều khiển JDBC tại đây , sau đó lệnh của bạn sẽ trông giống như:

java -jar schemaspy-6.0.0-rc2.jar -t pgsql -db database_name -host myhost -u username -p password -o ./schemaspy -dp postgresql-9.3-1100.jdbc3.jar -s public -noads

Đôi khi, việc sử dụng các tùy chọn -portsẽ không hoạt động nếu cơ sở dữ liệu của bạn có cổng khác, vì vậy bạn phải thêm cổng thủ công sau tham số máy chủ, ví dụ:

java -jar schemaspy-6.0.0-rc2.jar -t pgsql -db database_name -host myhost:myport -u username -p password -o ./schemaspy -dp postgresql-9.3-1100.jdbc3.jar -s public -noads

Bạn cũng sẽ cần phải cài đặt graphviznếu bạn muốn đồ họa ( apt-get install graphvizđối với các bản phân phối dựa trên debian).


6
Trên thực tế, đó là graphviz :)
nhìn xa trông rộng vào

2
Schemaspy đã thực hiện thủ thuật này trong lần thử đầu tiên. Bố cục của biểu đồ tạo là tuyệt vời (ngay cả trên tập hợp bảng phức tạp của chúng tôi). Khi 100 bảng tham chiếu cùng một bảng sẽ có các dòng trùng nhau; tuy nhiên bố cục tổng thể bù cho điều này và hoàn toàn dễ đọc / truy nguyên.
Pretzels1337

4
cho graphvizchỉ gắn -gv /path_to/graphvizvới lệnh
AzizSM

4
Trên mac tôi đã phải thêm: -renderer: thạch anh để tránh lỗi này: -Tcmapx 'không thành công với mã trả về 139
slashdottir

6
Để chạy cái này bằng Docker trên mac:docker run -v `pwd`/diagram:/output schemaspy/schemaspy:snapshot -t pgsql --port 5432 -u postgres -db <dbname> -host docker.for.mac.localhost -p <password>
ah

31

SchemaCrawler cho PostgreSQL có thể tạo sơ đồ cơ sở dữ liệu từ dòng lệnh, với sự trợ giúp của GraphViz. Bạn có thể sử dụng các biểu thức thông thường để bao gồm và loại trừ các bảng và cột. Nó cũng có thể suy ra mối quan hệ giữa các bảng bằng cách sử dụng các quy ước đặt tên chung, nếu không xác định các khóa ngoại.


18

Giải pháp nhanh chóng tôi tìm thấy là bên trong chương trình pgAdmin cho windows. Trong menu Công cụ có "Công cụ truy vấn". Bên trong Công cụ truy vấn có Trình tạo truy vấn đồ họa có thể nhanh chóng hiển thị chi tiết bảng cơ sở dữ liệu. Tốt cho một cái nhìn cơ bản


1
Tôi không thể thấy cách tự động vẽ mối quan hệ bằng khóa ngoại trong pgAdmin 1.20.0. Nó có được hỗ trợ không?
pyb

1
Mẹo hay, mặc dù có vẻ như bạn phải tự rút ra tất cả các FK bằng cách sử dụng tham gia truy vấn.
Andrew Swan

6
Tính năng này đã bị xóa trong PGAdmin 4 vào năm 2016. Nó có thể được triển khai lại nhưng chưa có từ năm 2019.
Noumenon


9

Chỉ cần tìm thấy http://www.sqlpower.ca/page/architect thông qua Hướng dẫn cộng đồng Postgres được đề cập bởi Frank Heikens. Nó có thể dễ dàng tạo ra một sơ đồ, và sau đó cho phép bạn điều chỉnh các đầu nối!


Tôi không thể làm điều này để làm việc; tiếp tục nhận được ArrayIndexOutOfBoundException
FuriousFolder

5

PostgreSQL Autodoc đã làm việc tốt với tôi. Nó là một công cụ dòng lệnh đơn giản. Từ trang web:

Đây là một tiện ích sẽ chạy qua các bảng hệ thống PostgreQuery và trả về HTML, Dot, Dia và DocBook XML mô tả cơ sở dữ liệu.


3
Liên kết trong câu trả lời bị hỏng. Googled và tìm thấy: github.com/cbbrowne/autodoc nhưng dường như không rõ ràng.
nelsonic

@vasonic Thật vậy. Tôi có nên trao đổi các liên kết, hay không? Nó dường như không phải là của cùng một người đã duy trì nó. Một số loại ngã ba, nó trông như thế.
Faheem Mitha

Tôi đã hỏi tác giả trên GitHub nếu dự án đang được duy trì: github.com/cbbrowne/autodoc/issues/2
nelsonic

@vasonic Vâng, tôi đã thấy câu trả lời. Tôi cũng đã đăng bug.debian.org/820208
Faheem Mitha

2
Bạn có thể tạo một png từ tệp chấm như vậy : dot -Tpng my_database.dot -o my_database.png.
Kris

1

Bên trong Eclipse Tôi đã sử dụng plugin Clay (ví dụ Clay-Azurri). Phiên bản miễn phí cho phép hướng nội ("kỹ sư đảo ngược") một lược đồ DB hiện có (thông qua JDBC) và tạo sơ đồ của một số bảng đã chọn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.