pgModeler - PostgreSQL Database Modeler - is an open-source data modeling tool designed for PostgreSQL. No more typing DDL commands. Let pgModeler do the work for you! This software unites the concepts of entity-relationship diagrams and the features that PostgreSQL implements as extensions of SQL standards. It also counts with a minimalist but functional database server administration module which allows the execution of any sort of SQL commands, database objects browsing, and data handling in a simple and intuitive UI. For more details about additional features, screenshots, and other useful information, please, visit the project's official website.
Please let me know how pgModeler is working on your system. Help improve this project, give your feedback about the software or report any bugs on the Issues page. Additionally, follow pgModeler on Twitter and be up-to-date with new features, fixes, and releases.
For details about the installation process from the source code, visit the Installation section. If you don't want to compile pgModeler yourself, there are binaries available for purchase on the official website.
You may want to check the official plugin repository as well.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation version 3.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See LICENSE for details.
Much time, effort, coffee, chocolate, and knowledge is being devoted to this project so that a reliable and constantly improved product can be delivered to the community. If you like pgModeler and think it deserves a contribution, please donate any amount on the project's official website.
pgModeler has reached a state where its developer can't handle all the modifications and new feature requests by himself anymore. So if you know C++ and Qt, and want to contribute with coding, let me know! I'll be grateful for any help with the project!
- Due to the usage of Qt's raster engine to draw objects, the process of handling objects on the canvas tends to get slower as lots of objects are created causing constant CPU usage. A heavy performance degradation can be noticed when dealing with models with ~500+ tables and/or relationships. There're plans to improve the speed of drawing operations, for large models, in future releases. Changing the relationship connection mode and render smoothness options may help in the performance when handling big database models.
- pgModeler can't handle correctly the importing of complex CSV files (multilined cell values) in data manipulation form, or pasting CSV content of that complexity on that dialog.
- Due to the CSV importing limitations, any value copied or exported from pgModeler in CSV format will be automatically formatted in the proper way that the tool can handle (by escaping any special character like line breaks and tabulations). If you intend to use CSV files generated by the tool in other software you have to revert back that characters escaping so the file can be read properly by third party softwares.
- The diff process still presents false-positive results due its limitations. Sometimes, there is the need to run the process twice to get the full changes.
- pgModeler does not fully support the quoted identifier notation. When using quoted identifiers only the following characters are accepted in the middle of names: a-z A-Z 0-9 _ . @ $ - / \ space.
- pgModeler is unusable in sandboxed macOS. To workaround this issue you'll need to deactivate sandbox usage to run pgModeler properly. There is no plan to fix pgModeler to support this kind of environment.
- pgModeler can't be compiled with Microsoft Visual Studio due to use of some gcc/clang extensions.
- Compiling the source using '-Wconversion' (disabled by Qt in its defaults) generates a lot of warnings. These warnings are 99% harmless and there's no plans to fix them in a near future.
- pgModeler can sometimes crash during the export, import or validation process due to some threaded operations that, depending on the size and the arrangement of the model, cause race conditions.
- Due to particularities on executing bundles on MacOSX, the file association does not work correctly on this system. So it's not possible to open a model file by clicking it on Finder.
The detailed changelog can be seen on CHANGELOG.md file.
Older releases of pgModeler can be found on Sourceforge.net.
