pgModeler is an multi-platform PostgreSQL schema engineering tool — locally installed,
Git-friendly, and built with a deep PostgreSQL specialization. Design schemas visually,
reverse-engineer production databases,
diff and sync across environments, and automate deployments through a powerful CLI.
No cloud dependency. No telemetry. No lock-in. Your schemas live in open files on your machine. Offered as community and commercial editions — both with the same core features.
Buy pgModeler Plus and fund Nullptr Labs,
ensuring you save time while keeping the project independent and evolving.
Changes since: v1.2.2
This patch release for pgModeler 1.2.x brings the following improvements and fixes:
* [New] Added the method TaskProgressWidget::setNoProgressState.
* [Change] Refactored MainWindow initialization by moving startup timers to a new startOtherTimers method.
* [Change] Improved MainWindow initialization control by overriding the showEvent method.
* [Change] Updated AboutWidget and WelcomeWidget UI layouts.
* [Change] Updated GlobalAttributes with new site URL.
* [Fix] Fixed a bug in DatabaseModel::loadObjectsMetadata that was causing crashes in some circumstances.
* [Fix] Fixed a bug in NumberedTextEditor that was copying all text when hitting Ctrl+C when there was only a portion of the text selected.
* [Fix] Fixed a bug in ModelValidationHelper that was not properly swapping ids between table children objects and their dependencies (e.g., trigger -> function).
* [Fix] Fixed a bug in the Connection class that was creating an invalid connection string when other params were manually specified.
*Changes since:* ***v2.0.0-alpha***
**Summary:** After three months of continuous development since the initial alpha release, pgModeler 2.0.0-alpha1 represents a major milestone in the ongoing UI modernization effort. This release focuses primarily on completing the redesign of all model object editing forms, improving overall usability, and introducing several quality-of-life enhancements that make working with database models more intuitive and efficient. Along with these visual improvements, this version includes important bug fixes and new features that further enhance the stability and functionality of the tool.
**Complete editing forms redesign:** The most significant change in this release is the comprehensive redesign of all object editing forms. Every single form, from simple objects like Roles and Schemas to complex ones like Tables, Relationships, and Constraints, has been modernized with a cleaner, more organized layout. The new design adopts a tabbed interface for complex forms, making it easier to navigate through different configuration sections. All forms now share a consistent visual language with improved label organization, better spacing, and more intuitive control grouping. This redesign not only makes the forms look better but also significantly improves the editing workflow by reducing visual clutter and making related options easier to find.
**Enhanced keyboard navigation:** Recognizing that many users prefer keyboard-based workflows, this release introduces a new tab order manager system that automatically configures the tab order for all editing forms. This means you can now navigate through form fields using the Tab key in a logical, predictable manner without any manual configuration. The system is smart enough to skip hidden or disabled widgets and properly handles Shift+Tab for reverse navigation. This enhancement significantly speeds up data entry and makes the application more accessible to keyboard-centric users.
**Improved visual feedback:** To make the interface more responsive and intuitive, this version introduces subtle visual effects throughout the application. Input widgets, buttons, checkboxes, and radio buttons now feature custom hover effects that provide immediate feedback when you interact with them. Focus borders have been added to checkboxes and radio buttons, making it clearer which element is currently selected. Progress bars now display smooth busy indicator animations during long-running operations. These small touches combine to create a more polished and professional user experience.
**Modernized code preview:** The code preview functionality has been completely overhauled with a more capable and user-friendly widget that replaces the old implementation. The new code preview offers better syntax highlighting, improved filtering capabilities, and a cleaner interface that makes reviewing generated SQL and XML code much more pleasant. This is particularly useful when inspecting complex database objects or troubleshooting code generation issues.
**Object associations visualization:** Understanding the relationships between database objects is crucial for effective database design. This release introduces a new object associations viewer that provides a much clearer and more intuitive view of how objects are connected. The improved interface makes it easier to track dependencies and references, helping you understand the impact of changes before applying them to your model.
**Enhanced CLI capabilities:** The command-line interface has received several improvements in this release. The help menu now features automatic line wrapping with sentence-based breaks, making it much easier to read on narrow terminals. Support for version-only printing has been added, which is particularly useful for integration with deployment pipelines and automation scripts. These enhancements make pgModeler-CLI more versatile and easier to use in automated workflows.
**Quality and stability improvements:** Beyond the visible changes, this release includes numerous under-the-hood improvements. Several crash bugs have been fixed, including issues when editing connections while browsing databases and crashes in the model export widget. Memory management has been improved with fixes for critical memory-related issues. The validation system now catches more potential issues, such as foreign keys with SET NULL actions tied to NOT NULL columns. These fixes contribute to a more stable and reliable application.
**Experimental features:** This release introduces experimental support for disabling name quoting, allowing pgModeler to treat object names as case-insensitive. This feature addresses a long-standing request from users who prefer to work with unquoted identifiers. While still experimental, it represents progress toward supporting different naming conventions and workflows.
**Visual refinements:** The application's visual identity continues to evolve with updated logos and icons that maintain the flatter, more colorful style introduced in the alpha release. Numerous small UI adjustments throughout the application improve consistency and polish. The theme system has been refined with better detection and more sophisticated rendering of various UI components.
Feature highlights From schema design to production deployment
Visual schema construction
Design any PostgreSQL object visually — from simple tables to custom types, domains, operators, and procedural languages. The engine generates precise, production-grade DDL for every object.
Reverse engineering PLUS
Connect to any PostgreSQL server and reconstruct a full schema model from your live database. Recover legacy designs, document production schemas, or baseline a system for ongoing lifecycle management.
Incremental diff & sync PLUS
Compare your model against a live server. pgModeler generates the exact ALTER, DROP, and CREATE statements needed to synchronize the two states — no manual diffing required.
Validation & fixes
Catch broken references and rule violations at design time, before deployment. The validation engine checks cross-object dependencies and suggests automatic fixes.
Relationship-driven design
Link tables and pgModeler propagates columns, constraints, and indexes automatically. The column propagation engine handles inheritance and complex relationship chains.
Database management PLUS
Browse schemas, execute SQL, and manage data directly in the built-in module. Your model and your live database stay in the same workspace — no tool-switching required.
CLI for pipeline integration
Export DDL, run diffs, and push schemas to any environment — all from the command line, no GUI required. Fits naturally into any CI/CD workflow.
SSH tunneling PLUS
Connect securely to remote PostgreSQL servers over SSH tunnels. No VPN configuration needed — just your key and the host.
Git-friendly format PLUS
Save your schema as individual XML files — one per object. Each table, view, function, and policy becomes a separate file — making branches, diffs, and code reviews work naturally with any version control system.
No cloud dependency
pgModeler runs entirely on your machine. No account required, no server to connect to, no internet needed to open your own work.
No proprietary format
Model files are open, human-readable XML. Inspect them in any text editor, transform them with standard tooling, and store them anywhere — forever.
No SaaS lock-in
Your schemas are not hosted on our infrastructure. No subscription required to access files you created. Stop using pgModeler tomorrow — your work remains fully yours.
Built specifically for PostgreSQL Designed around PostgreSQL-native schema engineering workflows
Fully local PostgreSQL modeling and engineering workflow with offline-capable usage and no mandatory cloud infrastructure. Commercial editions use periodic license validation without requiring cloud-hosted workflows.
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.
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.
Model files are stored in open, human-readable XML. You can diff them line-by-line in Git, process them with standard tooling, or inspect them in any text editor — no proprietary format, no vendor dependency.
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.
The validation engine checks cross-object references and constraint rules at design time, surfacing errors before deployment. Most issues can be fixed automatically.
Export DDL, run diffs, and automate schema deployments without launching the GUI. Designed to integrate cleanly into CI/CD pipelines and scripted workflows.
Connect to any live PostgreSQL server and reconstruct a full schema model from your existing database. Useful for documenting production systems, recovering legacy designs, or baselining a schema for ongoing lifecycle management.
Compare your schema model against a live PostgreSQL server and generate the exact ALTER, DROP, and CREATE statements needed to bring them in sync — no hand-written migrations.
Other notable features include an object finder for navigating large models, a plugin development interface, a translatable user interface, and much more. For a comprehensive overview of all pgModeler's features, visit the official documentation.
From the community Engineers who use pgModeler in production
“Great progress, pgModeler is the best tool for PostgreSQL, for sure.
I use pgModeler as a tool to verify the database model generated by an ORM system.
The database structure is automatically created based on classes in the application code, I review the resulting model to ensure it looks correct.”
“We have used pgModeler quite extensively for our database design - from creating the detailed databases, schemas and other DB objects. It was very helpful, especially for the unending iterations of our design enhancements as requested by our client. The fact it created SVG image files and data dictionaries as well, also helped immensely with the documentation.”
“I would like to leave my thanks and praise to the pgModeler team. I have been using the tool to model the entire database of my projects in Supabase and the experience has been fantastic.”
Ricardo AzevedoSystems Development Coordinator — AletoPalmas, Brazil
“Having a data modeling tool is essential for us. We maintain a DM with more than 500 tables in pgModeler and it does it job perfectly! We developed some enhancement for generating SQL from the DM. Here it really help that pgModeler stores the DM in a well structured easy to read XML file.”
Andreas BrandtBusiness Requirements and Design — brandt ITGrasbrunn, Germany
“We have used pgModeler in several projects and one of the things that most pleases and surprises us is the performance of the tool. Whether for small projects or models with hundreds of tables, pgModeler is practical, lightweight and very powerful.
No doubt it's the best Open Source project of its kind.”
After nearly 20 years of continuous open-source development, pgModeler is entering a new phase focused on long-term sustainability, independence, and continuous evolution. As the project approaches version 2.0, maintaining advanced features has reached a level of complexity and engineering effort that is no longer sustainable under the current financial model. Starting with version 2.0.0-beta, the advanced database lifecycle management features will continue development exclusively in the commercial pgModeler Plus edition. pgModeler Community will remain free and open source, continuing to receive active maintenance, PostgreSQL compatibility updates, performance improvements, bug fixes, and ongoing evolution as the foundation of the platform itself. This transition is intended to ensure that pgModeler remains independent, professionally maintained, and able to continue serving the PostgreSQL ecosystem for many years to come.
The access to binary packages has changed. You must create a download token in the key management section before proceeding with the download.
Get source code
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:
If you prefer, there are source tarballs ready to be compiled. Once you got the source, you can follow the instructions to compile pgModeler described in the Installation page.
Do you really want to generate a new token for this user? The current token will be invalidated and a new one will be sent by email.
Terms and Conditions
Data Privacy Terms
Access key recovery
Preparing your
payment, please wait...
Do not close the page or cancel the loading!
Payment invoice
Support Development Invest in the tools you use
Why Donate?
pgModeler is proudly maintained by Nullptr Labs. While open source, continuous development requires significant resources.
By contributing financially, you ensure the project's long-term sustainability. If pgModeler adds value to your workflow, consider supporting its evolution.
This is a voluntary contribution to open-source development and does not grant access to pre-compiled binaries. To purchase the installer, please visit the Purchase section.
10.00 USD
Preparing your
donation, please wait...
Do not close the page or cancel the loading!
Purchase successful
Thank you for your purchase! In a few minutes you'll receive an email containing the instructions on how to download your packages as well some important notes about your purchase. Note that some email servers can flag the email as spam so make sure to check your SPAM box too. In case of problems, please contact the developer from the Support menu.
Enjoy pgModeler!
Get a trial key — pgModeler Plus
Contact the developer
For feature requests or bug reports we kindly ask you to open a ticket on the GitHub issues page.