Work on the project began slowly, almost two years ago, however the team at EnterpriseDB have ramped up the development pace over the last few months. Right now, we’re approaching alpha-readiness which we expect to be at within a few weeks.
Architecture
This new application is designed for operation on both the desktop and a webserver. Written in Python using the Flask framework for the backend, and Javascript/jQuery/Backbone for the frontend, it can easily be deployed as a WSGI application for multiple users in practically any network environment. A small runtime application allows it to be run as a desktop application – this is a Qt executable that incorporates a Python interpreter and web browser along with the main application in a single package that can be installed on a developer laptop as with previous versions of pgAdmin.
Functionality
Whilst the core functionality of pgAdmin 4 remains similar to pgAdmin 3, there are a number of changes we’ve made:
- Support for unsupported database versions has been dropped.
- We haven’t re-implemented support for some object types that no one really used in the tool before – for example, operator classes and families.
- We haven’t (yet) reimplemented some of the tools that didn’t work so well in pgAdmin 3, such as the graphical query builder or database designer (which was always disabled entirely by default).
- The Query Tool and Edit Grid have been merged into a single tool. Over coming releases we’ll be improving the functionality further to allow in-grid updates to be made to results from arbitrary queries (where a query is determined to be updateable). For now though, updating is allowed when pgAdmin knows the data source is a single table with a primary key.
- The user interface is more flexible than ever, allowing tabs to be docked and re-arranged in more ways than previously.
- We’ve spent time redesigning some of the UI paradigms in pgAdmin 3. Gone are the list controls with Add/Remove buttons, replaced with what we call sub-node grid controls that will allow in-grid editing of key values, with more detail available when needed in expandable rows.
- We also spend time thinking about how to make it faster to use pgAdmin, by minimising the need to switch between dialogues, using searchable combo boxes and more.
- The UI is much more attractive, making use of control groupings and expandable regions to make things more readable.
Screenshots
So, enough of the babble, here are some pre-release, semi-polished screenshots:
![]() |
The main user interface, showing the properties of a function.
|
![]() |
Setting the ACL on a function. |
![]() |
Adding a member to a composite type using the sub-node grid control. |
![]() |
The Query Tool and Data Editor. |
![]() |
The Procedural Language Debugger. |
Team
As you can imagine, there has been a significant amount of work done to get to this stage, and I really need to express my gratitude to those who have contributed, as well as the executive management team at EnterpriseDB who have allowed me to commit so many people to this project:
- Ashesh Vashi (engineering team manager, code guru)
- Karen Blatchley (project manager)
- Khushboo Vashi
- Akshay Joshi
- Arun Kollan
- Harshal Dhumal
- Murtuza Zabuawala
- Neel Patel
- Sanket Mehta
- Surinder Kumar
- Muhammad Aqeel
- Paresh More
- Sandeep Thakkar
- Priyanka Shendge
- Fahar Abbas
Want to help or learn more?
Original URL: http://feedproxy.google.com/~r/feedsapi/BwPx/~3/V_jUvRLSNTw/pgadmin-4-elephant-nears-finish-line.html