October 11, 2021·4 min read·engineeringpostgresqlpgadmintooling

pgAdmin 6.0 converts its object interfaces to React

pgAdmin's browser tree, object dialogs and Grant Wizard move to React. Sequence ownership support adds a separate improvement to the schema lifecycle those interfaces manage.

A database administration interface needs to preserve object behavior while its implementation changes. pgAdmin 6.0 moves the browser tree, object dialogs and Grant Wizard to React. Those are the places where a user navigates database objects, changes their definitions and grants access. The conversion therefore concerns central administration workflows.

The October 11 announcement names those converted components explicitly. It also adds sequence OWNED BY support and removes Greenplum Database support. Together, these changes describe a release that alters both how pgAdmin implements its interface and which database operations it exposes.

I want a graphical administration tool to make database behavior inspectable. Framework choice matters when it makes the interface usable and maintainable, but the resulting SQL remains important. Sequence ownership is a useful example because a small dialog option controls what happens to another object when a column disappears.

The conversion has a defined scope

The announcement says the browser tree, all object dialogs and Grant Wizard have been ported. The release-tagged notes track the browser tree under issue 6129, object nodes and properties dialogs under 6588, and the Grant Wizard under 6687.

These named components give the change a concrete boundary. The browser tree concerns finding and selecting objects. Object dialogs concern their definitions and properties. Grant Wizard concerns permission changes. Calling the release a complete rewrite would go beyond what those entries establish.

The announcement attributes performance and user-experience improvements to the React migration, but supplies no timings or workload measurements. There is therefore no numerical speedup to carry into an upgrade decision. The supported claim is that the project has converted these interfaces and presents improved interaction as its motivation.

A related bug fix addresses an unresponsive Grant Wizard when the database is very large. That entry gives a specific user-visible problem alongside the framework work. It does not establish that React alone caused the fix, and the release notes list the conversion and bug repair separately.

Another fix concerns the Query Tool's Execute button becoming disabled after a change in the data grid. That operation crosses between viewing or editing returned data and executing a query. Repairing the button state matters to the workflow even though it adds no SQL capability.

Sequence ownership describes object lifetime

The new sequence feature adds support for OWNED BY. The announcement explains that the clause associates a sequence with a particular table column. Dropping that column, or its whole table, then automatically drops the sequence.

This association is distinct from selecting the role that owns a sequence. The 6.0 Sequence dialog documentation places the role owner in the General tab. It describes OWNED BY in the Definition tab as the relationship to a table column.

That distinction prevents a misleading interpretation of the word owner. One setting identifies a role responsible for the object. The other records a dependency on a specific column and affects deletion behavior. An interface that exposes both needs to preserve their different meanings.

The documentation also states that the referenced table must have the same owner and occupy the same schema as the sequence. These restrictions are part of the operation, so choosing an arbitrary visible table column does not necessarily produce a valid ownership association.

For an administrator, the relevant consequence appears during a later schema change. A sequence linked through OWNED BY follows the specified column's lifetime. An unrelated sequence cannot be assumed to disappear just because a table has been removed. The new control lets the intended dependency be expressed through the dialog.

Generated SQL supports inspection

The Sequence dialog has General, Definition and Security tabs, plus an SQL tab that displays the command generated by the selections. Users are directed to review that SQL and revisit other tabs to change it. The graphical values therefore have a corresponding command available before saving. This is useful when the same sequence definition includes both a role owner and a column dependency. Each selection can be examined in its SQL context, with its own effect on the object.

Other Definition fields include increment, starting value and cache size. The documentation describes sequence values as sequential but not necessarily contiguous. That qualification matters when a sequence is used for an identifier, since a visual numeric control does not establish a gap-free numbering contract.

Security is another separate concern. The Security tab assigns privileges and security labels. Selecting a grantee and privileges addresses access to the sequence, while OWNED BY addresses its dependency on a column. Combining both under a general idea of sequence ownership would lose the distinction the interface makes.

I find the SQL review step valuable because it makes these differences visible outside the dialog controls. A schema change can be assessed as an actual database command. That remains useful after an interface conversion, when familiar workflows may have new implementations.

Removed support affects compatibility

The release notes explicitly remove GPDB support under issue 6692. Greenplum users therefore have a compatibility concern independent of the React conversion. An improved object dialog does not establish that a previously supported server family remains a target.

The release also repairs partitioned-table creation involving COLLATE and an operator class. Schema Diff receives fixes for attnum and edit_types errors. These entries show that the release includes corrections to object-definition workflows as well as the implementation change.

Publication timing needs a small distinction. The release notes carry October 7 as their release date, while the public PostgreSQL announcement is dated October 11. This post follows the announcement, whose distribution notice also states that publishing the Python package to PyPI is delayed.

The announcement offers Windows and macOS builds alongside other package forms and source. It does not claim that every distribution channel became available simultaneously. For this release, the converted object workflows, sequence dependency control and removed Greenplum support are the concrete changes to evaluate against the administration tasks and server types in use.