DBeaver extension with native support for YDB (Yandex Database).
- Features
- Requirements
- Build from source
- Installation
- Creating a YDB connection
- Authentication methods
- Object navigator
- Plugin capabilities
- Updates
- License
- Connect to YDB with all authentication methods (anonymous, static, token, service account, metadata)
- Hierarchical object navigator: tables, topics, external data sources, external tables, views
- System objects:
.sys, Resource Pools, Resource Pool Classifiers - YQL editor with 150+ keywords and built-in functions highlighted
- Execution plan visualization (EXPLAIN / EXPLAIN ANALYZE)
- Active session monitor
- Cluster dashboard: CPU, storage, memory, network, node status (refreshes every 5 seconds)
- Access rights management (ACL): grant, revoke, view permissions
- Topic message viewer (YDB Topics / PersQueue)
- Streaming query management: view, alter, start, stop
- Federated queries via external data sources (S3, databases)
- Specialized editors for JSON, JSONDOCUMENT, YSON data types
| Component | Version |
|---|---|
| DBeaver | CE 24.x or later |
| Java | 21+ |
| Maven | 3.9+ (build only) |
git clone https://github.com/ydb-platform/ydb-dbeaver-plugin.git
cd ydb-dbeaver-plugin
mvn clean package -DskipTestsAfter the build, the P2 repository ZIP will be at:
repository/target/org.jkiss.dbeaver.ext.ydb.repository-1.0.0-SNAPSHOT.zip
To build and run tests:
mvn clean verifyUse this method to install from a locally built or downloaded archive.
Step 1. Open DBeaver. In the top menu select:
Help β Install New Software...
The Install dialog opens.
Step 2. Click Add... next to the "Work with:" field.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Install β
β β
β Work with: [________________________] [Add...] [Manage] β
β β
β type filter text β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β (empty β no repository selected) β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β [< Back] [Next >] [Cancel] β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Step 3. In the "Add Repository" dialog click Archive... and select the ZIP file:
βββββββββββββββββββββββββββββββββββββββββββ
β Add Repository β
β β
β Name: [YDB Plugin ] β
β β
β Location: [jar:file:/path/to/...zip!/] β
β [Local...] [Archive...] β
β [Add] [Cancel] β
βββββββββββββββββββββββββββββββββββββββββββ
Select org.jkiss.dbeaver.ext.ydb.repository-1.0.0-SNAPSHOT.zip.
After clicking Add, DBeaver loads the archive contents.
Step 4. The category DBeaver YDB Support appears. Check it:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Work with: YDB Plugin - jar:file:/path/to/...zip!/ β
β β
β β DBeaver YDB Support β
β β DBeaver YDB Support 1.0.0 β
β β
β β Show only the latest versions of available software β
β β Group items by category β
β [< Back] [Next >] [Cancel] β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Click Next >.
Step 5. On the "Install Details" screen verify both components are listed:
Items to install:
β’ org.jkiss.dbeaver.ext.ydb 1.0.0
β’ org.jkiss.dbeaver.ext.ydb.ui 1.0.0
Click Next >.
Step 6. DBeaver may show an unsigned content warning:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Warning: Unsigned Content β
β β
β The following content is unsigned: β
β - DBeaver YDB Support 1.0.0 β
β β
β If you proceed, you are putting the authenticity or β
β validity of this software at risk. β
β β
β [Install Anyway] [Cancel] β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
This is expected β the plugin JARs are not signed with a commercial certificate. Click Install Anyway.
Eclipse (which DBeaver is based on) verifies JAR signatures to confirm authenticity. This open source plugin is distributed without a signature. The source code is available for review in this repository.
Step 7. Review the license (Apache License 2.0), select I accept the terms of the license agreements, and click Finish.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Review Licenses β
β β
β Licenses: β
β Apache License, Version 2.0 β
β β
β β I do not accept the terms of the license agreements β
β β I accept the terms of the license agreements β
β [< Back] [Finish] [Cancel] β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Step 8. DBeaver installs the plugin and prompts for a restart. Click Restart Now.
βββββββββββββββββββββββββββ
β Software Updates β
β β
β A restart is required β
β to apply the software β
β updates. Restart now? β
β β
β [Restart Now] [Not Now] β
βββββββββββββββββββββββββββ
After restart the plugin is active.
This method enables automatic updates.
Steps 1β2. Same as Method 1: open Help β Install New Software... and click Add....
Step 3. In the "Add Repository" dialog enter the URL in the Location field:
https://storage.yandexcloud.net/ydb-dbeaver-plugin
βββββββββββββββββββββββββββββββββββββββββββ
β Add Repository β
β β
β Name: [YDB Plugin ] β
β β
β Location: [https://storage.yandexcloud. β
β net/ydb-dbeaver-plugin ] β
β [Local...] [Archive...] β
β [Add] [Cancel] β
βββββββββββββββββββββββββββββββββββββββββββ
Click Add. DBeaver loads the repository metadata.
Steps 4β8. Follow steps 4β8 from Method 1 (select components, accept license, restart).
Step 1. In the top menu select Database β New Database Connection (or press Ctrl+Shift+N).
Step 2. Type YDB in the search box. Select YDB from the list and click Next.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Connect to a database β
β β
β [YDB ] β search β
β β
β βββββββββββββββββββ β
β β [YDB logo] β β
β β YDB β β
β βββββββββββββββββββ β
β [< Back] [Next >] [Cancel] β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Step 3. The YDB connection settings page opens:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Connection Settings β
β β
β β Connection ββββββββββββββββββββββββββββββββββββββββββββββ β
β β Host: [localhost ] Port: [2135] β β
β β Database: [/local ] β β
β β Monitoring URL: [ ] β β
β β β Use secure connection (grpcs://) β β
β β β Enable autocomplete API β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β β Authentication ββββββββββββββββββββββββββββββββββββββββββ β
β β Auth type: [Anonymous βΌ] β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β JDBC URL: jdbc:ydb:grpcs://localhost:2135/local β
β β
β [Test Connection] [< Back] [Next >] [Finish] β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Fill in the fields:
| Field | Description | Example |
|---|---|---|
| Host | YDB server host | ydb.example.com |
| Port | Port (default 2135) | 2135 |
| Database | Database path | /ru-central1/b1gxxx/etn000 |
| Monitoring URL | YDB Viewer API URL for the dashboard (optional) | http://ydb-viewer:8765 |
| Use secure connection | Enable TLS/SSL (grpcs://) |
β |
| Enable autocomplete API | Autocomplete via YDB API | β |
Step 4. Select the authentication method from the Auth type dropdown (see Authentication methods).
Step 5. Click Test Connection. On success:
βββββββββββββββββββββββββββ
β Connected (42 ms) β
β [OK] β
βββββββββββββββββββββββββββ
Step 6. Click Finish. The connection appears in the Database Navigator panel.
Connect without credentials. Use for local or test YDB installations.
Auth type: [Anonymous βΌ]
No additional fields.
Auth type: [Static βΌ]
ββββββββββββββββββββββββββββββββββ
β User: [username ] β
β Password: [β’β’β’β’β’β’β’β’ ] β
ββββββββββββββββββββββββββββββββββ
Use when username/password authentication is enabled on the YDB server.
Auth type: [Token βΌ]
ββββββββββββββββββββββββββββββββββββββββββββββββββ
β Token: [β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’] β
ββββββββββββββββββββββββββββββββββββββββββββββββββ
Enter an IAM token or OAuth token. The token is sent in the header of every request.
Auth type: [Service Account βΌ]
ββββββββββββββββββββββββββββββββββββββββββββββββ
β SA Key File: [/path/to/key.json ] [...] β
ββββββββββββββββββββββββββββββββββββββββββββββββ
Provide the path to a Yandex Cloud service account JSON key file. The ... button opens a file picker.
The key file format:
{
"id": "aje...",
"service_account_id": "aje...",
"private_key": "-----BEGIN RSA PRIVATE KEY-----\n..."
}Auth type: [Metadata βΌ]
The plugin fetches an IAM token from the Yandex Cloud VM metadata service. Use only when DBeaver runs on a Yandex Cloud virtual machine.
After connecting, the Database Navigator panel shows the YDB object hierarchy:
βΌ YDB Connection
βΌ /local
βΌ Tables
βΌ folder1
β· subfolder
π mytable
π anothertable
βΌ Topics
π¨ my-topic
βΌ Views
π my-view
βΌ External Data Sources
π s3-source
βΌ External Tables
π ext-table
βΌ System Views (.sys)
π partition_stats
π query_sessions
βΌ Resource Pools
β default
Tables are organized into folders according to their YDB path (e.g. table /local/folder1/subfolder/mytable appears nested under folder1 β subfolder).
Open the SQL Editor (F3 or double-click the connection). The editor supports:
- YQL syntax highlighting: keywords (
UPSERT,REPLACE,EVALUATE,PRAGMA,WINDOWand 145+ more), data types, built-in functions - Autocomplete for table names, columns, and functions
- Query execution:
Ctrl+Enterβ current query,Ctrl+Shift+Enterβ entire script
-- Example YQL query
UPSERT INTO `/local/users` (id, name, created_at)
VALUES (1, "Alice", CurrentUtcDatetime());Click Explain (or Ctrl+Shift+E) to get the execution plan. The plugin shows:
- Text plan β operation tree
- Diagram β graphical DAG representation
- SVG plan β interactive visualization
EXPLAIN ANALYZE additionally shows execution statistics (row counts, elapsed time).
Right-click the connection and select Manage Sessions, or use Database β Manage Sessions.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Active Sessions [Hide Idle] β β
ββββββββββββ¬βββββββββββββββββββ¬βββββββββββββββ¬βββββββββββββ€
β Session β Query β State β Duration β
ββββββββββββΌβββββββββββββββββββΌβββββββββββββββΌβββββββββββββ€
β abc123 β SELECT * FROM β¦ β Executing β 00:00:03 β
β def456 β β β Idle β 00:02:15 β
ββββββββββββ΄βββββββββββββββββββ΄βββββββββββββββ΄βββββββββββββ
Open the Dashboard tab in the connection editor (requires the Monitoring URL field to be set during setup).
The dashboard shows in real time (refreshes every 5 seconds):
- CPU load per node
- Disk space usage
- Memory usage
- Network traffic
- Number of running queries
- Cluster node status
Right-click an object (table, topic, folder, etc.) β Edit Permissions.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Permissions for /local/users β
ββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββ€
β Subject β Permissions β
ββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββ€
β user@example.com β SELECT, INSERT β
β service-account@... β FULL β
ββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββ
β [Grant] [Revoke] [Set Owner] β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
In the navigator expand the Streaming Queries folder. For each query:
- View source (YQL)
- View issues
- View execution plan
- Actions: Start, Stop, Alter
Right-click a folder or object β Create New:
- Create Table β create a new table
- Create Topic β create a new topic
- Create Resource Pool β create a resource pool
DBeaver uses the Eclipse P2 mechanism to detect and install updates. When the plugin is installed, DBeaver remembers the repository URL source. When a new version is published, DBeaver compares the installed version with the one in the repository.
Each new build automatically gets a unique version like 1.0.0.v20260302-1652 (build date and time), so after publishing a new archive users will see the update without any extra steps on your side.
If the plugin was installed via Help β Install New Software β Add β URL https://storage.yandexcloud.net/ydb-dbeaver-plugin (Method 2), DBeaver remembers that URL. Publishing a new repository at the same URL is enough:
Users receive the update:
- Automatically on the next DBeaver start (if update checks are enabled β Window β Preferences β Install/Update β Automatic Updates)
- Manually via Help β Check for Updates:
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Available Updates β
β β
β β DBeaver YDB Support 1.0.0.v20260302-1652 β 1.0.0.v202604β¦ β
β β
β [Select All] [Deselect All] β
β [< Back] [Next >] [Cancel] β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
After selecting the update DBeaver follows the same steps as the first install (license β unsigned warning β restart).
If the plugin was installed via Archive... (local ZIP file), DBeaver does not know where to look for updates. In that case:
- Download the new ZIP archive
- Remove the old version: Help β About DBeaver β Installation Details β select plugin β Uninstall β restart
- Install the new version from ZIP following the same instructions as the first time
Recommendation: install via URL
https://storage.yandexcloud.net/ydb-dbeaver-plugin(Method 2) to receive updates automatically.