Almost two months after launching 1.1.0-alpha1, I'm pleased to announce 1.1.0-beta! This version is the last to receive new features in this development cycle, and from now on, until the release of the stable 1.1.0 only bug fixes will be done. That said, my main focus on this release was to work on two things that have always bothered me since the early days of pgModeler: the view creation process and the extension data types handling. Since the codebase was mature enough, it was time to change those two aspects of the tool. So now pgModeler has a simpler way to create views instead of that old clumsy interface to configure them in previous versions. The other improvement is related to extensions which can now have multiple child data types. Finally, as always, several improvements all over to tool were made as well as some bug fixes here and there. Everything is well explained in this post, so, don't skip it!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 10 to 15).
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 for geospatial data types (as implemented by PostGiS 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.