dbForge Studio for PostgreSQL Review: Why It’s a Winner For Me
Tags: postgres, database, productivity
Published: 2023-04-12 08:24:54

I work on several databases including SQL Server, MySQL, and PostgreSQL. And I used several tools for them. This includes Devart tools like [dbForge Studio for MySQL](https://www.devart.com/dbforge/mysql/studio/). It’s my tool of choice for MySQL development. Will it feel the same for [dbForge Studio for PostgreSQL](https://www.devart.com/dbforge/postgresql/studio/)?

Let me start by saying that dbForge Studio for MySQL is at version 9.x at the time of writing. And dbForge Studio for PostgreSQL is still at version 3. So, you see, it’s a younger sibling. And there are some features of the MySQL GUI tool that are not yet there in its PostgreSQL brother.

But, there are some wow moments that I saw in the PostgreSQL tool that makes it my winner.

Meanwhile, there’s pgAdmin. What I like about it is it’s free. It’s GUI. But there are slow moments that made me disappointed. So, I’m in need of a good alternative.

Before I get into the things I like the most, let me give you the niceties of dbForge Studio for PostgreSQL.

## dbForge Studio for PostgreSQL Features at a Glance

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fbkn6s4erfjuf7ebihx4.png)

The dbForge Studio family of products has a common look and feel. It doesn’t matter what relational database you are using. Below are the golden nuggets for SQL coding:

- SQL code suggestion and completion
- SQL code formatter
- Automatic syntax checking
- Code snippets
- Query Profiler for performance tuning
- Creating DDL and DML scripts from objects

And the result set is not just a list of data. It also has:

- Paging a long list of results,
- Sorting by column,
- Grouping,
- Autosearch of column values,
- Editing,
- Exporting results to various formats,
- and a Data Viewer for column data that is good for long texts.

And it has a Database Explorer where you can see your databases, tables, indexes, and more. This is the common way to navigate with database objects across different servers.

**dbForge Studio for PostgreSQL also has GUI tools for:**

- Import and Export Data,
- Data and Schema Compare,
- Master-Detail Browser,
- Pivot Table,
- Report Designer,
- and Data Generator.

You can also customize the GUI. Make it dark or light. Or make the texts bigger or smaller. It’s up to you.

It also connects to a local server or a server on your network. And it doesn’t stop there. It can also connect to a cloud PostgreSQL like [Heroku, Azure PostgreSQL, and others](https://www.devart.com/dbforge/postgresql/studio/database-connections.html#azure-postgresql).

Use it on Windows. Or run it on [a Mac or Linux using Crossover](https://blog.devart.com/meet-dbforge-studio-for-postgresql-v3-0.html#linux-macos).

While all these features are likable, the next section will show you the things I love the most.

## Pro Features I Love in dbForge Studio for PostgreSQL

I use dbForge Studio for database development. So, the features I love may be different for you. Productivity is also important to me. So, while the psql command line tool is fine, the following are plus factors for me.

### Code Suggestions, Snippets, and Other Coding Bells and Whistles

If you don’t like little windows popping up while you code, this is not your cup of tea. But there are people like me who want it more than memorizing all the commands.

### Code Snippets
Here’s an example of a snippet to delete a row:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r5w4zsg06hjut9aqaa06.png)

Simply type delete like the one above. And use your down arrow key to select DeleteFrom snippet. Finally, press Enter. And you will see a DELETE FROM template. Then, type the schema and table and let the code suggestion do its thing.

### Code Suggestions

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/015cudaukzg087wv8c30.png)

From above, I typed ut and the tables that start with it popped up as suggestions. So, I pressed the down arrow key again and pressed Enter. II pressed Enter again to finalize the table name. And the cursor takes me to the WHERE clause before the semicolon. Very clever, isn’t it? I just need to define the WHERE clause. And the code suggestion will show me the columns like the one below:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9uy5txyi2x6o79jgjw1i.png)

Code suggestion also works in DML commands. Here’s a CREATE INDEX example which will let you select the PostgreSQL index type:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e4ek9x7p0ebbau719fcm.png)

But the code suggestion is just that: only for suggestions. It’s not so intrusive. This is good if you think you don’t like its suggestions. For example, you might not like the table aliases it suggests to you and you prefer something else.

### Syntax Checking

But the catch is code suggestions won’t stop you if you keep on typing even if the syntax is wrong. But thanks to its syntax checker. See an example below:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/25wijujp0zd0fpfqk2sz.png)

See the squiggly red lines above? The IN keyword there is wrong for an INNER JOIN syntax. If you run it anyway, you will add an entry to the Error List because it’s plain wrong.

But there’s more than just making you a productive coder. The runtime results will amaze you too.

## The Result Set More Than Meets the Eye

You can do various things on the result set in dbForge Studio for PostgreSQL. You can sort, group, filter, and more.

### Sorting

Let’s start with sorting.

In the result set, click the column you want to sort. Then, you’ll see that the data sorts on that column in ascending direction. Click it again and it will sort the other way. If you need to sort using more columns, just press CTRL. Then, click the next column you want to sort. Here’s what it looks like:


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a1bqewssmy43158lqccz.png)

The above shows 2 sort columns year and month. The order is ascending for both columns. Here’s another one:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zem6kcxqwzmu4xt8yydj.png)

The above shows a 2-column sort order: by year descending and by month ascending.

### Filtering

A filter is also a fine addition here. You can filter by any column in the result. See below:


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6g0yc3upjwi8edc8d80s.png)

### Grouping

Then, let’s group the result set. First, click Show Group By Box. Then, drag the columns you want to use for grouping into it. Here’s an example:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xvwhxlcz7hyxx79uoh5m.png)

### Paging

dbForge Studio for PostgreSQL can paginate a long list of many rows. You can define how many rows in a page you want. Here’s what it looks like:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9qv4czg7613ajp57y89y.png)

### Foreign Key Lookup

This feature is cool. This helps lookup parent tables through the foreign keys. Without this, I will have to write another query to look up a foreign key value in the parent table. Here’s what it looks like:


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mmdtx9beqslr5ei7ikm1.png)

Note that you have to get out of read-only mode to use this feature.

## The Query Profiler with a Visual Query Plan

Now, this is the best part that I wish dbForge Studio for MySQL had. The Query Profiler of its PostgreSQL sibling has a Plan Diagram. This visualizes the query plan of PostgreSQL. This is the place to find out bottlenecks in query performance. So, you need this for query tuning. Here’s a sample comparing 2 Plan Diagrams:


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/34va99t68p3e8dxhcx1e.png)

The above shows the performance comparison of the same query. The diagram is from before and after indexing. Indexing one of the tables used in the query improved the performance by almost 5 times.

## Data Generator for Lots of Sample Data

Another lifesaver is the Data Generator. Every now and then I need test data for my tables. The best part of it is generating data that respects foreign keys. So, if I have 2 related tables, the generated data will make sure no foreign key violations will occur. And you can also generate meaningful data for names like the one below:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vi3rqtvgxebyvt3hngo6.png)

## dbForge Studio Import/Export Data

dbForge Studio can import various data formats to PostgreSQL. Likewise, it can export data from PostgreSQL to different formats too. See a sample of the Import Data below:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b52e27lxuc67qbipum23.png)

## dbForge Studio Data and Schema Compare

If you are migrating databases, you need to make sure that the copy has the same schema and data from the source. The New Data Comparison and New Schema Comparison are valuable to this task. Here’s what the data comparison looks like:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/741d5ziw08625hy7nf65.png)

Simply follow the wizard to compare two databases.

## dbForge Studio Report Designer

I don’t use the Report Designer every day but it’s valuable when someone asks for a report coming from the database. You can use a table or query as a data source for the report. See a sample below:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/462ncwooxepawn1pxdji.png)

## Features I Wish Were There

Not everything is perfect, though. Below is a list of GUI features I look forward to in the next major update of dbForge Studio for PostgreSQL:

- Database diagram
- Table designer and Edit table using this table designer.
- Backup and restore. This includes a context menu entry when you right-click the database.
- Server security including setting up users and permissions

For now, you can do the above using SQL code or the command line. And that’s fine for this version.

## Takeaways

This review covers a developer perspective of dbForge Studio for PostgreSQL. A database administrator may have a different take on this. I have made the excellent features shine in this review. But I suggest you try it yourself. Don’t take my word for it.

Would you like to have code suggestions and snippets in coding? Or an advanced query profiler? How about a data generator and a database comparison tool?

If you answer yes to any of it, don’t wait any longer. [Download a copy](https://www.devart.com/dbforge/postgresql/studio/download.html) today.