In the past 15 years, I was working hard on bringing one quality and reliable tool that could attend to the users' needs. Due to the amazing engagement of the community around pgModeler all this time, and believing that I have reached my main goal ahead of this project, it's time to give another important step: move onto the major version 1.0. In this post, I'll talk about some of my plans involving the development of the most important pgModeler ever, my current difficulties, and what to expect for the future of this project.Read blog
Easy to use: Create and edit database models easily with a simple and intuitive interface. The forms indicate which fields must be filled to provide the correct generation of SQL code.
Open source: Get, modify, and redistribute the source code without any charge. This project has a public repository that allows forks and full access to the source code. Developers can create their own versions from the existing code.
Multiplatform Built on top of the Qt framework, pgModeler can be compiled on Windows, Linux and macOS. The build scripts are easily configurable to resolve specific dependencies on each operating system.
Dynamic code generation: Design once and export to multiple versions. With its dynamic code generation, pgModeler can export the designed models to different versions of PostgreSQL (currently from 9.x to 13.x).
Plug-ins support: Missing some functionality? Use the plug-in development interface and create your own extension for pgModeler without change a single line of the core code. See the official plug-ins repository for more details.
Collaborative development: Developer or not, you can collaborate! Give your feedback with suggestions for improvements, submit UI translations, report bugs, and much more via pgModeler's page at GitHub.
Handle several types of objects with an easy interface: pgModeler supports the creation of the most basic object like a simple column as well as advanced objects like user-defined languages, functions, operators, and many others with easy-to-use forms.
Automatic generation of columns and constraints: With the column propagation mechanism, pgModeler automatically creates all columns and constraints as the user links tables using the available relationship objects avoiding repetitive tasks and improving productivity.
Export models in five different ways: pgModeler can export the models to a SQL script, to a PNG image, to an SVG file, in the form of a data dictionary in HTML format, or directly to a PostgreSQL server.
Generate models from existing databases: With the reverse engineering process, pgModeler can create reliable models based upon existing databases.
XML based files: As an open-source tool, pgModeler gives complete access to its source code and the contents of any generated file. All created files are XML based, which means the user can handle them in third party software.
Restore previous work in case of failure: In case of unexpected quit, the user doesn't lose all the work because pgModeler stores temporary models with the most recent changes and will restore them in the next startup.
Model structure validation and automatic fixes: To avoid breaking references and/or rules during design time and when exporting the model to PostgreSQL, pgModeler validates models from time to time. This validation feature produces an almost error-free database model.
Customizable features: With an extensive set of configurations, pgModeler gives the user the freedom to customize most of its features.
Generate SQL scripts to synchronize both model and database: Through the diff feature, the user can generate SQL scripts based on the differences between a model and database, or between two databases. The script contains the needed commands to keep synchronized the involved entities.
Manage existing databases: pgModeler provides a simplistic yet helpful database management module where it is possible to run SQL commands, explore the objects, and handle data.
Command-line interface to automate processes: The CLI offers a good set of operations that do not require the GUI to be running. One of these features is the export process that can be integrated into third party scripts to automate deployment processes. Another useful feature is the model file fix, which consists of repairing a model's structure to make it loadable again (this feature is also available in the GUI). Many other operations are available too.
Additional features: Other important features are the object finder for large models, the plugin development interface, support to geospatial data types (as implemented by PostGiS 2.x extension), translatable user interface, and many others. You can see more details about all pgModeler's features at official documentation.
pgModeler is brought to you thanks to a great effort to create and distribute a quality product. This project is reaching out to levels of maturity never imagined. All this is the result of joint work between its author and the open source community. The software has a long way to go yet, and with your help, we'll keep maintaining a good job and bringing new improvements in each release. If you did like pgModeler and think it deserves a contribution, please make a donation via PayPal™, Stripe™ or Bitcoin. Note that donations don't grant access to binary packages.