<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>DBeaver on josiete.com</title><link>https://www.josiete.com/en/tags/dbeaver/</link><description>Recent content in DBeaver on josiete.com</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 24 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://www.josiete.com/en/tags/dbeaver/index.xml" rel="self" type="application/rss+xml"/><item><title>DBeaver: the data engineer's Swiss Army knife</title><link>https://www.josiete.com/en/posts/dbeaver/</link><pubDate>Thu, 24 Sep 2026 00:00:00 +0000</pubDate><guid>https://www.josiete.com/en/posts/dbeaver/</guid><description>&lt;p&gt;&lt;img src="https://www.josiete.com/images/dbeaver-beaver.webp" alt="A beaver working with Parquet data and DuckDB in DBeaver"&gt;&lt;/p&gt;&#10;&lt;p&gt;Some tools solve one specific task. Others eventually become the whole toolbox. DBeaver belongs to the second category: it is a cross-platform database client for connecting to, querying, exploring, editing, and exporting data without changing applications. For a data engineer, it feels a lot like a graphical Swiss Army knife.&lt;/p&gt;&#10;&lt;h2 id="what-is-dbeaver"&gt;What is DBeaver?&lt;/h2&gt;&#10;&lt;p&gt;DBeaver is a desktop application for working with databases and other data sources. It supports JDBC connections, schema and table browsing, SQL with autocomplete, execution-plan inspection, record editing, and data export.&lt;/p&gt;&#10;&lt;p&gt;Its main advantage is bringing together tasks that would otherwise be split between a console, an IDE, a spreadsheet, and several vendor tools. The metadata browser helps us understand a database quickly; the SQL editor lets us test a query; and the results view lets us filter, sort, copy, or export information.&lt;/p&gt;&#10;&lt;p&gt;DBeaver Community is open source, while the Enterprise edition adds features for teams and particular data sources. The company behind the product is &lt;strong&gt;DBeaver Corp&lt;/strong&gt;, based in the United States. The project grew around the open-source community, and the company maintains both the Community edition and commercial variants.&lt;/p&gt;&#10;&lt;h2 id="one-client-many-databases"&gt;One client, many databases&lt;/h2&gt;&#10;&lt;p&gt;DBeaver is not a database engine: it is the client that connects to databases. That distinction matters. It does not replace PostgreSQL, MySQL, SQL Server, Oracle, MariaDB, SQLite, or Snowflake; it provides a common experience for working with them.&lt;/p&gt;&#10;&lt;p&gt;Depending on the driver and edition, we can connect to relational databases, analytical warehouses, cloud services, and sources exposing a JDBC driver. We can also configure SSH tunnels, manage credentials, save connections, and open several sessions in parallel. The interface does not remove engine-specific differences, but it reduces the mental cost of switching between them.&lt;/p&gt;&#10;&lt;p&gt;It is available for &lt;strong&gt;Linux, Windows, and macOS&lt;/strong&gt;. On Linux it is useful for people moving between servers, containers, and a development laptop; on Windows it fits teams working with SQL Server, PostgreSQL, cloud services, and corporate tooling. The same idea and much of the workflow travel with us between operating systems.&lt;/p&gt;&#10;&lt;h2 id="parquet-when-a-table-does-not-live-in-a-database"&gt;Parquet: when a table does not live in a database&lt;/h2&gt;&#10;&lt;p&gt;Parquet is a columnar storage format, not a database. It stores data by column and keeps metadata that allows readers to fetch only the necessary parts. That is why it is common in data lakes and analytical pipelines: it is compact, compresses well, and works with many engines.&lt;/p&gt;&#10;&lt;p&gt;DBeaver can explore Parquet files directly through compatible engines and connections instead of forcing us to load them into a traditional database first. This is useful for inspecting a dataset received from another team, checking column types, finding nulls, or validating a partition before building a pipeline.&lt;/p&gt;&#10;&lt;p&gt;Two operations should be distinguished. &lt;strong&gt;Viewing&lt;/strong&gt; a Parquet file tells us what it contains; &lt;strong&gt;querying&lt;/strong&gt; it with SQL requires an engine that can read it. That is where DuckDB comes in: DBeaver provides the interface and DuckDB provides the analytical engine.&lt;/p&gt;&#10;&lt;h2 id="dbeaver-and-duckdb-a-practical-pairing"&gt;DBeaver and DuckDB: a practical pairing&lt;/h2&gt;&#10;&lt;p&gt;DuckDB is an embedded analytical database that can query Parquet, CSV, and JSON without starting a server. DBeaver can connect to DuckDB and become its visual environment: we write SQL in the editor, inspect plans and results in tables, and browse objects through a familiar interface.&lt;/p&gt;&#10;&lt;p&gt;A typical query can be as simple as:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;SELECT&lt;/span&gt; customer_id, &lt;span style="color:#66d9ef"&gt;sum&lt;/span&gt;(amount) &lt;span style="color:#66d9ef"&gt;AS&lt;/span&gt; total&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;FROM&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;data/sales/*.parquet&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;GROUP&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;BY&lt;/span&gt; customer_id&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;ORDER&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;BY&lt;/span&gt; total &lt;span style="color:#66d9ef"&gt;DESC&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;LIMIT&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;20&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The file remains Parquet and DuckDB reads it directly; there is no need to import it into a server database before starting analysis. This combination is particularly comfortable for exploration, data-quality checks, and prototypes: DBeaver makes investigation visual and DuckDB provides fast, portable SQL.&lt;/p&gt;&#10;&lt;p&gt;It can also create a local DuckDB database, join several files, materialize intermediate results, and export them again. The workflow lands in a very useful space between a spreadsheet and a full data platform.&lt;/p&gt;&#10;&lt;h2 id="why-call-it-a-swiss-army-knife"&gt;Why call it a Swiss Army knife?&lt;/h2&gt;&#10;&lt;p&gt;The metaphor does not mean DBeaver does everything better than specialized tools. It means it covers many needs with surprisingly little friction:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;explore schemas, indexes, views, and permissions;&lt;/li&gt;&#10;&lt;li&gt;write and save SQL queries;&lt;/li&gt;&#10;&lt;li&gt;compare results and inspect execution plans;&lt;/li&gt;&#10;&lt;li&gt;edit individual records carefully;&lt;/li&gt;&#10;&lt;li&gt;import and export CSV, JSON, and other formats;&lt;/li&gt;&#10;&lt;li&gt;work with multiple connections and tabs;&lt;/li&gt;&#10;&lt;li&gt;document queries and share configurations with the team;&lt;/li&gt;&#10;&lt;li&gt;connect to classic engines, cloud services, and embedded databases.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;For someone learning SQL, the data view provides immediate feedback. For an experienced user, the value is having context, queries, and results in one place. For a data engineer, the mix of heterogeneous connections, Parquet, and DuckDB greatly shortens the path from “I was given these files” to “I know what they contain.”&lt;/p&gt;&#10;&lt;h2 id="things-to-keep-in-mind"&gt;Things to keep in mind&lt;/h2&gt;&#10;&lt;p&gt;Convenience does not remove responsibility. A production connection should be protected with suitable credentials, least-privilege permissions, and care when running &lt;code&gt;UPDATE&lt;/code&gt;, &lt;code&gt;DELETE&lt;/code&gt;, or migrations. A graphical interface can also hide SQL-dialect differences, query costs, and access policies.&lt;/p&gt;&#10;&lt;p&gt;DBeaver is not an orchestrator or a data-governance system. It does not replace a versioned pipeline, automated tests, change control, or observability. Its role is more focused and, for that reason, valuable: it is a flexible workstation for understanding and operating on data.&lt;/p&gt;&#10;&lt;h2 id="a-small-tool-for-varied-problems"&gt;A small tool for varied problems&lt;/h2&gt;&#10;&lt;p&gt;The best way to understand DBeaver is as a common work layer. One day it can be a PostgreSQL client; the next, the window through which we inspect a Parquet file with DuckDB; later, a browser for a local SQLite database or a console for an analytical warehouse.&lt;/p&gt;&#10;&lt;p&gt;That versatility explains its popularity. DBeaver does not try to decide where data should live: it helps us see it, ask questions of it, and move between systems. And when the logo&amp;rsquo;s beaver appears next to a Parquet file and a DuckDB query, the joke is more than visual: it captures a modern, pragmatic way of working with data.&lt;/p&gt;&#10;</description></item></channel></rss>