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.