Help us to gather enough financial resources so we can finally buy an upgraded Mac machine (with the new Apple Silicon M1 chip) for this project and improve its macOS version so it can run natively in the new Apple architecture. Donate and as a reward you'll receive an access key capable of downloading packages for the platform of your choice!See campaign
The journey was really long, full of challenges that almost made me give up everything, but with the support from lots of people around the world, here we're, launching the long-awaited stable version of pgModeler 1.0.0! Since the early days of this project, seventeen years ago, I was anxious about this moment. This tool is the result of a dream of creating something really useful for the open-source community that I admire so much. I can't express in words how proud and joyful I'm about my hard work and the thousands of people that helped me so far. Thank you wholeheartedly to each one that reserved a bit of their time to make a contribution to this project. Your inestimable help was extremely important to keep this project alive and I hope to keep receiving all support needed to take pgModeler to levels even higher in the future! In resume, the development of pgModeler 1.0.0 took exactly, 398 days and 649 commits producing a total of 435 changes between new features, bug fixes, and improvements. In the UI, some parts were redesigned, new icons were created, and the long-requested dark theme support was added. In the code generation, the PostgreSQL 9.x support was dropped while PostgreSQL 15 was added. Also, the codebase was fully ported to Qt 6 and now pgModeler can take advantage of all improvements introduced by the framework. There were, of course, a bunch of bug fixes in practically all parts of the tool but the majority was applied to the reverse engineering and diff processes. The key changes of this version are detailed in this post, don't let to check it out!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 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.
There's a campaign in progress to gather financial resources for a specific cause. Would you like to help with that instead of doing a simple donation?