December 10, 2018·4 min read·engineeringpostgresqltoolingsql

dbForge Studio adds a paid PostgreSQL workflow edition

dbForge Studio 2.0 introduces Standard edition around data movement, reporting and repeatable query work, while retaining a free Express edition.

A database GUI can be an editor for occasional queries or a place where recurring data work is defined. Those uses overlap, but they create different requirements. Import settings, saved query fragments and execution history become more useful as an operation is repeated. Devart's new Standard edition of dbForge Studio for PostgreSQL packages several of those workflow capabilities into a paid edition.

The December 10 release article introduces version 2.0 with free Express and paid Standard editions. Standard has a 30-day evaluation, after which continued access to its additional capabilities requires a license. The listed capabilities include import and export, query execution history, snippets and reporting. The commercial boundary therefore concerns how people work with PostgreSQL as well as how they write SQL.

I default to PostgreSQL for relational systems, and I want its surrounding tools to keep the actual database operation understandable. A graphical workflow can be useful when it reduces repetitive setup. Its value depends on retaining enough information to explain the resulting query or data transfer after the original interaction is over.

Recurring work has configuration worth preserving

The vendor describes import and export templates for recurring scenarios. That addresses a real difference between a one-off transfer and an established operation. The first transfer can depend on someone choosing settings interactively. A repeated transfer needs a way to carry those choices forward without relying entirely on memory.

The engineering question is which choices define the operation. A destination relation and an input file are not always enough to explain a transfer's meaning. The person responsible for the result needs to know how source values correspond to database values. Preserving configuration makes that relationship easier to examine than repeatedly reconstructing it in an interactive session.

The existence of a template should not be confused with evidence that a particular transfer is correct. It gives the operator a place to retain decisions. Correctness still concerns those decisions and the input to which they apply. This is a useful distinction when assessing a tool feature without making unsupported claims about how its implementation handles every format.

The same reasoning applies to SQL snippets. A snippet reduces repeated typing and can preserve an intended query structure. It also becomes a maintained piece of code. Someone changing the schema needs to consider whether the saved fragment still expresses the intended operation. Convenience and responsibility grow together as an interactive action becomes reusable.

History records execution separately from intention

The release article describes a history window that can search and edit executed queries. That is useful because the query someone intended to run and the query actually executed can diverge during exploration. An editor buffer describes the current text. Execution history supplies a different kind of record.

For an investigation, that distinction can help reconstruct how a result was obtained. A person may refine a filter several times before copying the final output elsewhere. Keeping the executed text provides evidence about the filter used for that output. It is still necessary to know which database and data state the text addressed, so history alone is not a complete record of the operation.

History is already a familiar database-client concern. The PostgreSQL 11 psql documentation describes HISTFILE and shows how to keep separate command histories by database. The graphical history window provides a different interface to reviewing past work. Its value should be assessed in terms of how easily the user can find the relevant operation in that interface.

My preference is to make the query text available even when the workflow begins graphically. That keeps an analytical result connected to an expression someone else can read. It also gives the user a way to distinguish a change in the question from a change in the underlying records.

Large scripts have a different editing requirement

Another described capability executes large scripts without opening the entire script in the editor or loading it all into memory. That separates execution from interactive document editing. A file can be appropriate input for a database operation even when it is inconvenient to represent as one fully loaded editor document.

The distinction matters when a tool combines an editor and an execution interface. Editing benefits from direct access to the document's contents. Execution can have a different access pattern. Treating those as separate operations gives the tool a way to support a large input without requiring every part of its editing machinery to participate.

This does not establish a throughput result or a particular memory bound. The vendor's description supports the narrower claim about avoiding full loading into the editor. That is sufficient to explain why the capability matters for the workflow it names. A claim about executing a specific file at a specific speed would require different evidence.

Edition choice follows the operation

The December release makes an edition decision relevant to routine PostgreSQL work. Someone needing occasional query editing has a different requirement from someone depending on repeatable imports or reporting. The useful comparison is whether a named capability removes recurring work that the person actually performs.

For this release, the distinction is visible in the vendor's own feature descriptions. Standard collects workflow facilities around the database while Express remains available for basic use. An operator adopting those facilities should retain the operation's SQL and configuration wherever they are needed to explain or repeat the work after the interactive session ends.