Download pgModeler Distributed in many flavours just pick yours
pgModeler is open-source software, and you can get its source code anytime if you want to compile it by yourself. We also provide pre-compiled binary packages at a really fair price in order to gather financial support for the project. Since this is an independent project with no sponsorship, buying any binary package will help to keep the development activities at full speed, bringing lots of news periodically, as always!
Stable: 0.9.4 December 17, 2021
Changes since: v0.9.3 Attention: the database model file structure has changed since the last stable 0.9.3. Models created in older releases will certainly fail to load due to incompatibilities because some attributes in the XML code don't exist anymore or have changed during the development of 0.9.4. Before loading your database models in this new release, please, make sure to have a backup of them all and follow the steps presented by the model fix tool to patch the documents' structure. Not paying attention to this situation may cause irreversible data loss! If the fix procedures aren't enough to make your database models loadable again, please, ask for help at the official support channels! Summary: it was quite a challenge to develop version 0.9.4 during the year 2021 but we finally made it, the last pgModeler of the series 0.9.x is ready! This one has a vast set of improvements over 0.9.3, being 51 new features, 104 enhancements, and 73 bug fixes that will make a big difference in the overall usage of the tool.
The first improvement in 0.9.4 is the ability to put objects in multiple layers which was not possible in previous versions. The user has now the ability to set up custom colors and labels for each layer enhancing the database model visualization and semantics. Still in the database model design, one can now define a custom color for canvas, grid lines, and page delimiter lines which can help a lot those who aren't comfortable with the excessive glare produced by the default color schema.
This release also improves the support for some PostgreSQL objects by bringing the configuration parameters and transform types to functions and procedures, adding the support for PARALLEL attribute on functions, and the support for included columns also known as non-key columns on indexes. It's worth mentioning that the import and diff processes were also improved to support all the mentioned improvements in those objects. Besides, the diff process is now capable of generating GRANT and REVOKE commands to set up new role memberships.
The data type configuration widget received a simple improvement which adds a significant reduction in the time spent to configure a data type. Now, the user can just type the name of the desired data type to be used instead of selecting it by using the mouse. After typing the data type name just hit the tab key to jump to the next field and the data type will be automatically configured. Seems a silly fix but it adds speed when you need to repeatedly create columns in a table, for example.
In the SQL tool, is now possible to drop databases quickly from the databases listing. Previously, there was the need to browse the database first and then drop it. In the database browser widget, the tree items collapse state is saved and restored after any updates requested by the user, improving the overall experience on that module. In data manipulation form, the sorting operation performed when clicking columns was adjusted. Now, the sorting will be triggered by holding the control key and clicking the desired column, and if the user only clicks a column without holding the control key will cause the entire column to be selected in the grid.
Attending to some requests, pgModeler is now capable of exporting the database model in split SQL files instead of generating a single SQL file representing the entire database. In this export mode, the files are named in such a way to represent the proper order of creation, which means that running the scripts one after another will create the whole database like it was created from a single file.
Due to the introduction of a new syntax highlighting configuration file (for code snippets configuration), pgModeler will, from now on, create missing configuration files at startup. This will avoid breaking the tool's execution when it detects the absence of any configuration file. Also, during the copy of these files, pgModeler will enforce the write permission over them to avoid access problems on some systems that store template settings on read-only paths.
The command-line interface was patched in such a way that now doesn't crash anymore when performing a diff operation in which a database model is used as input. Another improvement to the CLI is the introduction of the option --force in the mime type handling operation. Also, a patch was made in such a way to avoid the usage of option '-platform offscreen' explicitly when calling the application.
Finally, there is a bunch of other new features and bug fixes implemented in almost all parts of the tool which improves stability and reliability. I kindly invite you to read the CHANGELOG.md file of the 0.9.4 development timeline to know everything in detail.
Develop: 1.0.0-beta September 10, 2022
Changes since: v1.0.0-alpha1 Attention: pgModeler 0.9.x settings are not compatible with pgModeler 1.0.0-beta. This way, in the first start of the newer version, some settings will be automatically migrated if the tool detects the configuration files related to 0.9.4 or below in the system! Summary: following the path to the stable release, today I present to you pgModeler 1.0.0-beta. The main focus of this release is to remove support for PostgreSQL 9.x which has not been maintained for over a year. By dropping support for an obsolete version of PostgreSQL, we can spend more energy on introducing new functionality that newer versions of the RDBMS bring rather than trying to maintain older versions which creates unnecessary complexity in the pgModeler code. Therefore, if you still need to work with PostgreSQL 9.x, you will need pgModeler 1.0.0-alpha1 or lower.
This release also brings minor improvements in several parts of the tool. Now, the data dictionary displays information related to indexes, triggers, and sequences used in the tables, making the generated file much more complete from the documental point of view.
Another improvement was the ability to generate SQL code split in the command line interface which allows generating SQL by objects in separate files. Furthermore, it is now possible to add to the generated SQL files the code of objects that are dependencies or children of the original object.
In the model design area, the magnifier tool has improved to allow better object interaction. Unlike previous versions, this tool now allows interaction with multiple objects which helps to handle large models where the visualization is impaired and the magnifier tool comes as a good way to handle objects.
As part of the continuous enhancement in the UI and usability, navigating through form fields using shortcuts and tab keys has been improved to be much more consistent and intuitive compared to previous versions. It's still not in the best shape but for now, it will help users who prefer the keyboard over the mouse when configuring database objects. This improvement was also applied to almost all other widgets and forms in the tool.
Finally, as usual, some bugs and crashes were fixed improving the stability of the tool. The following are some changelog entries for that version. For more details, please read the CHANGELOG.md file.
* [New] Added data dictionary entry for indexes, triggers, and sequences.
* [New] Columns, indexes, triggers, and constraints now have their own method to generate their data dictionaries.
* [New] Created the objects.sch to be reused when generating data dictionaries for columns, constraints, indexes, triggers, and sequences.
* [New] Added split SQL code generation modes to export form.
* [New] Added the ability to export dependencies or children SQL in split mode at CLI.
* [New] Added code generation options to DatabaseModel::saveSplitSQLDefinition.
* [New] Added an info message in the FindReplaceWidget reporting the search status (not found, cycle search, replacements made, etc).
* [New] Added a text search widget in SourceCodeWidget.
* [Change] Tab order adjustments in several forms and widgets.
* [Change] pgModeler CLI menu and messages fixed/improved.
* [Change] Improved the interaction between the magnifier tool and the canvas area. Now the user can select multiple objects, move, and control the zoom with the magnifier tool activated.
* [Change] Adjusted the size of the magnifier frame according to the primary screen size.
* [Change] Improved the XMlParser exceptions raised to point to the file that generated the error.
* [Change] Dropped the support for PostgreSQL 9.x.
* [Change] Connection class now aborts the connection to PostgreSQL 9.x servers.
* [Change] Changed the shortcut key of the magnifier tool from Ctrl + Alt to F9.
* [Change] Changed the default size of splash screen on screens with device pixel ratio = 1.
* [Fix] Fix a crash in macOS when right-clicking a blank portion of the canvas when there are objects selected.
* [Fix] Fixed a bug in BaseObject::isValidName that was not considered valid a name in the format schema."object".
* [Fix] Fixed the diff generation for materialized views.
* [Fix] Fixed a bug in CLI that was not correctly fixing domains in models created in 0.8.2.
* [Fix] Minor fix in standalone connection dialog to alert the user about unsaved connection configuration.
* [Fix] Minor fix in ConnectionsConfigWidget to avoid adding connections with duplicated aliases.
Purchase an access key and support this project. Pay using PayPal™, Stripe™, or Bitcoins and enjoy ready-to-use packages.
Use your access key to download binary packages.
Grab the source code from the official repository and compile it yourself!
pgModeler has two main development branches: main and develop. The main branch is where features considered stable can be found. The development branch, reserved for alpha and beta releases, is where patches, new unstable features are placed and tested.
You can retrieve the source using the git command by running the following: