I would like to generate an entity-relationship diagram (ERD) from an existing PostgreSQL database.
- What is the recommended approach to do this?
- Are there any built-in tools to do it? Or third-party alternatives?
I would like to generate an entity-relationship diagram (ERD) from an existing PostgreSQL database.
You can use dbeaver to do this. It allows you to export the ER diagram as png/svg etc.
DBeaver - https://dbeaver.io/
Double click on a schema (eg, Schemas->public->Tables) and open the "ER Diagram" tab (next to "Properties" tab)
pgAdmin 4 version 30 and newer can generate the ERD from an existing database. Just right-click on the database and select Generate ERD.
We used DBVisualizer for that.
Description: The references graph is a great feature as it automatically renders all primary/foreign key mappings (also called referential integrity constraints) in a graph style. The table nodes and relations are layed out automatically, with a number of layout modes available. The resulting graph is unique as it displays all information in an optimal and readable layout. from its site
pgModeler can generate nice ER diagram from PostgreSQL databases.
It seems there is no manual, but it is easy enough without manual. It's QT application. AFAIK, Fedora and Ubuntu has package. (pgmodeler)
In the latest version of pgModeler (0.9.1) the trial version allows you to create ERD (the design button is not disabled). To do so:
Download DbVisualizer from : https://www.dbvis.com/download/10.0
and after installing create database connection:
Change highlighted detail of your db and test by click ping server. Finally click connect
Enjoy.
Our team use Visual Paradigm to generate ER diagram from database in many of our projects. While we mainly work on MS SQL and Oracle, as I know they also support some other DBMS like PostgreSQL, MySQL, Sybase, DB2 and SQLite.
Steps:
BTW they also support generating and updating database schema from ERD.
Hope this helps. :-)
More information about generating ERD from PostgreSQL database
ERBuilder can generate ER diagram from PostgreSQL databases (reverse engineer feature).
Below step to follow to generate an ER diagram:
• Click on Menu -> File -> reverse engineer
• Click on new connection
• Fill in PostgresSQL connection information
• Click on OK
• Click on next
• Select objects (tables, triggers, sequences…..) that you want to reverse engineer.
• Click on next.
Another option is use Oracle SQL Developer. Two steps as below:
(1) First of all, you need to connect SQL Developer to your PostgreSQL database.
(2) Then you can generate an entity-relationship (ER) diagram using SQL Developer
Perhaps have a look at AquaFold's Aqua Data Studio. It is a database IDE with entity-relationship diagramming. It also includes data profiling. It is not free but its price is very reasonable considering its capabilities.
postgresql_autodoc
is a command-line tool for doing this. Doesnt do cardinality, but none of the above mentioned GUI tools do as well.
You can generate ER diagram from PgAdmin.
Open MySQL Workbench. In the home screen click 'Create EER Model From Existing Database'. We are doing this for the case that we have already made the data base and now we want to make an ER diagram of that database.
Then you will see the 'Reverse Engineer Database' dialouge. Here if you are asked for the password, provided the admin password. Do not get confused here with the windows password. Here you need to provide the MySQL admin password. Then click on Next.
In the next dialouge box, you'll see that the connection to DBMS is started and schema is revrieved from Database. Go next.
Now Select the Schema you created earlier. It is the table you want to create the ER diagram of.
Click Next and go to Select Objects menu. Here you can click on 'Show Filter' to use the selected Table Objects in the diagram. You can both add and remove tables here.Then click on Execute.
6.When you go Next and Finish, the required ER diagram is on the screen.