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 3676 messages.

Messages
Language Revised Translator Total Translated Fuzzy Untranslated Status
Chinese (Simplified) 2023-08-11 maikebing 3676 100.00% 2681 72.93% 0 0.00% 995 27.07%
Chinese (Traditional) 2024-11-12 Kuo, Chao-Yi 3676 100.00% 2560 69.64% 0 0.00% 1116 30.36%
Czech 2026-03-27 Libor M. 3676 100.00% 3622 98.53% 0 0.00% 54 1.47%
French 2024-11-07 Nicolas Letellier 3676 100.00% 3088 84.00% 9 0.24% 588 16.00%
German 2017-04-14 Jonas Thelemann 3676 100.00% 1133 30.82% 50 1.36% 2543 69.18%
Indonesian 2024-06-08 kiraware 3676 100.00% 3085 83.92% 0 0.00% 591 16.08%
Italian 2026-07-27 Domenico Sgarbossa 3676 100.00% 3676 100.00% 0 0.00% 0 0.00%
Japanese 2025-10-12 3676 100.00% 3313 90.13% 2 0.05% 363 9.87%
Korean 2025-10-15 3676 100.00% 3307 89.96% 1 0.03% 369 10.04%
Polish 2017-12-17 grzegorz 3676 100.00% 1322 35.96% 45 1.22% 2354 64.04%
Portuguese (Brazilian) Unknown Christian Tosta 3676 100.00% 2086 56.75% 0 0.00% 1590 43.25%
Russian 2026-04-11 Degit22 3676 100.00% 2840 77.26% 3 0.08% 836 22.74%
Spanish 2018-08-08 Isaias Sanchez 3676 100.00% 1432 38.96% 46 1.25% 2244 61.04%
Swedish 2026-03-27 Daniel Nylander 3676 100.00% 3559 96.82% 0 0.00% 117 3.18%

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.