Why Choose pgAdmin?
Cross-Platform
Run on Windows, macOS, Linux, or deploy as a web application accessible from any browser.
Full Database Management
Create, manage, and query all PostgreSQL objects with an intuitive graphical interface.
Powerful Query Tool
Syntax highlighting, auto-complete, and graphical EXPLAIN for optimizing your queries.
Latest Videos
View AllHow to use Restore Dialog in pgAdmin 4
Authenticate pgAdmin 4 with Github
Kerberos and Active Directory setup in pgAdmin 4
Want to see your pgAdmin video here? Email webmaster@pgadmin.org.
Latest Blog Posts
View AllAI Features in pgAdmin: AI Insights for EXPLAIN Plans
This is the third and final post in a series covering the new AI functionality in pgAdmin 4. In the first post, I covered LLM configuration and the AI-powered analysis …
Read MoreAI Features in pgAdmin: The AI Chat Agent
This is the second in a series of three blog posts covering the new AI functionality in pgAdmin 4. In the first post, I covered LLM configuration and the AI-powered …
Read MoreAI Features in pgAdmin: Configuration and Reports
This is the first in a series of three blog posts covering the new AI functionality coming in pgAdmin 4. In this post, I'll walk through how to configure the …
Read MoreWant to see your pgAdmin blog post here? Email webmaster@pgadmin.org.
Recent News
View AllpgAdmin 4 v9.17 Released
The pgAdmin Development Team is pleased to announce the release of pgAdmin 4 version 9.17. This release of pgAdmin 4 includes 28 bug fixes and new features, including fixes for seven security vulnerabilities (CVE-2026-17346 through CVE-2026-17351, and CVE-2026-17566). For more details, please see the release notes.
pgAdmin is the leading open-source graphical management tool for PostgreSQL. For more information, please see the website.
Notable changes in this release include:
Features:
- Include the authenticated user's identity in the HTTP access log.
- Add an opt-in Gateway API
HTTPRoutetemplate to the Helm chart as an alternative to the existing Ingress. - Add a preference to cap the row count fetched by the plain "View Data" action, so it is usable on large tables without always doing a full
SELECT *. - Add support for a custom XYZ tile provider (URL, name, CRS, attribution, max zoom) in the Geometry Viewer, alongside the existing built-in base layers.
Security Fixes:
- Fix a tool-permission bypass where a user denied the Query Tool, Grant Wizard, or Schema Diff permission could still drive that tool's backend routes and Socket.IO handlers directly, since the permission check was applied only to a single "front door" route per tool. Also fixes a non-owner triggering an adhoc connection against another user's shared server persisting a new server record still owned by that other user (CVE-2026-17350).
- Fix OS command injection in the
MASTER_PASSWORD_HOOKfeature, where an externally-sourced username (e.g. via OAuth2/OIDC, Kerberos, or webserver authentication) containing shell metacharacters could execute arbitrary commands as the pgAdmin service account when the configured hook string uses%u(CVE-2026-17347). - Fix a lexer-differential bypass of the AI Assistant's read-only transaction guard, where sqlparse's string-literal lexing disagreed with PostgreSQL's own parser under
standard_conforming_strings = on, letting a crafted multi-statement payload smuggle aCOMMITpast the intended read-only wrapper; an incomplete fix for CVE-2026-12045 (CVE-2026-17351). - Fix SQL injection in the Index Statistics all-indexes listing and the Publications/Subscriptions Dependencies views, where an apostrophe in a table, index, publication, or subscription name broke out of an unescaped template interpolation; an incomplete fix for CVE-2026-12044 (CVE-2026-17346).
- Fix several Constraints, Preferences, Debugger, and Schema Diff routes missing the
@pga_login_requireddecorator, making them reachable without authentication in server mode; an incomplete fix for CVE-2026-12046 (CVE-2026-17348). - Fix an adhoc server connection cloning another user's stored database credentials (password, save password flag, tunnel password) alongside ownership, letting a non-owner who cloned another user's shared server connect using that user's saved database password (CVE-2026-17349).
- Fix OS command injection in the Import/Export Data tool, where a query-based export could pass a crafted query string past the
\copy (...)parenthesis-balance guard by exploiting a backslash-escape mismatch with psql's defaultstandard_conforming_strings = onbehaviour, exposing a liveTO PROGRAMclause for arbitrary command execution (CVE-2026-17566).
Bugs/Housekeeping:
- Fix Schema Diff's "Generate Script" and the browser tree's CREATE Script view emitting wrong SQL for SERIAL/identity columns, by detecting column-owned sequences via
pg_dependinstead of guessing the sequence name. - Fix ALT+F5 ("Execute query at cursor") doing nothing when the cursor is on or near a statement that is not highlighted, in a Query Tool tab with multiple statements separated by blank lines.
- Fix the object browser's extension UI breaking under PostgreSQL 19's extension catalog changes.
- Detect a selected-but-unusable OS keyring and fall back gracefully instead of failing.
- Warn when OAuth2 provider settings are misplaced at the top level of the config instead of under
OAUTH2_CONFIG. - Honor the selected EOL sequence when copying query text to the clipboard.
- Fix a Schema Diff result-status filter chip showing "No difference found" after being toggled off and back on, even when real differences exist.
- Fix the Object Explorer briefly showing literal HTML markup instead of a greyed-out "[Disconnecting...]" label when disconnecting a server or database.
- Centralize shared-server-group visibility and access-control logic, and adjust the ServerGroup-to-Server/SharedServer model relationships.
- Fail the macOS appbundle build if any bundled library links outside the bundle, and scan all Mach-O binaries for bundle linkage.
- Pin the sonarqube-scan-action GitHub workflow to a full commit SHA, and pin the Yarn version used by the build scripts to the
packageManagerfield. - Bump JavaScript and Python third-party dependencies, including axios, webpack, react, electron, and certifi.
- Update the Simplified Chinese (zh_Hans_CN) translation.
Builds for Windows and macOS are available now, along with a Python Wheel, Docker Container, RPM, DEB Package, and source code tarball from the download area.
pgAdmin 4 v9.16 Released
The pgAdmin Development Team is pleased to announce the release of pgAdmin 4 version 9.16. This release of pgAdmin 4 includes 64 bug fixes and new features, including fixes for seven security vulnerabilities (CVE-2026-12044 through CVE-2026-12050). For more details, please see the release notes.
pgAdmin is the leading open-source graphical management tool for PostgreSQL. For more information, please see the website.
Notable changes in this release include:
Features:
- Colorize panel and tab headers based on the connected server's colour, making it easier to identify which server a tab belongs to at a glance.
- Add a "Back to login" link to the Forgot Password and Reset Password pages.
- Add support for the TOAST tuple target storage parameter in the Materialized View dialog.
- Make the init container security context in the Helm chart configurable via
containerSecurityContext. - Add support for closing a tab with a middle-click on its title.
- Allow the OAuth2 login button icon to use any Font Awesome style, not only brand icons.
Security Fixes:
- Fix SQL injection across sixteen dialog templates that rendered
COMMENT ON ... IS '<description>'; switches affected templates toqtLiteraland rewrites stats calls to pass the relation OID via a::oid::regclasscast (CVE-2026-12044). - Fix an AI Assistant read-only transaction bypass that allowed prompt-injected multi-statement payloads to commit out of the
READ ONLYwrapper, chaining to RCE viaCOPY ... TO PROGRAMon a superuser connection (CVE-2026-12045). - Fix two SQL Editor endpoints missing the
@pga_login_requireddecorator, making them reachable without authentication in server mode and exposing a pickle deserialization sink (CVE-2026-12046). - Fix HTML injection in the cloud deployment module (RDS, Azure, Google) where SDK exception text was forwarded to the browser unsanitised and rendered through
html-react-parser(CVE-2026-12047). - Fix critical stored cross-site scripting where PostgreSQL server error text and Explain plan-node content passed through
html-react-parseracross notifier toasts, form errors, modal alerts, and the Explain visualiser; injected script could exfiltrate saved server credentials and issue SQL against every connected server (CVE-2026-12048). - Fix an open redirect in the multi-factor authentication flow via an unvalidated
nextparameter (CVE-2026-12049). - Fix SQL injection in the named restore point endpoint where the user-supplied restore point name was interpolated into SQL via
str.format()instead of a bound parameter (CVE-2026-12050).
Bugs/Housekeeping:
- Remove the administrator-role bypass from server-access helpers so the access-control checks added in 9.15 (CVE-2026-7813) are enforced uniformly.
- Remove EDB BigAnimal cloud deployment support, which was deprecated in 9.15.
- Preserve
jsonbnumber representation in the JSON editor so trailing fractional zeros and large integers are no longer rewritten when saving unmodified rows. - Fix a View/Edit Data crash when the session contains a transaction object that is not filter-capable, which could prevent the desktop application from loading after an upgrade.
- Rebase version-specific SQL templates so the default targets PostgreSQL 14, the oldest supported server version, dropping obsolete sub-14 template buckets.
- Strip the foreign-architecture slice from the macOS bundle so single-arch builds no longer ship unused code.
- Bump Electron to 42.3.3,
cryptographyto 49.0, and other Python and JavaScript dependencies. - Update the Italian translation.
Deprecations:
- pgAgent has been deprecated and will be discontinued. pgAgent will be removed from the website within one month, and support within pgAdmin will be removed approximately six months from now. Users are encouraged to migrate to an alternative job scheduling solution.
Builds for Windows and macOS are available now, along with a Python Wheel, Docker Container, RPM, DEB Package, and source code tarball from the download area.
pgAdmin 4 v9.15 Released
The pgAdmin Development Team is pleased to announce the release of pgAdmin 4 version 9.15. This release of pgAdmin 4 includes 19 bug fixes and new features, including fixes for eight security vulnerabilities (CVE-2026-7813 through CVE-2026-7820). For more details, please see the release notes.
pgAdmin is the leading open-source graphical management tool for PostgreSQL. For more information, please see the website.
Notable changes in this release include:
Features:
- Allow the Docker container image to run as a non-default user via the
PUIDandPGIDenvironment variables.
Bugs/Housekeeping:
- Fix cross-user data access and shared-server privilege escalation in server mode (CVE-2026-7813).
- Tighten Shared Server feature parity, owner-only field handling, and write guards as a follow-up to the data-isolation hardening.
- Fix stored cross-site scripting (XSS) via crafted PostgreSQL object names rendered in the Browser Tree and Explain Visualizer (CVE-2026-7814).
- Fix SQL injection in the Maintenance tool option values (CVE-2026-7815).
- Fix OS command injection in Import/Export query export (CVE-2026-7816).
- Fix local-file inclusion and server-side request forgery in the LLM API configuration endpoints (CVE-2026-7817).
- Fix unsafe deserialization in the session manager that could lead to remote code execution (CVE-2026-7818). This change also encrypts session files at rest using Fernet, restricts session-file and
DATA_DIRpermissions to0o600, switches the session-digest default from SHA-1 to SHA-256, and drops several non-roundtrippable live objects from the session. - Fix symlink-based path traversal in the file manager (CVE-2026-7819).
- Fix account-lockout bypass on Flask-Security's default
/loginview so thelockedfield is honored on every authentication path (CVE-2026-7820). - Use absolute paths for
a2enmodanda2enconfin the Debian setup script so it works when/usr/sbinis not onPATH. - Bump Python and JavaScript runtime/development dependencies, and upgrade ESLint to v10.
- Update the Czech, Italian, Russian, Spanish, and Swedish translations.
Deprecations:
- The BigAnimal cloud deployment integration is deprecated and will be removed in the next version of pgAdmin 4.
Builds for Windows and macOS are available now, along with a Python Wheel, Docker Container, RPM, DEB Package, and source code tarball from the tarball area.
pgAdmin 4 v9.14 Released
The pgAdmin Development Team is pleased to announce the release of pgAdmin 4 version 9.14. This release of pgAdmin 4 includes 23 bug fixes and new features. For more details, please see the release notes.
Notable changes in this release include:
Features:
- Added support to download binary data from the result grid.
- Added support for custom LLM provider URLs for OpenAI and Anthropic, allowing use of OpenAI-compatible providers such as LM Studio, EXO, and LiteLLM.
- Fixed an issue where AI features (AI Assistant tab, AI Reports menus, and AI Preferences) were visible in the UI even when LLM_ENABLED is set to False.
- Allow copying of text from the AI Assistant chat panel.
Bugs/Housekeeping:
- Fixed an issue where selecting all in the Query Tool's Messages tab would select the entire page content.
- Fixed an issue where OAuth2 authentication fails with 'object has no attribute' if OAUTH2_AUTO_CREATE_USER is False.
- Ensure that the Geometry Viewer refreshes when re-running queries or switching geometry columns, preventing stale data from being displayed.
- Fixed an issue where the default fillfactor value for B-tree indexes was incorrect.
- Fixed an issue where AI Reports are grayed out after setting an API key by auto-selecting the default provider.
- Fixed an issue where AI Assistant does not notify that No API Key or Provider is Set.
- Fixed an issue where AI Reports fail with OpenAI models that do not support the temperature parameter.
- Improve the AI Assistant user prompt to be more descriptive of the actual functionality.
- Fix an issue where the AI Assistant was not retaining conversation context between messages, with chat history compaction to manage token budgets.
- Support /v1/responses for OpenAI models.
Download your copy now!
pgAdmin 4 v9.13 Released
The pgAdmin Development Team is pleased to announce the release of pgAdmin 4 version 9.13. This release of pgAdmin 4 includes 15 bug fixes and new features. For more details, please see the release notes.
Notable changes in this release include:
Features:
- Core LLM integration infrastructure, AI reports for security, schema, and performance, AI chat for the Query Tool, and AI Insights for EXPLAIN.
- No FK are shown in diagrams created from existing tables in the ERD Tool.
- Add support for 'ONLY' in the Index creation dialog.
- Allow users to customize "OF TYPE" columns during table creation.
- Allow "drag-n-drop" for only user chosen tables, and show relations between them.
- Load predefined users from a JSON file through the command line.
Bugs/Housekeeping:
- Fixed an issue where the 'Quote strings only' configuration was ignored when downloading the result set.
- Fixed an issue where tools settings changed by the users were not restored on application relaunch.
- Fixed an issue where modifying a shared server incorrectly updated the original server details.
- Fixed an issue where a long name in ERD table node was not breaking into multiple lines.
- Fixed an issue where column comments were not displayed in the SQL tab for materialised views.
- Fix an issue where deployment of the helm chart was crashing with "operation not permitted."
- Fix translation compilation.
- Fix broken checkbox selection in backup dialog's object tree.
- Fixed an issue in file dialog where renaming was not working.
Download your copy now!