This time, we had the opportunity to interview the database expert and the speaker of many conferences – Ryan Booz. He is a developer advocate at Redgate Software, focusing on PostgreSQL. Ryan kindly agreed to share his favorite DBeaver features and everyday use cases with us and our readers. Let us start with a quick introduction to Ryan and his company.
Redgate has almost 25 years of experience developing industry-leading database productivity and DevOps tools, primarily for SQL Server. Starting with the acquisition of Flyway in 2019, Redgate began the journey of providing tools for multiple database platforms, with PostgreSQL at the top of the list.
Ryan has extensive experience working with databases and often uses DBeaver for his presentations. We asked him a few questions about our tool, and we are eager to share his answers with you.
Please tell us about your work. Which tasks does DBeaver help you solve?
Much of my daily work involves speaking at PostgreSQL and developer conferences, creating content for the community, and educating users on how Redgate tools can solve complex PostgreSQL development problems.
DBeaver has been my go-to IDE for PostgreSQL since I made the full-time switch from SQL Server in 2018. The broad database support, code formatting, and easily configured output options make it a great tool for demonstrating almost anything in PostgreSQL. While tools like `psql` are great and well supported by the PostgreSQL community, the flexibility and clarity I need to walk folks through demos and training work better in DBeaver for me.
Why did you choose DBeaver for your presentations?
As a long-time SQL Server developer, SSMS provided a wealth of features and depth of support for nearly everything SQL Server provides. As an open-source, community-driven project, PostgreSQL doesn’t have one, officially supported visual IDE with the same kind of support. Although PGAdmin is often the de facto IDE for PostgreSQL, I wanted a consistent, cross-platform IDE that supported numerous databases. Many of the important features I had expected of a database IDE with SSMS are available in DBeaver in similar ways.
What DBeaver features do you like the most?
Although there are numerous features I use every day in DBeaver to help with my work, these are a few highlights.
Formatting: The colorization, auto-formatting options, and small helpers like easily creating comment blocks, help me create clear SQL files for my demos and provide end users with scripts they can follow along with on their own.
Output flexibility: While I appreciate the formatting options of the SQL Editor, I most often want to see query output in formatted textual form, like `psql` provides. This kind of output makes it easy to show during demos and provides consistency with what users will see when using command-line tools. Even better is the ability to switch between table and record format (like the `\x` option in psql), and even to a graphical table as most other IDEs provide.
Spatial support: As I’ve been doing more with PostGIS and spatial data, the built-in mapping capabilities for spatial datatypes make it so easy to demonstrate these advanced capabilities of the PostgreSQL platform.
Has the use of DBeaver affected the efficiency and speed of your work?
Absolutely. As I create and modify SQL files for teaching or providing to the community, the formatting options, connectivity, and ease of moving script-to-script help me move quickly. And as I said, during demos, the visual clarity helps others follow along more easily.
One other small example of how DBeaver helps my efficiency is in the export functionality from the query output window. As I do work on example data, I often need to create and easy “setup” script that others can run so that they can follow along with a demo. While using the import capability with dumps, CSV files, or other types might be preferred, sometimes it’s just easier to provide a multi-valued insert statement to fill tables with sample data. One of the many output options for data is the SQL format, which creates a multi-valued statement with the sample data returned from the query. It’s small, but so helpful.
What would you like to improve in our app?
I know that DBeaver has a lot more functionality than I use every day. And the things that I need to do usually work very easily and consistently.
A number of the things that have come up in the past are often fixed with newer releases. For instance, Projects used to have an issue with keeping the right session active when switching projects. The charting capabilities found in PRO originally supported bar charts only. Text resizing in both the SQL editor and output panel would sometimes require a restart for updated settings to take effect.
All of these issues, however, have been resolved with regular releases, even as many new features like ChatGPT integration have been added along the way.