TechSetupGuides
Beginnerdatabasesqljavaeclipsejdbcmysqlpostgresqloraclemongodbadmin

DBeaver: Universal database tool and SQL client

Free multi-platform database tool for developers, SQL programmers, database administrators and analysts. Supports 100+ databases with powerful features including schema editor, SQL editor, data editor, AI integration, ER diagrams, and more.

  1. Step 1

    What is DBeaver?

    DBeaver is a free, open-source universal database management tool for developers, SQL programmers, database administrators, and analysts. Built on Eclipse RCP platform and written in Java, DBeaver provides a rich desktop interface for working with databases. It supports over 100 database drivers out of the box, including all major databases (MySQL, PostgreSQL, Oracle, SQL Server, MongoDB) and can connect to any database with JDBC or ODBC drivers. With 50,000+ GitHub stars, DBeaver is one of the most popular database tools in the world.

    Key capabilities include schema browsing and editing, SQL editor with syntax highlighting and auto-completion, visual data editor, ER diagram generation, data import/export/migration, query execution plans, AI-powered code completion (via OpenAI or Copilot), spatial data viewer, SSH tunneling, and custom driver support.

  2. Step 2

    Technology stack

    DBeaver is built on a robust plugin-based architecture using enterprise Java frameworks:

    Core platform:

    • Java (OpenJDK 21 included in all distributions)
    • OSGi platform for plugin architecture (130+ plugins in Community Edition)
    • Eclipse RCP (Rich Client Platform) for desktop UI
    • JDBC (Java Database Connectivity) for database drivers
    • Maven with Tycho for build and dependency management

    SQL parsing and analysis:

    • JSQLParser for SQL grammar parsing
    • Antlr4 for advanced semantic parsing and syntax analysis

    Key libraries:

    • SSHJ for SSH tunneling and proxy support
    • Apache POI for Excel import/export
    • JFreeChart for data visualization and dashboards
    • JTS (Java Topology Suite) for spatial/GIS data
    • Apache JEXL for expression language support

    Architecture:

    • Plugin-based modular design separates model plugins from UI plugins
    • Same backend plugins power both DBeaver desktop and CloudBeaver web version
    • P2 repositories for third-party dependencies
    • Native OS-specific components for high-performance drivers and networking

    DBeaver is cross-platform and runs on Windows, macOS, and Linux.

    Core:
    ├── Java (OpenJDK 21)
    ├── OSGi (130+ plugins)
    ├── Eclipse RCP
    └── JDBC/ODBC drivers
    
    Parsing:
    ├── JSQLParser
    └── Antlr4
    
    Libraries:
    ├── SSHJ (tunneling)
    ├── Apache POI (Excel)
    ├── JFreeChart (charts)
    ├── JTS (spatial data)
    └── Apache JEXL (expressions)
    
    Build:
    ├── Maven 3.x
    └── Tycho (Eclipse plugin build)
  3. Step 3

    Installation: Pre-built binaries (Recommended)

    The easiest way to get started with DBeaver is to download pre-built binaries from the official website. DBeaver ships with OpenJDK 21 bundled, so no separate Java installation is required.

    For all platforms:

    1. Download the installer for your OS from https://dbeaver.io/download or GitHub releases
    2. Run the installer (Windows/macOS) or extract the archive (Linux)
    3. Launch dbeaver from your applications folder or start menu

    Linux package managers: DBeaver is also available via Snap, Flatpak, and distribution-specific package managers.

    # Ubuntu/Debian via APT
    wget -O - https://dbeaver.io/debs/dbeaver.gpg.key | sudo apt-key add -
    echo "deb https://dbeaver.io/debs/dbeaver-ce /" | sudo tee /etc/apt/sources.list.d/dbeaver.list
    sudo apt update
    sudo apt install dbeaver-ce
    
    # Snap (all Linux distros)
    sudo snap install dbeaver-ce
    
    # Flatpak
    flatpak install flathub io.dbeaver.DBeaverCommunity
    
    # macOS via Homebrew
    brew install --cask dbeaver-community
    
    # Windows via Chocolatey
    choco install dbeaver
  4. Step 4

    Supported databases

    DBeaver Community Edition supports 100+ database drivers out of the box, including:

    Relational databases: MySQL, MariaDB, PostgreSQL, Oracle, SQL Server, DB2, Sybase, SAP HANA, Informix, Teradata, Vertica, Firebird, SQLite, H2, Derby, MS Access, and many more.

    Cloud databases: AWS Redshift, AWS Athena, Google BigQuery, Google Spanner, Azure SQL, Snowflake, Databricks, Salesforce.

    Big Data & Analytics: Apache Hive, Apache Drill, Presto, Trino, Apache Spark, Apache Ignite, Apache Druid, Elasticsearch, OpenSearch, ClickHouse.

    Time-series & Specialized: TimescaleDB, InfluxDB, TDEngine, DuckDB, CockroachDB, YugabyteDB.

    NoSQL (PRO version only): MongoDB, Cassandra, Couchbase, Redis, Neo4j, DynamoDB, CosmosDB, Kafka.

    File formats (PRO version): CSV, XLSX, JSON, XML, Parquet.

    If your database has a JDBC or ODBC driver, DBeaver can connect to it — even if it's not in the official list.

  5. Step 5

    First connection: Quick start

    After installation, create your first database connection:

    1. Launch DBeaver
    2. Click "New Database Connection" (plug icon in toolbar) or File → New → Database Connection
    3. Select your database type from the list (e.g., PostgreSQL, MySQL, SQLite)
    4. Enter connection details:
      • Host/Server name
      • Port
      • Database name
      • Username and password
    5. Click "Test Connection" to verify
    6. If drivers are missing, DBeaver will offer to download them automatically
    7. Click "Finish" to save the connection

    Your connection appears in the Database Navigator panel on the left. Double-click to expand and browse schemas, tables, views, and procedures.

    Example PostgreSQL connection:
    ┌─────────────────────────────┐
    │ Host: localhost             │
    │ Port: 5432                  │
    │ Database: mydb              │
    │ User: postgres              │
    │ Password: ********          │
    │ [Test Connection]           │
    └─────────────────────────────┘
    
    DBeaver auto-downloads JDBC drivers on first connect.
  6. Step 6

    Core features

    DBeaver provides a comprehensive set of database management features:

    SQL Editor:

    • Syntax highlighting for all major SQL dialects
    • Auto-completion for tables, columns, keywords
    • Query execution with result tabs
    • Query execution plans and profiling
    • AI-powered code generation (OpenAI/Copilot integration)
    • Multiple query tabs and connection contexts

    Data Editor:

    • Visual grid editor for browsing and editing table data
    • Inline editing with validation
    • Filter, sort, and search across large datasets
    • Data export to CSV, Excel, JSON, XML, SQL, HTML
    • Data import from files and other databases

    Schema Tools:

    • Visual ER diagrams with auto-layout
    • Schema browser with object search
    • DDL viewer and editor
    • Database compare and sync
    • Metadata search across all objects

    Advanced Features:

    • SSH tunneling and proxy support for secure connections
    • Spatial/GIS data viewer for geographic data
    • Query history and bookmarks
    • Database administration tools (user management, backup/restore)
    • Custom JDBC/ODBC driver configuration
    • Dark theme and customizable UI
    • Multi-connection transactions
  7. Step 7

    AI integration (Optional)

    DBeaver supports AI-powered SQL code completion and generation via OpenAI or GitHub Copilot. This feature requires API keys from the respective services.

    Setup:

    1. Navigate to Window → Preferences → DBeaver → AI
    2. Choose your AI provider (OpenAI or Copilot)
    3. Enter your API key
    4. Configure completion settings (model, temperature, max tokens)

    Usage:

    • Type a SQL comment describing what you want (e.g., -- select all users created today)
    • Press Ctrl+Space or wait for auto-suggestions
    • AI generates SQL based on your database schema
    • Review and accept/modify the generated code

    This feature is particularly useful for complex joins, window functions, and unfamiliar SQL dialects.

    -- Example: AI-assisted query generation
    -- Find top 10 customers by total order value in 2024
    
    -- DBeaver AI generates:
    SELECT 
      c.customer_id,
      c.name,
      SUM(o.total_amount) as total_spent
    FROM customers c
    JOIN orders o ON c.customer_id = o.customer_id
    WHERE EXTRACT(YEAR FROM o.order_date) = 2024
    GROUP BY c.customer_id, c.name
    ORDER BY total_spent DESC
    LIMIT 10;
  8. Step 8

    Configuration and preferences

    Customize DBeaver to fit your workflow via Window → Preferences:

    Connection settings:

    • Default transaction isolation level
    • Auto-commit behavior
    • Connection timeout and keep-alive
    • SSH tunnel configuration templates

    SQL Editor:

    • Font size and color scheme
    • SQL formatter rules (capitalization, indentation)
    • Auto-completion triggers and delay
    • Query result set limits

    Data Editor:

    • Boolean display format (true/false, 1/0, Yes/No)
    • Date/time format patterns
    • NULL value display
    • Binary data presentation

    Performance:

    • Result set fetch size
    • Metadata cache settings
    • Memory allocation (edit dbeaver.ini for heap size)

    DBeaver stores configuration in ~/.local/share/DBeaverData/ (Linux), ~/Library/DBeaverData/ (macOS), or %APPDATA%\DBeaverData\ (Windows).

    # dbeaver.ini: Increase heap memory for large datasets
    -vmargs
    -Xms256m
    -Xmx2048m  # Increase from default 1024m to 2048m
    
    # Useful for:
    # - Large result sets
    # - Complex ER diagrams
    # - Multiple concurrent connections
  9. Step 9

    Building from source (Advanced)

    Developers and contributors can build DBeaver from source. This requires Java 21+ and Maven 3.x.

    Prerequisites:

    • OpenJDK 21 or later
    • Maven 3.8+
    • Git

    Build steps:

    1. Clone the repository
    2. Navigate to the project root
    3. Run Maven build with Tycho
    4. Locate the built product in product/community/target/products/

    The build process creates platform-specific packages for Windows, macOS, and Linux. Full build takes 10-20 minutes depending on hardware.

    Note: Building from source is only necessary for development or customization. Most users should use pre-built binaries.

    # Clone the repository
    git clone https://github.com/dbeaver/dbeaver.git
    cd dbeaver
    
    # Build all modules (requires Maven 3.8+, Java 21+)
    mvn clean package -DskipTests
    
    # Or build with tests (much slower)
    mvn clean package
    
    # Find built artifacts
    ls -la product/community/target/products/
    
    # Example output structure:
    # org.jkiss.dbeaver.core.product-linux.gtk.x86_64.tar.gz
    # org.jkiss.dbeaver.core.product-macosx.cocoa.x86_64.tar.gz
    # org.jkiss.dbeaver.core.product-win32.win32.x86_64.zip
  10. Step 10

    Development setup (Contributors)

    To contribute to DBeaver or develop custom plugins, set up a development environment in Eclipse or IntelliJ IDEA.

    Eclipse IDE (Recommended):

    1. Install Eclipse IDE for Java Developers
    2. Install Tycho Configurator from Eclipse Marketplace
    3. Import DBeaver as an existing Maven project
    4. Eclipse will resolve OSGi dependencies automatically
    5. Run/debug via Eclipse launch configurations

    IntelliJ IDEA:

    1. Open the project as a Maven project
    2. IntelliJ will import modules and dependencies
    3. Configure run configuration to launch Eclipse RCP application
    4. May require additional OSGi plugin support

    Code style:

    • Follow the DBeaver code style in docs/codestyle/
    • Use the provided license header template
    • Write unit tests for new features
    • See the contribution guide: https://github.com/dbeaver/dbeaver/wiki/Contribute-your-code
    # Generate Eclipse workspace files
    ./generate_workspace.sh  # Linux/macOS
    generate_workspace.cmd   # Windows
    
    # Import into Eclipse:
    # File → Import → Existing Maven Projects
    # Browse to dbeaver directory
    # Select all modules
    
    # Run DBeaver from Eclipse:
    # Run → Run Configurations → Eclipse Application
    # Select org.jkiss.dbeaver.core.product
  11. Step 11

    CloudBeaver: Web-based alternative

    CloudBeaver is a web-based database management tool built on the same DBeaver platform. It brings DBeaver's capabilities to a browser interface, enabling database management from any device without local installation.

    Key differences:

    • Runs in a web browser (no desktop app installation)
    • Multi-user with role-based access control
    • Centralized deployment (one server, many users)
    • Most DBeaver features available via web UI
    • Supports the same 100+ databases
    • Ideal for teams and remote access scenarios

    Learn more: https://github.com/dbeaver/cloudbeaver

    CloudBeaver is perfect for organizations that need centralized database access, while DBeaver desktop excels for individual developers who need rich desktop features and offline access.

  12. Step 12

    Resources

    Official website: https://dbeaver.io

    Documentation: https://dbeaver.com/docs/dbeaver/

    GitHub repository: https://github.com/dbeaver/dbeaver

    Wiki: https://github.com/dbeaver/dbeaver/wiki

    Issue tracker: https://github.com/dbeaver/dbeaver/issues

    Community: Join discussions at https://github.com/dbeaver/dbeaver/discussions

    Social media:

    • Twitter/X: @dbeaver_news
    • YouTube: @DBeaver_video (tutorials and demos)

    Commercial versions: https://dbeaver.com/download/ (adds NoSQL support, additional extensions, official support)

    Download: https://dbeaver.io/download (Community Edition) or https://github.com/dbeaver/dbeaver/releases

    Website: https://dbeaver.io
    Docs: https://dbeaver.com/docs/dbeaver/
    GitHub: https://github.com/dbeaver/dbeaver
    Wiki: https://github.com/dbeaver/dbeaver/wiki
    Download: https://dbeaver.io/download
    Twitter: @dbeaver_news
    YouTube: @DBeaver_video
    CloudBeaver: https://github.com/dbeaver/cloudbeaver

Feature requests

Sign in to suggest features or vote on existing ones.

No feature requests yet.

Discussion

0 people marked this as worked·Sign in to mark your own.

Sign in to join the discussion.

No comments yet.