development

Building pgAdmin

pgAdmin is a community project, relying on contributions from developers around the world for bug fixes and new features. Anyone is welcome to join the project and contribute as much or as little as they like. pgAdmin is written in Python and React, using the Flask framework, so at the least you will want to be familiar with Python and basic web development to hack the code. The more experienced pgAdmin developers will also be able to lend a guiding hand to new developers, so don't be afraid to get stuck in!

Overview

The pages in this section of the website should provide you with all the information you need to get started as a new developer, including GIT access, the developers mailing list, the Development Team structure, the TODO list and the change log.

If you are not a programmer, you can still get involved in the project if you wish - as a translator, or helping the developers with testing or documentation.

Contributing

pgAdmin is a voluntary project created and managed by contributors from around the world. The project can only live and develop with your help. Do not hesitate to get involved.

If you would like to contribute new features and/or bug fixes, please visit the development page.

Resources

GIT access

pgAdmin is available subject to the terms of the licence. Access to the repository is available through at GitHub. An outline of a typical workflow for making and submitting a change to pgAdmin can be found in the documentation.

Instructions for building pgAdmin from source, and notes on other useful development information can be found in the README.md file in the source tree. Additional information can also be found in the documentation.

Mailing List

The pgadmin-hackers mailing list is intended for developers who wish to contribute to pgAdmin project. You are more than welcome to subscribe, but please remember to use pgadmin-support list for end user support issues.

To manage your subscription to the mailing list, including subscribing and unsubscribing, visit the PGLister Management web interface.

To unsubscribe quickly you can also send an email to: pgadmin-hackers-unsubscribe@lists.postgresql.org.

Messages sent to the list are publicly and permanently archived at the PostgreSQL Archives.

TODO List

The TODO list is a list of features that are planned or have been requested for inclusion in a future version of pgAdmin. As pgAdmin is a volunteer project, there is no guarantee that any feature will be implemented in any particular release, but where we expect or aim to do so, the feature will be tagged with a target version.

You can view the TODO list on the pgAdmin 4 GitHub project.

Change Log

The change log is a record of the notable changes made to pgAdmin by the various developers, published in the release notes section of the documentation. It is a manually maintained list, and as such may not include details of every minor change that has ever been made. If you need that level of detail, please check the commit messages in the GIT repository.

You can view the change log on the website.

Translations

pgAdmin 4 has been translated into a number of different languages. The table below lists the languages for which we have message catalogs and their current status (from the head of the source tree in Git). Data is updated hourly, and is subject to caching.

If you would like to add support for a new language, or update one that appears to be unmaintained, first, please send an email to pgadmin-hackers@postgresql.org in order to ensure your efforts are coordinated with the team and not duplicated or otherwise wasted.

Once it's time to begin working on your translation, grab a copy of the template message catalog, load it into a tool such as POEDIT, translate the contents, then save the .po file and send it to the pgadmin-hackers mailing list.

The template message catalog currently contains 3684 messages.

Messages
Language Revised Translator Total Translated Fuzzy Untranslated Status
Chinese (Simplified) 2023-08-11 maikebing 3684 100.00% 2681 72.77% 0 0.00% 1003 27.23%
Chinese (Traditional) 2024-11-12 Kuo, Chao-Yi 3684 100.00% 2560 69.49% 0 0.00% 1124 30.51%
Czech 2026-03-27 Libor M. 3684 100.00% 3622 98.32% 0 0.00% 62 1.68%
French 2024-11-07 Nicolas Letellier 3684 100.00% 3088 83.82% 9 0.24% 596 16.18%
German 2017-04-14 Jonas Thelemann 3684 100.00% 1133 30.75% 50 1.36% 2551 69.25%
Indonesian 2024-06-08 kiraware 3684 100.00% 3085 83.74% 0 0.00% 599 16.26%
Italian 2026-07-27 Domenico Sgarbossa 3684 100.00% 3673 99.70% 0 0.00% 11 0.30%
Japanese 2025-10-12 3684 100.00% 3313 89.93% 2 0.05% 371 10.07%
Korean 2025-10-15 3684 100.00% 3307 89.77% 0 0.00% 377 10.23%
Polish 2017-12-17 grzegorz 3684 100.00% 1322 35.88% 45 1.22% 2362 64.12%
Portuguese (Brazilian) Unknown Christian Tosta 3684 100.00% 2086 56.62% 0 0.00% 1598 43.38%
Russian 2026-04-11 Degit22 3684 100.00% 2840 77.09% 3 0.08% 844 22.91%
Spanish 2018-08-08 Isaias Sanchez 3684 100.00% 1432 38.87% 46 1.25% 2252 61.13%
Swedish 2026-03-27 Daniel Nylander 3684 100.00% 3559 96.61% 0 0.00% 125 3.39%

The percentages shown are calculated as:

  • Total: The percentage of messages in the catalog, when compared to the template.
  • Translated: The percentage of messages in the catalog that have a translation (regardless of whether they're fuzzy).
  • Fuzzy: The percentage of messages in the catalog that are fuzzy.
  • Untranslated: The percentage of messages in the catalog that do not have a translation.

The status is calculated as:

  • The percentage of messages translated is greater than or equal to 95%.
  • The percentage of messages translated is greater than or equal to 75% and less than 95%.
  • The percentage of messages translated is less than 75%.

Team

pgAdmin is maintained by a team of volunteers. The team page lists everyone currently involved, and the style guide documents the application's own design system.