Alat untuk menghasilkan diagram tabel database dengan Postgresql? [Tutup]


172

Apakah ada alat gratis untuk membuat diagram tabel dengan Postgresql?


6
Karena pertanyaan ini ditutup, saya bertanya pada rekomendasi perangkat lunak SE: Hasilkan diagram tabel database dari database PostgreSQL
Franck Dernoncourt

Jawaban:


184

Saya suka schemaspy untuk visualisasi skema. Lihatlah output sampel yang mereka sediakan, dan air liur. Perhatikan tab!

Anda harus mengunduh driver JDBC di sini , maka perintah Anda akan terlihat seperti:

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

Terkadang menggunakan opsi -porttidak akan berfungsi jika database Anda memiliki port yang berbeda, jadi Anda harus menambahkan port manual setelah parameter host, misalnya:

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

Anda harus menginstal graphvizjuga jika Anda ingin grafis ( apt-get install graphvizuntuk distro berbasis debian).


6
Sebenarnya ini graphviz :)
visioner

2
Schemaspy melakukan trik ini pada percobaan pertama. Tata letak grafik menghasilkan sangat bagus (bahkan pada set tabel kami yang kompleks). Ketika 100 tabel referensi tabel yang sama akan ada garis yang tumpang tindih; namun tata letak keseluruhan mengkompensasi hal ini dan sangat terbaca / dapat dilacak.
pretzels1337

4
untuk graphvizhanya menambahkan -gv /path_to/graphvizke perintah
AzizSM

4
Pada mac saya harus menambahkan: -renderer: kuarsa untuk menghindari kesalahan ini: -Tcmapx 'gagal dengan kode pengembalian 139
slashdottir

7
Untuk menjalankan ini menggunakan Docker di 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 untuk PostgreSQL dapat menghasilkan diagram basis data dari baris perintah, dengan bantuan GraphViz. Anda dapat menggunakan ekspresi reguler untuk menyertakan dan mengecualikan tabel dan kolom. Itu juga dapat menyimpulkan hubungan antara tabel menggunakan konvensi penamaan umum, jika tidak kunci asing didefinisikan.


18

Solusi cepat yang saya temukan ada di dalam program pgAdmin untuk windows. Di bawah menu Alat ada "Alat Kueri". Di dalam Alat Kueri ada Pembuat Kueri Grafis yang dapat dengan cepat menampilkan detail tabel database. Bagus untuk tampilan dasar


1
Saya tidak bisa melihat cara menggambar hubungan menggunakan kunci asing secara otomatis di pgAdmin 1.20.0. Apakah ini didukung?
pyb

1
Tip yang bagus, meskipun sepertinya Anda harus menggambar sendiri semua FK menggunakan gabungan permintaan.
Andrew Swan

6
Fitur ini telah dihapus di PgAdmin 4 pada 2016. Ini mungkin diterapkan kembali tetapi belum pada 2019.
Noumenon



5

PostgreSQL Autodoc telah bekerja dengan baik untuk saya. Ini adalah alat baris perintah sederhana. Dari halaman web:

Ini adalah utilitas yang akan dijalankan melalui tabel sistem PostgreSQL dan mengembalikan HTML, Dot, Dia, dan DocBook XML yang menjelaskan basis data.


3
Tautan dalam jawaban rusak. Dicari dan ditemukan: github.com/cbbrowne/autodoc tetapi tampaknya tidak terawat.
nelsonic

@nelsonic Memang. Haruskah saya bertukar tautan, atau tidak? Tampaknya tidak oleh orang yang sama yang merawatnya. Semacam garpu, sepertinya.
Faheem Mitha

Saya telah bertanya kepada penulis di GitHub apakah proyek ini sedang dipertahankan: github.com/cbbrowne/autodoc/issues/2
nelsonic

@nelsonic Ya, saya melihat jawabannya. Saya juga memposting bugs.debian.org/820208
Faheem Mitha

2
Anda dapat membuat png dari dot berkas seperti: dot -Tpng my_database.dot -o my_database.png.
Kris

1

Di dalam Eclipse saya telah menggunakan plugin Clay (ex Clay-Azurri). Versi gratis memungkinkan untuk mengintrospeksi ("merekayasa balik") skema DB yang ada (via JDBC) dan membuat diagram dari beberapa tabel yang dipilih.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.