What is pgModeler?
pgModeler is an open-source, cross-platform database modeler designed specifically for PostgreSQL. Aiming to be a reference database design tool in the FOSS ecosystem for PostgreSQL, it offers a robust and feature-rich interface that enables efficient data modeling and rapid code deployment to servers. One of its standout features is reverse engineering, which allows users to generate visual representations of existing databases, making it easier to understand and modify complex structures.
Additionally, pgModeler supports the generation of SQL scripts to synchronize a database model with an actual database through a process known as diff. Beyond its core modeling capabilities, the tool includes a minimalist yet functional database server administration module. This module enables users to execute SQL commands, browse databases, and handle data through a simple and intuitive user interface.
For more details, visit the project’s official repository on GitHub.
Try pgModeler now!
pgModeler is available in two versions: an open-source version and a paid version. The chart below outlines the key differences between the two. As an independent project without external sponsorship, your support plays a crucial role in sustaining development efforts. Purchasing binary packages or making donations ensures that development continues at full speed, guaranteeing the delivery of regular updates and exciting new features, as always!
1.2.2
October 17, 2025
Release notes
This patch release for pgModeler 1.2.x brings the following improvements and fixes: * [New] Added initial support for PostgreSQL 18. * [Change] Refactored the result set handling to avoid potential memory leaks. * [Fix] Fixed a bug in XML parsing that was not configuring the DTD file path correctly. * [Fix] Fixed a bug that was causing the collation assigned to the column not to be reflected in SQL and XML codes. * [Fix] Fixed a bug that was causing collations to be saved always as deterministic even when the user unchecked the option in the editing form. * [Fix] Fixed the database server version parsing routine so the default version can be used as a fallback when a major server version is not yet recognized by the tool.
2.0.0-alpha
October 30, 2025
Release notes
Main features
pgModeler can be easily integrated into your development toolset
| Description |
![]() Open-source version |
![]() Plus version |
|---|---|---|
| Software distribution | Source-code / Free of charge | Precompiled packages / Paid |
|
Handle several object types with an intuitive interface
pgModeler simplifies database design by supporting the creation of both basic and advanced objects. Whether you're defining a simple column or working with complex elements like user-defined languages, functions, operators, and more, the tool provides intuitive, easy-to-use forms to streamline the process. |
||
|
Automatic columns and constraints generation
pgModeler automatically generates all necessary columns and constraints when users link tables using relationships. This feature eliminates repetitive tasks and significantly boosts productivity. |
||
|
Export models in five different ways
pgModeler offers versatile export options, allowing users to save models as SQL scripts, PNG images, SVG files, or data dictionaries in HTML format. Additionally, models can be deployed directly to a PostgreSQL server for seamless integration. |
||
|
Generate models from existing databases
Through its reverse engineering feature, pgModeler can generate accurate and reliable models from existing databases, making it easier to understand and modify complex database structures. |
||
|
XML based files
As an open-source tool, pgModeler provides full access to its source code and the contents of any generated file. All files created by pgModeler are XML-based, ensuring compatibility and allowing users to easily edit or process them using third-party software. |
||
|
Restore previous work in case of failures
In the event of an unexpected quit, users won't lose their work—pgModeler automatically saves temporary models with the most recent changes and restores them on the next startup, ensuring peace of mind and continuity. |
||
|
Model structure validation and automatic fixes
To prevent broken references or rule violations during the design phase or when exporting models to PostgreSQL, pgModeler performs regular validations. This feature ensures the creation of highly accurate, error-free database models. |
||
|
Customizable features
With a comprehensive set of configuration options, pgModeler offers users the flexibility to customize nearly every aspect of its functionality, tailoring the tool to their specific needs. |
||
|
Generate SQL scripts to synchronize both model and database
Using the diff feature, users can generate SQL scripts by comparing a model to a database or two databases to each other. These scripts contain all the necessary commands to seamlessly synchronize the involved entities. |
||
|
Manage existing databases
pgModeler includes a straightforward yet powerful database management module, enabling users to execute SQL commands, explore database objects, and manage data with ease. |
||
|
Command-line interface to automate processes
The CLI provides a robust set of operations that can be executed without the need for the GUI. Key features include the export process, which can be integrated into third-party scripts to automate deployment workflows, and the model file fix, which repairs a model's structure to restore its loadability (this feature is also available in the GUI). |
||
|
Secure database connections via SSH tunnels
The SSH tunnel adds a layer of security even in the absence of an SSL certificate when connecting to a remote PostgreSQL server. pgModeler offers a convenient way to configure and launch SSH tunnels quickly and efficiently. |
||
|
Split database model format for improved version control
The split database model file format (.sdbm) is designed to enhance version control for model files by storing the XML code of each object in separate files. This approach makes it easier to track changes made to individual database objects, particularly when multiple team members collaborate on the same model. |
||
|
Save and restore sessions in the database management module
This feature saves all details about the currently open SQL execution tabs, including typed commands and browsed databases, into a dedicated configuration file. When pgModeler is restarted, users can restore their previous session with a single click, eliminating the need to manually browse databases or reload saved commands into the SQL execution widget. |
||
|
Query variables for SQL testing
This feature allows developers to test their queries using variables, which are dynamically replaced with actual values at the moment of execution, streamlining the query testing process. |
||
|
Database backup utilities
pgModeler provides a user-friendly interface for executing commands like pg_dump, pg_dumpall, pg_restore, and psql. This feature was designed with users who are less comfortable with command-line tools in mind, enabling them to dump and restore databases effortlessly without ever leaving pgModeler's graphical interface. |
||
|
Quickly create certain objects
This feature enables the creation of constraints, indexes, and relationships directly from the objects selected in the design view, eliminating the need to open editing forms or fill out multiple fields, speeding up the database design process. |
||
|
Quickly search and edit objects
This feature allows users to search for specific objects and open their corresponding editing dialogs without the need for mouse clicks, significantly enhancing productivity. |
||
|
Additional features
Other notable features include an object finder for navigating large models, a plugin development interface, support for geospatial data types (as implemented by the PostGIS extension), a translatable user interface, and much more. For a comprehensive overview of all pgModeler's features, visit the official documentation. |
||
| Source code | Purchase |
Project news
pgModeler 2.0.0-alpha is finally here!
The beggining of a new era for the project.
2025
The pgModeler 2.0.0-alpha release introduces significant improvements aimed at enhancing usability, flexibility, and maintainability. One of the most notable changes is the migration of the build system from qmake to CMake. The user interface has also received a major update. While still a work in progress, this alpha version introduces a refreshed logo, updated icon colors with a flatter and more colorful style, and the integration of the configuration form and core tools — diff, import, export, and fix — directly into the main window. The diff tool has been enhanced with a new model-to-model comparison mode, allowing offline comparisons between two loaded database models and generating the corresponding SQL diff for later application. Import and export tools have undergone similar refinements. Components have been reorganized for a cleaner interface, allowing users to freely choose which models to operate on, rather than being restricted to the active model. This ensures a smoother and more intuitive experience across all data handling operations. For more details, please read the full post; don't skip it!
Read moreLet's help pgModeler?
Donate to keep alive the development
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.

