D Beaver
D Beaver
Database Management
Database Connections
Create Connection
Edit Connection
Connect to Database
Invalidate/Reconnect to Database
Disconnect from Database
Connection Types
Transactions
Auto and Manual Commit Modes
Transaction Log
Pending transactions
Customizing DBeaver
DBeaver extensions - Office, Debugger, SVG, SSH
Installing extensions - Themes, version control, etc
Databases
Generic
MySQL/MariaDB
PostgreSQL
Oracle
Exasol
DB2
Apache Hive/Spark/Impala
MongoDB
Cassandra
InfluxDB
Redis
Clickhouse
Troubleshooting
Command-Line
Reset UI settings
Reset workspace
Posting issues
Log files
Thread dump
Admin Guide
Managing connections
Managing drivers
Windows Silent Install
Development
Build from sources
Develop in Eclipse
Develop in IDEA
Features structure
Resources localization
Automatic Tests
Other
Enterprise Edition
NOTE:
The installer does not change any system settings or the Java installation.
ZIP Archive
When installing DBeaver manually, without using an installer:
Debian Package
To install DBeaver using a Debian package:
RPM Package
To install DBeaver using RPM package:
NOTE: To upgrade DBeaver to the next version, use sudo rpm -Uvh dbeaver-<version>.rpm parameter.
MacOS DMG
You can try DMG or ZIP archive if you cannot use PKG installer for some reason.
To install DBeaver on MacOS, just drag-and-drop the DMG archive to your disk.
NOTE: DBeaver requires Java 1.8 to be installed, so you need to install JDK 1.8+ prior to installing DBeaver.
Menu Bar
By default, the menu bar contains the following menus:
File menu contains menu items for the creation of files, folders, projects, database connections, database projects, and ER diagrams as
well as Import and Export items.
Edit menu contains global commands like Cut, Copy, Paste, and Delete targeted at the active element.
Search menu provides options to search among files, database objects and across data.
SQL Editor menu is for opening SQL Editor and managing its appearance.
Database menu allows managing database drivers, connections and transactions as well as reconnecting to and disconnecting from a
database.
Window menu includes items to manage the look of DBeaver window: show/hide and minimize/maximize views and editors, display bars,
split editors, and manage other preferences.
Help menu contains links to information and help resources, as well as menu items to check the version number and availability of updates.
You can customize the menu bar and the list of menu items to display, for this, go to Window -> Customize Perspective -> Menu Visibility
tab.
Toolbar
The toolbar contains buttons for basic and most frequently used commands:
Some of the buttons are enabled (colored), others are disabled (greyed). The sets of enabled and disabled buttons change depending on which
editor is currently active in the workspace. Only enabled buttons are applicable to the active view or editor.
You can customize the toolbar, for this, go to Window -> Customize Perspective -> Tool Bar Visibility tab.
You can hide or show the toolbar in the application window. To do it, on the Window menu, click Appearance -> Hide Toolbar / Show Toolbar.
Shortcut Bar
DBeaver user guide 5/194
There are two shortcut bars - on the left and on the right side of the workspace zone. Shortcut bars host shortcuts of views and editors and
appear if at least one view or editor is minimized, otherwise they are hidden.
Editors are windows in which you can interact with the content of files and databases. For more information about particular editors, see Editors
article.
Both views and editors can appear as separate windows or as tabs stacked with other views/editors in a tabbed window. The following image
shows the title bar of a tabbed window. If tabs do not fit in the title bar of a tabbed window, they become hidden. To see the list of hidden tabs,
click the Show List icon that also indicates their number:
There can be several views and editors simultaneously open in the workspace but only one of them can be active at a time.
You can change the layout of the workspace by opening and closing views, docking them in different positions in the workspace, collapsing
them to the shortcut bar, or expanding them to occupy the whole workspace and restoring to the latest docked position.
As a separate window with a vertical or horizontal layout in any zone of the workspace
To dock a view to a position in the workspace, press and hold the title bar of the view, then drag and drop it onto the desired position.
You can resize the view and editor windows. To resize, place the cursor to the border of the window to see it change to a double-ended arrow,
then click and drag the border to the needed size.
To close a view or editor, click the Close button or right-click the title bar of the view / editor and then click one of the options on the context
menu (they change depending on the configuration of windows):
Close Others (for editors and views that appear as tabs in tabbed windows) - to close all tabs of the current tabbed window except the
active tab
Close Tabs to the Right / Left (also for tabbed windows) - to close all tabs of the current tabbed window that are located to the right / left
of the active tab
Close All - to close all tabs of a tabbed window (close the window)
The Maximize button changes to the Restore button when a view or editor is maximized.
To maximize a view or editor to the size of the whole workspace, do one of the following:
On the Window menu, click Appearance -> Maximize Active View or Editor.
When one view is maximized, other views and editors appear as shortcuts on the shortcut bar.
When you minimize a view, it wraps into a shortcut on the shortcut bar:
The shortcuts of views and editors may appear on the left or on the right shortcut bar depending on the latest docked position of the view or
editor.
On the Window menu, click Appearance -> Minimize Active View or Editor.
To restore a minimized view or editor to its previous position, click the Restore button on its shortcut in the shortcut bar. To restore a minimized
view or editor to a new position, click the view / editor name button under the restore button.
To open a view:
On the Window menu, click Show View and then, on the submenu, click the name of the view. Click Other if the view is not visible on the
submenu.
For Database Navigator, Projects, and Project Explorer views, on the Window menu, just click the name of the view.
Some views open on demand, for example the Search view opens to show search results.
To open the view menu, click the View Menu button in the upper-right corner of the view`s title bar, next to the Minimize button.
The toolbar contains buttons applicable to the objects displayed in the view. The set of enabled and disabled buttons depends on the object in
focus.
Views also provide context menus for objects they display. To open a context menu for an object, right-click the object.
Database Navigator contains a tree of objects, a toolbar and View menu which contain generic items. Each object in the tree has its own
context menu. The tree contains the following objects:
Folders -
Database connections - and other (icons differ depending on the database type)
Database objects - various depending on the database type, such as Tables , Views , Columns , Indexes , etc.
To open the view menu of Database Navigator, click the View Menu button ( ) in the upper-right corner of the window. For more information
on where to find the view toolbar and menu, please see the Views article.
Driver Opens the Driver Manager window that allows creating, editing and deleting drivers for databases. See
Manager Database Drivers for information about managing database drivers.
New
Opens the Create new connection wizard. See Create Connection for information about creating connections.
Connection
Active Displays a submenu which allows you to choose a project. See Projects and Projects view for information
(empty)
Project about projects.
Collapse
Collapses the tree to the root level
All
Link with Enabled when at least one editor is open, otherwise disabled - highlights the object in the tree that has its
editor editor open
The toolbar is located in the title bar of the window. Its buttons duplicate the menu items, except for the Active Project.
To open the context menu for an object, right-click the object in the tree. The following table summarizes context menu items for all types of
objects that may appear in the tree. Note that the presence or absence of context menu items for an object depends on the database and object
types.
Paste Inserts the copied object into a selected folder - most convenient for copy-pasting connections
Deletes an object
Delete WARNING! The Delete menu item removes the object not only from the tree but from the database
itself or the file system, and this action is irreversible.
Properties Opens the Properties for [object] window which allows viewing and modifying the object`s properties
Depending on the object, refreshes the object itself, or its parent, or its subnodes – mostly used for
Refresh
refreshing tables and schemes
Recent SQL Editor Opens the most recently opened SQL editor
Edit Connection Opens the Connection Configuration window that allows configuring connection settings
- For objects that DBeaver can create and delete, opens the object in a separate editor
View [objects]
- For objects that DBeaver cannot create and delete, opens the object in a separate viewer
- For objects that DBeaver can create and delete, opens the object in a separate editor
Edit [object]
- For objects that DBeaver cannot create and delete, opens the object in a separate viewer
Create new [object] Opens an editor in which you can specify properties and save the new object
Read Data in SQL Console Opens an SQL console displaying the object`s data
Read Data in SQL Console Opens an SQL console displaying the object`s data
Opens a submenu on which you can select the type of SQL query to generate:
- SELECT
- INSERT
- UPDATE
Generate SQL
- DELETE
- MERGE
- DDL
Clicking one of the items (for example INSERT) generates a relevant query in a separate window.
Export Table Data Opens the Data Transfer wizard that helps you select a format and export table data
Opens a window with existing database connections in which you can select a table to import data
Import Table Data
from
Tools Opens a submenu that provides tools for database backup and restore, vacuum, etc.
For information on how to filter database objects in Database Navigator, please see the Filter Database Objects article.
The Projects view displays all projects created in the system and provides tools to manage them. To open the Projects view, on the Window
menu, click Projects (or use ALT+W+P shortcut).
For information on how to change the view layout, please see the Application Window Overview article.
The projects are organized into a tree and all have the same high-level structure:
Connections – repeat the content of the Database Navigator view for this project. You can perform the same actions over the objects of
the databases as in Database Navigator.
ER Diagrams - contains ER diagrams that you can drag-and-drop here from other folders
Scripts – contains scripts that you can drag-and-drop here from other folders
The Projects view provides a toolbar and View menu which contain generic items. Each object in the tree has its own context menu.
To open the view menu of the Projects view, click the View Menu button ( ) in the upper-right corner of the window. The view menu contains
the following items:
Refresh Projects Refreshes the projects tree to display changes caused by creating modifying or deleting projects
The toolbar is located in the title bar of the window, its buttons duplicate the view menu items except for the Refresh Projects one.
To open the context menu for an object in the tree, right-click the object. For information about context menu items of all objects under the
Connections node of the tree, please see Database Navigator. The context menus of other nodes in the tree contain some basic items for
copy-pasting, renaming, deleting objects, managing their properties, creating folders, etc.
The Set Active Project menu item (for a project root node) makes the project active, that is visible in the Database Navigator.
The Link File (SQL Script) and Link Folder menu items allow creating links to files and folders in the file system.
For information on how to change the view layout, please see the Application Window Overview article.
The title of the Project Explorer includes the name of the project: Project – [Project name]. General is a project that initially exists in the system
by default.
The Project Explorer displays the content of a project with metadata. The content includes: Bookmarks, ER Diagrams, and Scripts. The
metadata appears in columns which you can hide or show.
The Project Explorer view provides a toolbar that contains the following buttons:
Configure columns visibility Opens a dialog box in which you can select columns to display in the view
To sort the metadata in the table by a certain column, click the column header.
NOTE: DBeaver EE version persists all executed queries in the internal database so execution history is available after the program restart.
Click the arrow next to the Transaction Log button in the toolbar and then click Query Manager on the dropdown menu:
The Query Manager logs all queries together with their execution statistics (execution time, duration, number of fetched/updated rows, errors,
etc.):
You can modify the look of the Query Manager by filtering queries and setting the number of entries displayed per page as well as you can
specify some storage settings, see the ‘Query Manager Properties’ section below.
To erase all entries from the Query Manager, click the Clear query manager log button ( ) in the view`s toolbar.
To change the number of entries displayed per page, enter the new number in the Entries per page field.
To set DBeaver to save the query log in a file, select the Save log to file(s) checkbox and then specify the file location in the Log files
folder field.
After you make all necessary changes to the settings, click Apply to apply the changes and keep the window open or click Apply and Close to
apply the changes and close the window. To discard all changes and return to the previous state, click Restore Defaults.
You can also open the Background Tasks view from some other views or editors using a special button, for example from the Search view.
The Background Tasks view shows the progress of such background tasks as search, SQL query execution, etc. The view shows data when
background tasks take some noticeable time and is useful when you want to track the progress of lengthy operations. If you open this view at a
short task, the view will be empty.
You can cancel the task in progress - click the Cancel Operation button ( ).
Properties tab appears for all objects, contains properties of the database object and its sub-entities, see further in this article
Data tab appears for tables and views and represents the Data Editor
ER Diagram tab appears for tables and schemas and displays ERD (Entity Relation Diagrams), see ER Diagrams and Database Structure
Diagrams
The object`s path shows the chain of all its parent entities. The entities are clickable: clicking an entity in the path, depending on its nature, either
shows its children or opens an editor or a settings window.
The content area of the Properties tab falls into two parts: the top pane displays properties of the current database object itself while the bottom
pane contains properties of the object`s sub-entities or some complex properties like DDL (an SQL description of the current database object).
Properties of sub-entities appear in side tabbed editors – to open such an editor, click the tabs on the left side of the area:
The toolbar at the bottom of the editor provides the following tools for the majority of sub-entities except for some specific ones like Permissions
(in PostreSQL) or SQL based views (DDL and Source):
Filter settings Opens the Filtering window which allows setting a custom filter, see Configure Filters
Opens the Configure columns dialog box in which you can select the columns to display or hide in the
Configure columns
current view
Refresh the Depending on the database type, refreshes either the current item or its parent or the whole database
selected items object – reloading data from the database
Create new [items] Creates a new item of the same type as currently displayed in the open view, for example, a column
Delete database
Deletes the item currently in focus
object
Revert to the last Reverts all changes made to the whole database object to the last saved state
saved state
Items in the tabbed editors have context menus which provide the same commands as those in the Database Navigator. To open a context
menu for an item, right-click the item.
You can select parts of the SQL code and apply generic commands such as copy-paste or SQL-specific commands like formatting – using the
context menu. To open the context menu, right-click the SQL code. See SQL Editor for information about SQL-specific commands.
NOTE: SQL Assist, SQL Template, and SQL Context Information menu items on the context menu are disabled if the SQL script is read-
only.
As the Data tab of the Database Object Editor available only for tables and views.
As the Results tab when you run a custom SQL query in SQL Editor
The Data editor allows viewing and editing the data of a database table or view. The central part of the Data editor is the data table. The editor
also provides two toolbars and a filter field:
To learn how many rows the data table contains, click the Calculate total row count button in the bottom toolbar. The number of rows appears
in a status field next to the button:
To learn about ways to navigate data in the data table, see Navigation article.
Applies filter criteria entered in the filter field above the data table, see Data Filters article for more
Apply filter criteria
information
Remove all
Removes all filters and orderings applied to the data
filters/orderings
Save filter settings Saves the current filter settings for the database object to apply next time when you reopen it in the
for current object editor, see details in Data Filters article
Custom Filters Opens the Result Set Order/Filter Settings window, see Data Appearance article for more information
Configure auto-
Allows configuring data auto-refresh settings, see Data Refresh article for details
refresh
Forward and Navigate forward and backward in the Data Editor history, see History section of Navigation article for
backward - history more information. The buttons are equivalent to pressing the key combinations: Alt+Left (backward)
navigation buttons and Alt+right (forward).
Chart Switches to chart view. For more details on charts, see Managing Charts article.
Saves all unsaved changes to the data such as adding, duplicating, deleting rows, inline editing of
Save
values, see Data Viewing and Editing article for information
Opens the Preview Changes window in which you can see changes that you have made to the
Script
data, see details in Data Viewing and Editing article
Edit cell value in Opens the cell in focus for editing in a separate editor or dialog box, see details in Cell Editor
separate dialog/editor section of Data Viewing and Editing article
Adds a new empty row below the current row, see details in Adding, Copying and Deleting Rows
Add new row
section of Data Viewing and Editing article
Copies the current rows and pastes the copy below the current row, see details in Adding, Copying
Duplicate current row
and Deleting Rows section of Data Viewing and Editing article
Colors the rows in focus in red to mark them for deletion, see details in Adding, Copying and
Delete current row
Deleting Rows section of Data Viewing and Editing article
Move to first row Moves the focus (highlighting) from the current to the first row of the table
Move to previous row Moves the focus (highlighting) from the current to the previous row of the table
Move to next row Moves the focus (highlighting) from the current to the next row of the table
Move to last row Moves the focus (highlighting) from the current to the last row of the table
Fetch next page of Fetches the next portion of data (next N rows) making it ready for display, see Scrolling Results
results Page section of Navigation article for more information
Fetches the whole result set making it ready for display, see Scrolling Results Page section of
Fetch all rows
Navigation article for more information
Panels Opens panels on the right side of the Data Editor, see Panels for information
Generate Mock Data Opens the Mock Data Generator window, see TBD for details
Rows count details Opens the Status details dialog box showing the timing details of fetching table rows
Every cell in the data table has a context menu – right-click the cell to open the menu. The context menu provides the following items:
Cut Cuts the content of the current cell or column to the clipboard
Copy Copies the content of the current cell or column to the clipboard
Advanced
Opens advanced copy submenu that allows copying data with preset formatting parameters
Copy
- For CLOB/BLOB data format, opens the contents of the cell in a new tab
Edit cell
- For all formats except CLOB/BLOB, opens a properties window for the cell
Hide
Hides the column currently in focus, see the Managing Display of Columns in Data Table section further in this article
column
Displays a submenu that allows selecting filter criteria for the data. The submenu contains the most common filters that
can be applied to the cell in focus – see details in Data Filters article.
Order/Filter
By default, DBeaver filters data by sending a request to the server (the Server-side results ordering checkbox selected).
To filter data on the client side using DBeaver`s internal algorithm, clear the checkbox.
View/Format Opens a submenu that provides tools for formatting and modifying the view of data, see Data View and Format
Navigate Opens a submenu that helps users navigate throughout the data table, see Navigation
Layout Changes the layout of data, see the Table vs. Record Views section of the Data View and Format article
Opens the Data Transfer wizard that guides you through the steps to select a format and export data
Export
NOTE: The system exports the whole result set including records that are not visible in the screen and preserves all
Resultset
applied data filters and ordering.
Generate
Opens a submenu on which you can select the type of SQL query to generate
SQL
Refresh Refreshes the whole results set including all items that are not visible in the screen
For more information about using the Data Editor, please see the subsections of this article - open them via the contents tree on the right.
By default, DBeaver limits the number of rows fetched to 200 (you can change this value in the main toolbar or in preferences). The maximum
number of rows that DBeaver fetches to display in the Data tab is specified in the Maximum result-set size field in the main toolbar: `
Once you scroll to the last row of the current result portion, DBeaver fetches the next portion (next N rows). You can disable this behavior in
preferences. You can also manually fetch the next portion of data equal to the maximum result set size. To do so, click the Fetch next page of
results button ( ) in the bottom toolbar or right-click the table and click Navigate -> Fetch next page on the context menu.
The number of rows fetched is visible in the status field under the data table:
To see the details, click the details button in the status field.
To fetch the whole result set, click the Fetch all rows button ( ) in the bottom toolbar or right-click the table and click Navigate -> Fetch All
Data on the context menu.
NOTE: Be careful when fetching the whole result set. If it is huge, it might cause program hangup or out-of-memory errors.
You can navigate through the result set using standard shortcuts Home , End , PgUp , PgDown , Ctrl+Home , Ctrl+End .
Data Rows
To jump to the first or last row or move one row forward or backward, use the navigation buttons in the bottom toolbar or on the context menu:
To jump to a specific line, right-click anywhere in the table and click Navigate -> Go to Line on the context menu. Then in the Go to Row dialog
box, enter the row number and click OK.
History
DBeaver remembers the history of such actions as applying filters to data, opening reference tables or other tables via links. You can navigate
among such tables and filtered views:
Hovering over these buttons displays the names of the tables or filtered views saved in the history.
Navigation Links
In the data editor, you can navigate to linked tables – the ones that the current table references. To open a linked table, click the Navigate link
icon in a cell that contains it:
Another way is to right-click such a cell and click Navigate -> Navigate link on the context menu. The linked table opens in the same editor,
filtered by the cell value:
NOTE: The table name in green above the table indicates which table is currently open in the editor.
To navigate back and forth between the initial and linked tables, use the history navigation buttons ( ) in the top toolbar of the editor.
You can open a linked table in a separate editor. To do so, simultaneously hold the Ctrl key and click the Navigate link icon ( ) in the cell.
To open this window, click the Custom Filters button ( ) in the top toolbar of the editor or click the Configure button ( ) and then click
Order/Filter on the dropdown menu.
Another tool for managing data appearance are column headers. In the data table, every column header contains three elements each having its
own function: Data (column) type icon, column name, filter icon, and ordering icon.
Simply clicking the column name or column type icon highlights the whole column.
You can click the column type icon and then drag and drop the column to a different position in the table.
You can click the column name and then drag the cursor right or left to highlight multiple columns.
Clicking the ordering icon allows ordering the data in the column in ascending or descending order - see 'Ordering Data in Columns' section
further in this article
Clicking the filter icon allows filtering the data by a cell value, see [TBA]
To order data by several columns, go column by column, setting the order with the Ordering icon, starting from the column by which you want to
order data first.
2. Click the Custom Filters button ( ) in the top toolbar of the editor to open the Result Set Order/Filter Settings window (see above):
c) To easily move the ordering setting from column to column, you can use the Move up/down/to top/to bottom/ buttons:
To reset the data ordering to its initial state, click the Reset button ( ) in the same window.
Also, to remove all ordering settings, click the Remove All Filters/Orderings button ( ) in the top toolbar of the Data Editor.
To display or hide columns in the data table, in the Result Set Order/Filter Settings window:
1. Select the checkboxes next to the columns that you want to see in the table and clear the checkboxes next to those that you want to hide.
2. Use the Show All ( ) and Show None ( ) buttons at the bottom of the window.
1. Click the icon in the column header and drag-and-drop the column to a new position.
2. To sort column alphabetically, in the Result Set Order/Filter Settings window (open by clicking the Custom Filters button ( ) in the top
toolbar of the editor), click the Sort button ( )
3. In the Result Set Order/Filter Settings window, click the column to set focus to it and then move it using the navigation buttons: (
)
To see data in a grid view, similar to Excel spreadsheet, click the Grid button ( ) in the bottom toolbar of the editor.
To switch to the plain text view, click Text ( ) in the bottom toolbar.
To switch to JSON view (available in EE version only for MongoDB documents and JSON tables), click JSON in the toolbar.
To switch to XML view (available in EE version only for XML tables), click XML in the toolbar.
The Record view is useful if the table contains a big number of columns. To navigate from row to row of data, use the navigation buttons in the
To return back to the standard table view, click the Record button again.
Rows Coloring
In the data editor, you can color all rows that have the same value as a particular cell of a certain column. To do so, right-click the cell and click
View/Format -> Color by {column name} on the context menu:
Then choose the color in the palette window that appears and click OK. The current row and all other rows that contain the same value change
their color to the one you selected:
To remove the coloring by a particular column, right-click the cell again and click View/Format -> Reset color by [column name] on the
context menu. To remove coloring from all rows, right-click anywhere in the table and, on the context menu, click View/Format -> Reset all
colors.
You can change the color preferences in the Preferences window: click Window -> Preferences on the main menu. Then, in the window, in the
navigation pane on the left, expand General and then Appearance, and then click Colors and Fonts:
The Transformer settings window opens showing the value in the chosen format. Click OK to apply the change:
To roll back the changes to the default format, right-click any cell in the column, and on the context menu, click View/Format -> View as ->
Default.
To configure the format for the current database only, select the Datasource "[Connection name]" settings checkbox. To configure the
settings globally, to all databases that you have in DBeaver, click Global settings.
You can specify the locale for the data format in the Locale area, then, in the Type dropdown list, click the name of the data type and then, in
the Settings table, click the required format.
To apply the changes and make them visible in the table, click Apply and Close and then refresh the window ( F5 ).
One of the ways is to use the filter field above the table next to the top toolbar. To filter data, enter an SQL expression into the field and click the
Apply filter criteria button ( ) next to the field or press Enter .
You can apply ready-to-use SQL expressions or SQL expression templates via the context menu. To select a ready SQL expression or a
template, press F11 or right-click the cell, then click Order/Filter on the context menu and then click one of the expressions.
The third way is to filter data by a cell value using the filter icon in the column header. To filter data this way, click the filter icon in the column
header and then double-click the cell value in the Filter by column value dialog box:
The data updates dynamically. To remove a filter, click the Remove All Filters/Orderings button ( ) in the top toolbar of the editor.
You can save the current filter settings for the database object to apply next time when you reopen it in the editor. To save the current filter
settings, click the Save filter settings for current object button ( ) in the top toolbar.
You can also schedule auto-refresh to happen on a regular basis. To auto-refresh the database on schedule:
1. Click the Configure auto-refresh button ( ) on the top toolbar of the editor. The Auto-refresh configuration dialog box opens:
2. Alternatively, click the arrow next to the Configure auto-refresh button ( ) to open the auto-refresh menu:
On the menu, you can click one of the preset options or click Customize to open the Auto-refresh configuration dialog box, see option 1.
When you perform either of the two alternative options above, the system starts refreshing the data as scheduled and the Configure auto-
refresh button changes to Stop auto-refresh button ( ). To stop the auto-refresh, click the Stop auto-refresh button or click the arrow next to
it and click Stop on the auto-refresh menu.
When you make any changes to the data and save them using steps described in this section, the changes apply to the database itself. Prior to
saving the changes, you can preview the SQL script that the system sends to the database to apply the changes there. To see the SQL script,
after making changes and before saving or discarding them, click the Script button ( ) in the bottom toolbar. The Preview Changes
window opens, in which you can only view the SQL script and copy it, if necessary:
Inline Editing
Inline editing is when you modify the content right in the cell. To edit a cell inline, in the table do one of the following:
Right-click the cell and click Inline edit on the context menu.
The cell becomes editable, now you can change its value.
To set the cell value to NULL, right-click the cell and click Set to NULL on the context menu.
To save the changes, click the Save button ( ) in the bottom toolbar. To discard the changes, click the Cancel button ( ) in the
bottom toolbar.
NOTE: Both the Save and Cancel buttons become editable only when you make changes in a cell and then jump to another cell.
Cell Editor
To edit data in a cell using a separate editor, do one of the following:
Right-click the cell and click Edit cell on the context menu.
Click the cell to set focus to it and press Shift+Enter or click the Edit cell value in separate dialog/editor button ( ) in the bottom
toolbar.
For cells of CLOB/BLOB data format, this action opens the contents of the cell in a new tab. For all other formats except CLOB/BLOB, this
action opens a properties window for the cell:
NOTE: DBeaver has full support of CLOB/BLOB data types. You can view values, edit them and save back to the database. You can open
CLOB/BLOB value in a separate editor (press Shift+Enter on a selected cell). You can save/load LOB value to/from regular files. DBeaver can
recognize that some BLOB column keeps images (gif, png, jpeg, bmp). In this case DBeaver shows LOB contents as image. It is convenient to
open value view panel (press F7 ) and browse images.
You can copy any row or several rows currently in focus. To copy rows, highlight one or more rows and click the Duplicate current row button (
) in the bottom toolbar. The duplicate rows appear below the rows in focus.
To delete a row or rows, set focus to the rows and click the Delete current row button ( ) in the bottom toolbar. The rows are colored red,
which means that they are marked for deletion and will be deleted when you save the changes.
To save any of such changes, click the Save button ( ) in the bottom toolbar. To discard the changes, click the Cancel button (
) in the bottom toolbar.
Copying/Pasting Cells
To copy the content of one or several cells to the clipboard in TAB-delimited format, press Ctrl+C or right-click the cell or cell selection and click
Copy on the context menu. Then you can paste the copied selection into some spreadsheet editor (similar to Excel).
DBeaver provides the advanced copy option that allows configuring additional copy settings (copy with column names/row numbers, configure
delimiter and choose value format). To copy cells with additional settings, press Ctrl+Shift+C or right click the cell(s) and click Advanced Copy
on the context menu.
Pressing Ctrl+V on a cell pastes the copied content into the cell applying appropriate data type conversion. The Advanced Paste option on the
context menu or pressing Ctrl+Shift+V pastes several cells.
To define the key, select some of the columns or click Select All and then click OK. To remove a unique key from a table, click the Configure
button in the bottom toolbar and then click Clear virtual unique key.
This additional pane appears only when you open one of the four panels:
Calc
Grouping
Metadata
To open panels, click Panels in the bottom toolbar. By default, the Value viewer panel opens. Alternatively, you can open the Value panel by
pressing F7 on a cell. To open the other panels, click the down arrow next to the Panels button and click the name of the panel on the menu:
To close panels, click the Panels button again or click the standard Close (cross) icon in the upper right corner of each panel.
You can also show and hide panels by clicking the Configure button ( ) in the bottom toolbar and then Toggle result panels on the
Configure dropdown menu.
Value Viewer
The Value viewer panel displays just one value that is currently in focus and allows editing it.
Content
viewer Opens a menu with a set of options for content view change.
settings
Save to
Allows saving the content to a local file. NOTE: This button is only available for XML, JSON and Binary content.
file...
Load
from Allows uploading data from a local file. NOTE: This button is only available for XML,JSON and Binary content.
file...
Apply Displays in the data table the changes made in the Value viewer. NOTE: This button does not save changes made
cell to the database. To save the changes in the database, you need to use the Save button in the bottom toolbar of
value the Data Editor..
Еnables automatic display of changes made in the Value viewer in the data table. When auto-saving is enabled,
Auto-
the changes appear in the data table at the same time when they are made in the Value viewer.NOTE: This button
apply
does not save changes made to the database. To save the changes in the database, you need to use the Save
value
button in the bottom toolbar of the Data Editor.
Metadata Panel
The Metadata panel displays metadata for each cell in the row containing the cell currently in focus. You can just view the metadata.
Calc Panel
The Calc panel is useful for getting basic statistics across data in several columns and rows:
To see data grouped by columns, click the Group by columns button ( ). To remove the grouping by columns and see summary values for all
columns, click the same button again.
By default, the panel applies and displays results for two functions – Count and Count Distinct. To add other functions, click the Add function
( ) button in the toolbar of the panel or right-click one of the rows in the Aggregate panel and click Add function on the context menu and
then click the name of the function. The following functions are available:
Sum
Average
Minimum
Maximum
Median
Mode
To remove an individual function, click the function and then click Remove function ( ) in the toolbar of the panel, or right-click the function
and click Remove function on the context menu. To remove all functions, click Reset ( ) in the toolbar or on the context menu.
You can copy the value of a particular function to the clipboard - right-click the row and click Copy Value on the context menu.
You can also copy all functions with their values - right-click in the table and click Copy All on the context menu.
Grouping Panel
The Grouping panel provides tools to calculate statistics based on a table of a custom SQL query. It uses GROUP BY queries to extract unique
values for COUNT (default), SUM, AVG, MIN, MAX and other analytics functions displaying the results in dedicated columns.
To obtain the grouping results for one or more columns of a data table, open the Grouping panel, then, in the results table, put the cursor onto
the data type icon of the table header so that the cursor turns into a hand pointer ( ), and drag-n-drop the column(s) onto the panel:
If you add several columns to the panel, DBeaver groups data in the order in which the columns go and calculates statistics based on the
grouping.
2. In the Grouping Configuration window, in the Functions area, click Add, then type the function into the new row:
You need to indicate the column name in brackets. COUNT is the only function that supports * instead of column name.
3. Click OK:
To remove a function, in the same Grouping Configuration window, click the function and click Remove and then OK. To remove all functions,
click Clear and then OK.
You can also add or remove columns using the same Grouping Configuration window. To add a column:
2. In the Grouping Configuration window, in the Columns area, click Add, then type the column name into the new row (you can use auto-
complete options DBeaver provides), and then click OK:
To remove a column, in the Grouping Configuration window, in the Columns area, click the column name, then Remove and OK. To remove all
columns, click Clear and OK.
Another way to remove a column is to click the column and then the Remove grouping column button ( ) in the panel`s toolbar. Clicking the
Clear grouping button ( ) removes all results from the Grouping panel.
You can easily visualize your data by creating a chart bar both in SQL Editor and Data Editor.
To build a bar chart in the SQL Editor, press the Charts button in the left vertical toolbar of the query results area.
To build a chart in the Data Editor, press the Charts button in the left vertical toolbar.
Note, that by default, the data for axis Y is taken from the first column of the table containing numeric values.
To build a chart in Grouping Panel, press the Charts button in the left vertical toolbar.
Setting Axis X
1. In the Column drop down list of available columns select a column whose data will be used on axis X of the bar chart. Make sure you
choose unique columns for X axis.
Setting Axis Y
1. In the Column drop down list of available columns select a column whose data will be used on axis Y of the bar chart. Note, that only
columns containing numeric data can be used for axis Y.
Name Description
Copying to clipboard
You can copy a chart to clipboard by selecting the Copy to clipboard option in the chart's context menu.
Exporting Charts
You can export а chart into PNG format by selecting the Save as... option in the chart's context menu.
Printing Charts
You can print а chart by selecting the Print... option in the chart's context menu.
The SQL result opens in a separate window where you can view and copy it:
To use table names in the format '[schema name].[table name]', select the Use fully qualified names checkbox.
To wrap the SQL query into one line, select the Compact SQL checkbox:
In the Data Editor, you can edit XML/JSON data right in the table cells, however, a big amount of data may require a larger editor, you may want
to save XML/JSON scripts to a local file or upload this type of data from a local file.
To open the full-size XML/JSON editor click the cell containing data in XML/JSON format and press Shift + Enter .
By default the editor opens on JSON tab, open XML tab to modify XML data.
To upload data from a local file, press the Load from file... button .
To save the content to a local file, press the Save to file... button .
To switch between the formats, press the Content viewer settings button and select the format.
Use Word Wrap feature that wraps the text within a screen.
Use Auto Format feature to automatically change the appearance of XML/JSON script (fix spaces around operators / commas, fix indentation,
To change data format settings use option Window -> Preferences in main menu.
In the Preferences dialog box go to Database -> Editors -> DataEditor -> Data Formats.
In the right area of the opened Data formatting preferences dialog window go to Result Sets -> Data Formatting and select the Datasource
settings check box in the left area to customize the data format settings.
To create a data format profile press the Manage Profiles button. In the opened dialog window press button New Profile, define the name and
press Create.
Locale
Date
Timestamp
Numbers
Date
The default value for this data type is yyyy-MM-dd.
Time
The default value for this data type is HH:mm:ss
Timestamp
Numbers
The following parameters can be configured from thisy type of data:
Use Grouping - Long numbers can be hard to read if they have too many digits. For example, the factorial of 30 is 33 digits long! Select
this check-box to enable Grouping mode, in which digits are displayed in clumps of 3 or 4 (depending on the current radix) separated by
commas.
Maximum integer digits - Defines the maximum number of digits to the left of the decimal point.
Minimum integer digits - Defines the minimum number of digits to the left of the decimal point.
Maximum fraction digits - Defines the maximum number of digits to the right of the decimal point.
Minimum fraction digits - Defines the minimum number of digits to the right of the decimal point.
Use data type scale for fraction digits - Some numeric columns or parameters may have a predefined scale, that is the maximum
number of digits to the right of the decimal point. Select this check-box if you want the predefined precision to be used.
Rounding mode - Specifies a rounding behavior for numerical operations capable of discarding precision. Each rounding mode indicates
how the least significant returned digit of a rounded result is to be calculated. To learn more, please refer to Oracle documentation.
To change the data type format, change the value displayed in the Pattern area,save the changes made by pressing the Apply button and
observe the expected result in the Sample field.
Datasource Settings
Press Datasource settings link to change data format settings for a particular datasource, then adjust the settings in the opened dialog box.
Entity Relation Diagrams (ERD) are graphic presentations of database entities and relations between them. DBeaver allows viewing diagrams
of existing tables and whole database schemas, see Database Structure Diagrams, as well as create custom diagrams, see Custom Diagrams.
Both types of diagrams provide the same tools to adjust their view and structure. They can be printed and exported to image file formats.
Select – supports both, single and multi-select modes. To select a single element (table, connection, entity inside a table) in a diagram, just
click that element. To select multiple elements, similar to using the Marquee tool, click outside the first element and draw until all elements
you need are in focus:
Structure Adjustment
NOTE: All changes to existing database schemas cannot be saved and are intended for exploration purposes only.
You can do the following structure changes in diagrams.
Add new tables to a diagram by drag-n-dropping them onto the diagram field from the Database Navigator.
Rearrange tables in the diagram by dragging them all over the space. You can select several tables and drag them to a new location.
Auto-arrange tables into a compact view after manual rearrangements: click the Arrange Diagram ( ) in the toolbar or on the context
menu (right-click anywhere on the diagram tab).
(Available for Custom Diagrams only) - connect tables with a connector: click the Show Palette button ( ) in the upper-left corner of the
diagram tab and then, in the Palette panel, click Connection:
(Available for Custom Diagrams only) - remove tables and connections: right-click the table or conection and click Delete on the context
menu or just click the table or connection and press Delete .
View Adjustment
You can adjust the view of any diagram in the following ways:
Modify attributes visibility: Right-click the diagram and, on the context menu, click Show Attributes and then one of the options:
None - no attributes
Modify attributes presentation: Right-click the diagram and, on the context menu, click View Styles and then one of the options:
Show Icons
Show Nullability
Show Comments
Change the color of entities/notes: Right-click the header of the entity or comment and then click Set color on the context menu. Then you
can select the color and click OK.
For elements located in front of/behind others, bring an element to front or send to back: Right-click the element and then click Bring to
front / Send to back on the context menu.
Zoom the diagram in/out: Click the Zoom In/Zoom Out buttons or choose the scaling value in the dropdown list in the toolbar:
Refresh
To see changes made to the database schema by other users, you might need to refresh the diagram: click Refresh Diagram ( ) in the
toolbar.
Notes
You can create notes only in Custom Diagrams. To create a note, click the Show Palette button ( ) in the upper-left corner of the diagram tab,
then, in the Palette panel, click Note and then click anywhere in the diagram tab. Now you can double-click Note box to enter the note text:
Diagram Export
You can export (save) a diagram as an image (PNG, GIF, BMP formats) or as a file in GraphML format. To export a diagram, click Save
diagram in external format ( ) in the toolbar.
Diagram Printing
To print a diagram, press CTRL+P or click Print Diagram ( ) in the toolbar.
Settings
To modify the diagram settings, click Configuration ( ) in the toolbar.
ER diagram for a table shows the table itself and its relations with other tables inside the schema. To view the ER diagram for a table or view,
double-click the table or view in the Database Navigator and then, in the Database Object Editor, switch to the ER Diagram tab:
To view the ER diagram for a full database schema, double-click the schema name in the Database Navigator or the previous node in the path
(usually - Tables):
NOTE: Table and schema diagrams are read-only. You can rearrange the layout, drag-n-drop elements inside a diagram but you cannot save
the changes state or delete/add anything. This is because the diagrams represent the actual state of databases.
1. On the DBeaver main menu, click File -> New. Then in the new diagram wizard, click DBeaver -> ER Diagram, and then Next:
2. In the Project Explorer view, right-click the ER Diagrams node and then click Create New ER Diagram on the context menu.
In both cases, in the Diagram Create Wizard, specify the diagram name and (optionally) choose initial diagram contents (set of tables):
You can also add notes and custom relations (associations) using the ERD palette on the left side of diagram tab, see details in ER Diagrams
article. For example, to create a diagram similar to the one shown at the beginning of this article, you need to:
1. Add required tables and relationships between them and move them around to create a well-shaped structure (see Structure Adjustment
section of the ER Diagrams article).
3. Stretch the notes to cover the intended tables, then send the notes to back, and then set color to the tables and notes (see the View
Adjustment section of the ER Diagrams article).
Click this connection in the Database Navigator view and press F3 or click SQL Editor -> SQL Editor on the main menu. Alternatively,
you click SQL Editor on the context menu of this connection. DBeaver opens the Choose SQL script editor with saved SQL scripts linked
to this connection. CLick the SQL script to open it in a separate tab.
Click Recent SQL Editor on the context menu for this connection or on the main menu (SQL Editor -> Recent SQL Editor). This opens
the latest used SQL editor. You can also open the most recent SQL editor using Ctrl+Enter shortcut in the Database Navigator view.
If you need to create a new SQL script, on the main menu, click SQL Editor -> New SQL Editor or press F3 and then click New Script in
the Choose SQL Script window.
DBeaver uses SQL syntax highlighting which depends on the database associated with the script. Different databases have different sets of
reserved keywords and system functions.
NOTE: SQL Editor for a connection is different from SQL console for a table or view (right-click the table and click Read data in SQL console)
in that, unlike the console, it can save scripts and changes to them.
You can see all your saved SQL scripts in the Project Explorer view in the Scripts folder.
The SQL editor includes the script panel at the top and results panel at the bottom:
Results Panel
The results panel displays tabs with results in various formats. The tabs resulting from script execution represent instances of the Data Editor.
You can create, edit and execute SQL scripts in the script panel and then see the results in the result tabs.
The Output tab contains all server-side database messages/warnings generated by a database when you execute queries. This feature is
supported only by a few database engines (Oracle, SQL Server and some other ones).
To toggle (hide/show) the results panel, press CTRL+6 or right-click anywhere in the script pane and, on the context menu, click Layout ->
Toggle results panel.
To maximize the results panel, press CTRL+Shift+6 , or double-click the results tab name, or right-click anywhere in the script panel and, on
the context menu, click Layout -> Maximize results panel.
To switch between the script panel and the results pane, press Alt+6 or right-click anywhere in the script panel and, on the context menu,
click Layout -> Switch active panel .
To position both panels horizontally, right-click anywhere in the script panel and, on the context menu, click Layout -> Horizontal.
To position both panels vertically, right-click anywhere in the script panel and, on the context menu, click Layout -> Vertical.
Hyperlinks
You can press and hold Ctrl and at the same time move the mouse over SQL text. If DBeaver recognizes some identifier as a table/view name,
it presents it as a hyperlink. You can click the hyperlink to open this object`s editor:
The Select Data Source dialog box opens. In the tree of connections, click the required connection and then click Select. To disassociate the
SQL Editor with any connection, click None:
To change the active schema, press Ctrl+0 or click the Active Catalog/Schema box in DBeaver`s main toolbar:
The Choose catalog/schema dialog box opens. In the list of schemas, double-click the required schema:
To configure the set of columns to be visible for each schema in the dialog box, click the Configure columns button ( ).
You can easily associate the SQL Editor with the connection that is currently in focus in the Database Navigator (the focus can be on any object
of the connection - a table, a folder, etc.) - click the Set connection from navigator button in DBeaver`s main toolbar:
The reverse action is also possible: you can set the focus of the Database Navigator to the active connection of the SQL Editor - press
Ctrl+Shift+, or click the arrow next to the Set connection from navigator button in DBeaver`s main toolbar and then click Link with editor:
To see available templates, press Ctrl+Alt+SPACE or right-click the line in the script pane and click SQL Template on the context menu. A box
appears with a list of available templates:
Right-click the line where you want to insert a template expression, click SQL Template on the context menu, and then, in the list of
templates, double-click the required template name.
The template SQL statement appears in the script.
To edit/add/remove templates, click Configure ( ) in the bottom toolbar, then click Preferences -> SQL Editor -> Templates. For more
information about managing templates, please visit Eclipse Website.
Variable Description
Specifies the cursor position when the template edit mode is left. This is useful when the cursor should jump
${cursor}
to different place than to the end of the template upon leaving the template edit mode.
${dollar} Takes the dollar sign $. Alternatively, two dollar signs can be used: $$.
DBeaver-specific templates:
Variable Description
${table} Takes the current table name (from the active catalog/schema)
To perform some object name auto-complete, press Ctrl+Space or right-click the required place in the query and click SQL Assist on the
context menu. DBeaver searches for potentially suitable objects in already loaded database metadata and in the database system tables.
When you start typing an SQL keyword in a statement, DBeaver offers auto-complete options as well.
Another auto-complete function is search for completion only within already entered identifiers - press Ctrl+Shift+Space .
To format a script to upper or lower case, highlight the SQL text, then right-click it and click Format -> To Upper Case / To Lower Case,
respectively, on the context menu.
To comment out an SQL line, press Ctrl+/ or right-click the line and click Format -> Toggle Line Comment on the context menu. To
uncomment a commented line, manually remove the commenting syntax, or press the same button combination, or right-click the line and click
the same item on the context menu.
To comment out a block of text, select the text, then press Ctrl+Shift+/ or right-click it and click Format -> Toggle Block Comment on the
context menu. To uncomment a commented block of text, either manually remove the commenting syntax or select the same block of text, right-
click it and click the same item on the context menu or press the same button combination.
To execute a query under cursor or selected text, press Ctrl+Enter or right-click the query and click Execute -> Execute SQL Statement on
the context menu. You can do the same using the main toolbar or main menu: SQL Editor -> Execute SQL Statement . This executes the SQL
query under cursor or selected text and fills the results pane with the query results.
To execute a query under cursor in a separate tab, press CTRL+\ or right-click the query and click Execute -> Execute SQL in new tab on the
context menu. The same can be done using the main toolbar or the main menu: SQL Editor -> Execute SQL in new tab. This executes the
SQL query under cursor or selected text and creates a new results tab.
To execute the whole script, press Alt+X or click Execute -> Execute SQL Script on the context menu or SQL Editor -> Execute SQL Script
on the main menu or in the main toolbar. This executes all queries in the current editor (or selected queries) as a script. DBeaver parses queries
one by one using a statement delimiter (“;” by default) and executes them consecutively. You can configure the script execution behavior in the
SQL editor preferences (Right-click the script and click Preferences on the context menu).
To execute a script opening each query results in a separate tab, press Ctrl+Alt+Shift+X or click Execute -> Execute Statements In Separate
Tabs on the context menu or SQL Editor -> Execute Statements In Separate Tabs on the main menu or in the main toolbar. The executes all
queries in the script, but opens multiple result tabs. Each script query is executed in a separate thread (that is, all queries are executed
simultaneously). NOTE: Be careful with this feature. If you execute a huge script with a large number of queries, it might cause unexpected
problems.
You can also use anonymous parameters (?), but you will need to enable them in SQL editor preferences:
Execution Plan
If a database driver supports execution plan visualization, you can see the execution plan of the current query (under cursor) by pressing
Ctrl+Shift+E or clicking Explain execution plan on the context menu or in the main toolbar: The execution plan command generates a tree
of query execution as one of the result tabs and is convenient in estimating if the query/script is quick/optimal enough:
Row Count
If you want to know how many rows an SQL query will produce, you need to apply the Row Count feature – highlight and right-click the SQL text
and then click Execute -> Select row count on the context menu:
The Data transfer wizard opens. Go through its steps to complete the export of the query.
Name Description
Miscellaneous
To select the current query row count, press Ctrl+Alt+Shift+C .
To open the definition of the database object currently in focus (under cursor) in a viewer/editor, press F4 .
To remove a join between the tables click on it. The connection will be highlighted. Then, press Delete or use the Delete option in the context
To build a SELECT query you need to select columns in the tables you added. To select a column click the check-box next to its name - the
column will be added to the Columns tab of the Query Settings Editor and SELECT query will be added to the SQL script area automatically.
To open Query Settings Editor use Visual builder query settings button in the vertical tool bar on the left.
Columns
Columns tab of the Query Settings Editor contains all the columns you added by selecting column names in Visual Builder main window. In
this tab you can add and remove columns using Add and Remove buttons correspondingly.
To add a column, press Add button and a new instance will be added to the table. Click on the first cell in Column or Expression column
and select a column from the list of available columns displayed in the dropdown list appeared.
To remove a column, click on the row containing its name and press the Remove button on the right.
To change the display order of columns in the result table use Move Up/Down buttons .
You can also define a user-friendly name of the column to be displayed in the result table. To set a user-friendly name click on a cell in Alias
column and insert the name. The change will be immediately displayed in the SQL script area.
To add a new conditional expression use the Add button on the right - a new instance will be added and the default conditional expression
WHERE will be added to the SQL script area automatically. This default conditional expression can be then adjusted to the one you need:
Left Operand setting defines the left operand of the conditional expression. To set the left operand, click the cell in the Left Operand
column and a drop down list of all available columns will be displayed. Select a column you want to use as the left operand in your
conditional expression or insert a digit.
Operation setting defines the comparison rule between the left and the right operands of the conditional expression. To set a comparison
rule, click the cell in the Operation column and select the rule you need from the drop down list appeared.
To remove a conditional expression, click on the row containing the expression and press the Remove button on the right.
Joins
All the joins existing between the tables in Visual Query Builder main window are displayed in the Joins tab of Query Settings Editor.
Joins cannot be added or removed by means of Query Settings Editor, however, the following join settings can be adjusted here:
Type - defines the type of the join. Click the cell in the Type column - a drop down with available join types will be displayed. Select the
required option from the list by clicking on it.
Sorting
In Sorting tab you can set the order of rows in the result table.
To add a new sorting condition press the Add button on the right and the default conditional expression ORDER BY will be added to the
SQL script area automatically. This default conditional expression can be then adjusted to the one you need:
Once a new condition is added, click the first cell in Conditions or Expressions column and a drop down list of all available columns will
appear. Select the required column by clicking on its name.
Miscellaneous
In Miscellaneous tab it is possible to autosave on SQL-editor switch by selecting the Autosave on SQL-editor switch check-box.
To save a script to the current project space, just press Ctrl+S or right-click the script and click Save on the context menu:
You can find the script saved this way in the Project Explorer view in the Scripts folder.
To save a script to the file system, right-click the script, click File -> Save SQL script on the context menu and then select the folder in the file
system.
You can also, click SQL Editor -> Save SQL script on the main menu:
Loading Scripts
To load a script stored in the file system to the SQL Editor, press CTRL+SHIFT+O , or click SQL Editor -> Load SQL script on the main menu,
or right-click the script panel and click File -> Load SQL script on the context menu:
Renaming Scripts
To rename a script, right-click anywhere in the script panel, click File -> Rename SQL Script on the context menu or press CTRL+F2 :
Reverting Changes
If you want to revert all changes made to the current SQL script and return it to its initial state (reload from disk), right-click anywhere in the
script panel and click File -> Revert on the context menu.
SQL Console
In some cases you might want to execute a query and do not save it in a script. For example when you read table data using "Read data in SQL
console" or open procedure/function source from DDL editor. SQL console doesn't has an associated .sql file. Its contents will be lost when you
close it.
The debugger provides the required server API for debugging PL/SQL procedures with:
Breakpoint management;
Step-by-step tracing;
Installation
As the first step, you need to install the plugin_debugger extension in your PostgreSQL database. It is free and open source. You can
download the source code here. And you can find the installation README file here.
3. Edit your postgresql.conf file and modify the shared_preload_libraries config option to look like the following: shared_preload_libraries
= '$libdir/plugin_debugger'.
5. Run the following command in the database or databases that you wish to debug functions in:
CREATE EXTENSION pldbgapi;
NOTE: On server versions older than 9.1, instead of running the command, you need to run the pldbgapi--1.0.sql script directly using psql.
If you use binary builds from pgdg, you can use repository for your Linux distribution. For more information, please see [Official Postgres page]
(https://www.postgresql.org/download/).
After installing the plugin on the database server, you need to install the debug plugin from either a marketplace or P2 repository, see this article
for more information.
You can find a detailed DBeaverCE Debug plugin installation guide from Jkiss P2 repository here.
2. DBeaver runs procedure\function (with parameters specified) selected for debugging in the initiator session.
3. The server process reaches breakpoint and displays NOTICE to initiator, in which the PORT is reported for PLDBGBREAK:XX debugging.
Then the process opens the socket and becomes blocked, waiting for PROXY connection. If Debug Client cannot get PORT name from the
process being debugged, an error message appears.
4. Debug Client creates a session, then tries to establish connection with the debugged process, using PORT from step 3 provided by the
initiator. The connection is established via API call attach_to_port. If the connection cannot be established, the Error rcv port number
message appears.
5. PROXY receives PORT from the client, then establishes connection to the process, and returns the session identifier to the client. After
that, using the identificator, one can:
Send debugging commands to the process;
1. The client creates a session and then establishes a connection with PROXY (receiving session). After that, the client creates a global
breakpoint for the selected function, and then becomes blocked via the pldbg_wait_for_target API call waiting for the server process.
2. PROXY receives the global control point from the client and adds global control point to the shared memory, if the point of this type has not
been added before.
4. On each executed line, the target process checks if the global breakpoint with corresponding conditions exists, and becomes blocked if the
breakpoint exists and conditions are met.
5. The target process establishes a connection with PROXY and reports that the breakpoint is reached.
6. Afterwards, the process becomes blocked and waits for PROXY (client) commands. The process will be implementing commands unless
the procedure finishes or an exception is thrown.
You need to choose the type of your debug session: Local or Global.
For a Global session, you need to specify the target process PID filter (enter -1 value for any process):
For a Local session, you need to specify the executable SQL sentence for starting the target process:
In the script editor window, you can see the select get_count(?) text that is just a specification of how DBeaver must call your
function(procedure) for debug.
DBeaver is not intended to know about the values of the variables in the procedure being debugged. You need to set the values for call
arguments BEFORE you start debugging. Your settings might look as follows:
If you run debugging now, DBeaver creates a separate connection to the database server, tries to execute the given SQL sentence select
get_count(‘pg_class’) in this connection, and attaches the debug session to the running SQL context.
After successfully attaching to the target server process, the platform prompts you to switch to the debug perspective:
There are several ways in which you can filter objects. One of the ways is to filter objects by names of tables and views using the filter field
above the tree of objects:
To filter objects by the name of a table and view, type the name in the field. The tree dynamically updates to show tables / views with that name.
To reset the filter, click the Clear icon ( ) on the right end of the field.
Another way to filter objects is to use the Filter item on the context menu of a single object. To filter objects using the Filter menu, right-click the
object, then click Filter on the context menu, and then click one of the items on the submenu:
Filter submenu
Description
item
Hide ‘[object
Hides the current object while displaying the other ones
name]’
Show only
Shows the current object while hiding the other ones
‘[object name]’
Toggle filter Inverts the filtering – shows hidden objects and vice versa
Configure Appears only for folder or parent nodes of database objects - like ‘Tables’, ‘Indexes’, etc. Allows creating a complex
[objects] filter filter with multiple filtering criteria, see Configure Filters.
A third way of filtering is to use the Filter item on the context menu on several objects:
1. Select several objects of the same type using Ctrl or Shift keys.
2. Right-click the selection, then click Filter, and then choose one of the options on the submenu:
Hide N objects Hides the selected objects while displaying the rest
Show only selected objects Shows the selected objects while hiding the rest
To reset such filters, right-click the parent (folder) node displaying the dots sign (...) , and then click Filter -> Clear filter.
1. In the Database Navigator, right-click the object and on the context menu click Filter -> Configure [objects] filter. In the Database Object
editor, in the toolbar of the Properties tab, click the Filter settings button ( ). The Filtering window opens.
3. If you want the filter to apply to all objects of a certain type, for example to all schemes, click Show global filter. Otherwise, the filter will
apply only to the current object. NOTE: Once you apply the global filter, you cannot revert back to the local filer in the same window. To
create a local filter, reopen the Filtering window, see Step 1.
4. For objects that you want to show, click Add next to the Include field and then, in the field itself, enter the name or combination of symbols
to search. For objects that you want to hide, click Add next to the Exclude field and then, in the field itself, enter the name or combination
of symbols to search. NOTE: You can use masks with % and * to replace one or more symbols and _ to replace one symbol in the
search combination.
5. To remove one filtering combination, click the combination in the field and then click Remove. To remove all combinations from either of
the fields, click Clear next to the field.
6. Once you set all filtering criteria, you can save a filter to use for other objects. To save the filter, in the Saved filter area, in the Name field,
enter the filter`s name and click Save.
7. You can also remove any of the saves filters. To remove a filter, in the Name drop-down list, click the filter name and then click Remove.
Please see dedicated articles for information about search of different types. This article describes common features of the three search types.
Search View
Search results for any of the search types appear in a separate Search view. The following image shows the Search view for the database full
text search:
The view contains a toolbar that provides common tools for all types of search as well as specific tools for the File Search type. The following
are common tools:
Run the
Current
Repeats the search the results of which are displayed in the Search view
Search
Again
Cancel - Active state (red) indicates that the search is still in progress and appears if the search takes some time to
/ Current complete. Clicking the button in this state stops the current search.
Search - Inactive state (grey) indicates that the search is complete. The button in this state is non-actionable.
Show - Clicking the button itself opens the Previous Searches window.
Previous - Clicking the arrow next to the button opens a dropdown menu.
Searches See the Search History section further in this article.
Pin the Ties the current search results to the Search view. If you click this button, the current results stay in the view
Search while the results of the next search appear in a new Search view. Otherwise, every new search replaces the
View previous results with new results.
For information about specific tools of File search, see the File Search article.
If the search is short, the results appear almost instantly. But if it takes some time, the Search view indicates the progress in the following ways:
The Cancel Current Search button in the toolbar has the Active state ( )
The progress bar appears in the bottom-right corner of the view indicating the process:
The button to show the search progress in a separate view ( ) appears in the bottom-right corner of the view next to the search progress
bar. Clicking the button opens the Background Tasks view:
Click the arrow next to the Show Previous Searches button in the toolbar and then click the query in the dropdown list:
Click the Show Previous Searches button itself or the arrow next to it and then History on the dropdown menu to open the Previous
Searches window. Then, in the window, click the query and then either Open to open it in the active Search view or Open in New to open it
in a new view:
1. Click the Show Previous Searches button in the toolbar or click the arrow next to it and then History on the dropdown menu. The
Previous Searches window opens.
2. Click the query to remove or select several of them by clicking and simultaneously holding the Ctrl key.
3. Click Remove.
To clear the history by removing all previous queries, click the arrow next to the Show Previous Searches button in the toolbar and then click
Clear History on the dropdown menu.
You can apply case sensitive search, search by regular expressions, search among particular file types ( File name patterns field), and use the
find and replace function.
After you click Search, the results appear in a Search view. The results represent a tree or list of files with the search combination highlighted:
Show Next / Previous Open the file in a separate viewer and move the highlight to the next/previous match,
Match respectively
Remove Selected Matches Removes selected row (row in focus) of the results
The view also provides a view menu (click the View Menu button ( ) in the upper-right corner of the view) that contains the following items:
Alternatively, you can click the Search button on the main menu and then click the DB Full-Text tab in the Search window:
Now you need to choose the database connection or database objects against which to run the search – expand the tree in the Databases field
to the database connections level or further down and select the checkboxes next to the required connections or database objects.
NOTE: The Search button is enabled only when you select the right level of checkboxes – database connections or lower nodes.
You can apply case-sensitive search, fast search and search in numbers and LOBs.
Double-clicking a row in the Search view opens the respective object in a dedicated Database Object editor.
Alternatively, you can click the Search button on the main menu and then click the DB Metadata tab in the Search window:
Now you need to choose the database connection against which to run the search – expand the tree in the Objects Source field to the
database connections level and click the required database connection.
In the Object Types field, you can select the database objects among which DBeaver will run the metadata search – select or clear the
checkboxes.
You can specify if the metadata should start with or contain or be similar to the search combination (Name match field). You can also set the
maximum number of results to display (Max results field) and apply Case-sensitive search.
Double-clicking a row in the Search view opens the respective object in a dedicated Database Object editor.
By default, DBeaver is delivered with a number of predefined sets of dashboards for such data bases as PostgreSQL, MySQL, Oracle and
Exasol. Custom dashboards are also supported. To learn more about custom dashboards, see Managing Dashboards section below.
You can also right-click a connection name in the Database Navigator editor and select Open Dashboard menu option or use keyboard
shortcut Ctrl + Alt + Shift + B and the dashboards panel will be opened.
Adding Dashboards
DBeaver user guide 96/194
To add a dashboard to the dashboards panel, press Add dashboard button in the dashboards panel's toolbar, choose one of the
dashboards from the list of available dashboards and press Add button.
Note: Different databases have different sets of predefined dashboards. DBeaver is delivered with sets of predefined dashboards for such
databases as Postgress SQL, MySQL, Oracle, and Exasol. It is also possible to create new custom dashboards, for more details see Managing
Dashboards.
You can also add a dashboard by right-click in any place of the dashboards panel and then select the Add dashboard menu option.
Removing Dashboards
To remove a dashboard from the dashboards panel, click on the dashboard you want to remove and press button Remove dashboard in
the dashboards panel toolbar or select Remove dashboard option in the dashboard's context menu.
Resetting Dashboards
If you want to restart dashboard's calculation you can reset it.
You can reset all the dashboards displayed in the dashboards panel by a single click on Reset dashboards button in the dashboard
panel's toolbar.
To reset a particular dashboard right-click on it and select Reset dashboards menu option or left click a dashboard and press Reset
dashboards button in the dashboards panel's toolbar.
Parameter Description
Defines dashboard's description. Use this field to make it easy to understand what kind of information the dashboard
Description
represents.
Update
Defines how often dashboard's rendering should be updated. The default value is 1000 ms.
periods(ms)
Maximum items Defines maximum number of fetched items. The default value is 300.
View Defines visual representation of the dashboard. The following options are available: Bar, Pie, Time series.
Show legend If this check-box is selected, the legend will be displayed on the dashboard.
Show grid If this check-box is selected, the grid will be displayed on the dashboard.
Show domain
If this check-box is selected, the domain axis will be displayed on the dashboard.
axis
Show range axis If this check-box is selected, the range axis will be displayed on the dashboard.
Parameter Description
ID Defines dashboard's ID. Make sure that ID has numeric values in it.
Database Defines the database driver. To learn moe about database drivers, see Database Drivers.
Defines the data type. The following options are availabe: timerseries (the default option) and statistics. Select timeseries
Data type type if you want to track the actual value returned by the server. Select statistics type if your dashboard will show historical
data.
Defines how the data should be calculated. The following options are available: value (the default option) and delta. Select
Calc type value if you're interested in the current value. Select delta if you want to track the difference between the current value and
the previous one. This may be very useful when you work with statistics data, for example.
Defines the value to be shown on the range domain. The following options are available: decimal (the default option),
Value type integer, percent, bytes. Choose the value type in accordance with your data, for example, memory usage is convinient to
be tracked in KBytes.
Defines time interval to be shown on the domain axis. The following time intervals are available: millicecond(the default
Interval
option), second, minute, hour, day, week, month, year.
Fetch type Defines whether the query should fetch data from rows or columns.
Defines the description of a dashboard. Use this field to make it easy to understand what kind of information the
Description
dashboard represents.
Queries Defines an SQL query whose fetched data will be used to build the chart displayed on the dashboard.
Default Defines the default visual representation of a dashboard on the dashboard panel. The following options are available: Bar,
view Pie, Time series(the default option).
Update
Defines how often the dashboard's rendering should be updated.
period(ms)
Maximum
Defines maximum number of items to be fetched for the dashboard.
items
Note: Predefined dashboards are read-only and cannot be re-configured, but you can copy them and use as templates to create new
dashboards with any query and other settings. To learn about creating new dashboards, see Managing Dashboards section.
You can force database connection on the dashboard panel's activation by pressing Settings button on the dashboards panel's toolbar and
then selecting the Connect on activation check-box.
Detaching Dashboards
If you have several monitors and would like to place a dashboard into a separate screen, you can either detach the whole dashboards panel or a
single dashboard and drag-and-drop them to any place you want.
To detach the whole dashboard panel right click on the dashboard's tab name and select the Detachmenu option.
To detach a single dashboard make a double left click over it. You can also right click the dashboard and then, select the View Dashboard
menu option, the dashboard will be detached from the panel and you will be able to move it to any place of your screen.
Saving Dashboards
If you want to save a screenshot of a dashboard locally in PNG format, right click on it and select the Save as ... option in the context menu
displayed.
Printing Dashboards
Zooming
For Time series and Bar dashboard representations the following zooming options are available in the dashboard's context menu:
Zoom In
Zoom Out
Zoom Reset
Managing Dashboards
You can extend the list of predefined default dashboards by creating your own custom dashboards. This section describes dashboards' list
management.
Creating Dashboards
You can create a new custom dashboard either from scratch or from any of already existing dashboards.
4. Set up all configurational parameters as required and press OK. To learn more about dashboard's configuration parameters, see Adjusting
Dashboard Configuration.
3. In the Manage dashboards window select any of the existing dashboards from the list and click Copy.
4. Adjust all configurational parameters as required and press OK. To learn more about dashboard's configuration parameters, see Adjusting
Dashboard Configuration.
Editing Dashboards
If you need to change dashboard's name , ID or any other configurational setting, you can edit a dashboard.
3. In the Manage dashboards window select any of the custom dashboards from the list and click Edit....
4. Adjust all configurational parameters as required and press OK. To learn more about dashboard's configuration parameters, see Adjusting
Dashboard Configuration.
Deleting Dashboards
Note: Predefined dashboards cannot be deleted, but any of the custom dashboards can be deleted.
To delete a dashboard:
1. Press Settings button in the dashboards panel toolbar.
3. In the Manage dashboards window select any of the custom dashboards from the list and click Delete.
Creating Project
To create a project, in the Projects view, in the toolbar, click Create Project ( ). The Project Create Wizard opens.
1. In the Project screen, in the Project name field, specify the name of the project.
2. To keep the default location to store the project, leave the Use default location checkbox selected. If you want to change the location,
clear the checkbox and enter the name of the new directory into the Location field or click Browse and select the directory in the folder
tree.
Deleting Project
To delete a project, in the Projects view, right-click its name in the tree and click Delete on the context menu. Two confirmation dialog boxes
appear one after another:
1. Delete object dialog box is to confirm the deletion of the project itself. Click Yes if you are sure you want to delete it. Otherwise, click No.
2. Delete project dialog box is to confirm the deletion of the project`s contents: these are the data stored in the file system, database
connections are not affected. Click Yes if you want the contents to be deleted as well. To keep the contents, click No.
NOTE: If you have deleted a project and then re-create it with the same name, the new project picks up all the database connections of the
deleted project.
To create a bookmark:
1. In the Database Navigator or under Connections node of the Projects view, click the database object of interest to set focus on it.
3. In the Bookmark Name field, enter the bookmark name, then in the Bookmark folder field, click the folder, and then click OK:
To open an object using its bookmark, double-click the bookmark or right-click it and click Open Bookmark on the context menu. You can
rename and delete bookmarks using the context menu as well.
SQL Editor
Shortcut Action
CTRL+ALT+SHIFT+X Execute queries of current script simultaneously, showing results in separate tabs
Data viewer
Shortcut Action
Data editor
Shortcut Action
SHIFT+Enter Open value editor dialog or separate value editor (for LOB values)
Shortcut Action
F3 CTRL+[ Open SQL editor for current connection ( ***). Shows script selector popup.
CTRL+F3 CTRL+] Open new SQL editor for current connection ( ***). Always creates new script.
CTRL+Enter Open recent SQL editor for current connection ( ***). Opens last modified script or creates a new script.
Other
Shortcut Action
CTRL+SHIFT+C Advanced copy. Works in different contexts and performs "smart copy" operation (usually with parameters).
References
* - Current query is the query under cursor or the selected text. Query is separated from other script queries by delimiter (; by default) or by
empty lines.
** - Current script is a set of all queries in the current SQL file. If there is a text selection then only queries in this selection are processed.
Queries are separated from each other with a delimiter (; by default).
** - Current connection detected from active window and selection. If active (focused) window is SQL editor or database object editor then
current connection is the same as in this editor. If active window is database navigator then active connection is "owner" connection of currently
selected element. In other cases there is no current connection and DBeaver will ask you to choose connection explicitly.
Connections reside in the Database Navigator and in the Projects views. In these views, you can:
Rename and delete connections - via corresponding context menu items, see Database Navigator
Connect to and disconnect from databases using connections, see Connect to Database and Disconnect from Database.
- not connected
- has network settings specified (such as SSH tunnel, etc.)
- connected
- connection error
Click the New Connection Wizard button in the application toolbar or in the Database Navigator view toolbar:
Then, in the wizard, click Database connection and then click Next:
1. Choose a driver for the new connection: click the name of the suitable database type in the gallery. Then click Next.
To quickly find the needed driver, you can type a hint in the text field above the list of drivers.
If you cannot find a driver for your database then probably there is no suitable driver and you need to create one. Please see Database
Drivers article.
NOTE: The list of database drivers diaplays the number of exising connections next to each driver. No number is displayed if there are no
connections.
If you prefer the classic list view of the available drivers, use the Classic button.
Host
Port
Database name
However, the number and type of connection properties are very dependent on the driver.
For example, embedded drivers (such as SQLite, Derby Embedded, HSQLDB, H2 Embedded), unlike remote ones, require only the path to
the database.
3. If necessary, specify advanced settings, see Advanced Settings section below, and click Next.
5. Click Finish. The connection appears in the tree of connections in the Database Navigator and DBeaver actually connects to the database.
Advanced Settings
Network Settings (SSH, SOCKS, SSL)
If your database cannot be accessed directly, you can use SSH tunnel:
Variables in parameters
You can use variables in all connection parameters and in the driver properties. Variables are system environment variables or one of the
following list:
Name Value
Note: option Use environment variables in connection parameters must be turned on (see preferences).
The navigation pane on the left displays configuration sections, most of which are the same as those in the Create new connection wizard, see
Connect to Database. There are additional configuration sections as well, such as Result Sets and SQL Editor. Click the section name to open
the configuration settings for editing.
You can test if your connection works with modified settings - click Test Connection. When you finish editing your connection, click OK to save
the changes or Cancel to discard them.
Driver settings
In development
To connect to a database using an existing connection, in the Database Navigator or Projects view, click the connection and then click the
Connect button in the toolbar or click Database -> Connect on the main menu:
You can also right-click the connection and click Connect on the context menu.
If a database connection exists but DBeaver is not connected to the database, the connection appears with its original icon (for example, for
PostgreSQL database). When DBeaver connects to the database, the icon changes to signal the connected status: .
If DBeaver cannot connect to a database, the connection appears with an error sign: . If you attempt to connect to such a database, DBeaver
displays an error message describing the cause for the error.
You can also right-click the connection and click Invalidate/Reconnect on the context menu.
You can also right-click the connection and click Disconnect on the context menu.
NOTE: The Disconnect button and menu items are available only for those connections that are activated, that is, marked with the connected
sign: .
When DBeaver disconnects from a database, its icon changes to its original state (not connected), for example, for PostgreSQL database.
To disconnect from all active connections, click Database -> Disconnect All on the main menu.
Default transactions commit mode - with or without automatic commit of changes to the database.
NOTE: You can override the default commit behavior during your work with connections by changing the commit mode, see Auto and
Manual Commit Modes.
SQL statements execution (with or without user confirmation). If set to require user confirmation for SQL execution, DBeaver shows a
confirmation message every time you attempt to execute a ‘transaction’ type of query (INSERT/DELETE/UPDATE, etc.):
For your convenience, DBeaver supports color-coding of connection types so that you know at once which behavior to expect when you use a
certain connection. Colored are database connections that use a certain connection type in the Database Navigator and Projects views as well
as editors related to these connections:
To manage connection types for a database connection, in the Database Navigator or Projects view, click the connection to set focus to it and
then press F4 to open the connection properties window. Then, in the properties window, in the navigation pane on the left, click General to
see the general settings. You can see Connection Type field among the settings:
1. In the connection properties window, on the General page, click the Connection type field and then click the connection type in the
dropdown list:
2. To test the connection, click Test Connection. To confirm the change, click OK.
1. In the connection properties window ( F4 on a connection), on the General page, click Edit next to the Connection type field. The
Properties for connection types window opens:
2. Click the new connection type button. A new connection type appears in the list:
3. Now you can specify the settings for the new connection type:
Enter the connection type`s name into the Name field.
Click the Color box and select the color for the new connection type.
To set DBeaver to automatically commit changes to the database when connections use this connection type, select the Auto-
commit by default checkbox. Otherwise, leave it empty.
To set DBeaver to ask for your confirmation at each execution of SQL statement of ‘transaction’ type, select the Confirm SQL
execution checkbox. Otherwise, leave it empty.
4. Click Apply to apply the changes and keep the window open or click Apply and Close to apply the changes and close the window. To
discard all changes and return to the previous state, click Restore Defaults.
1. In the connection properties window ( F4 on a connection), on the General page, click Edit next to the Connection type field.
2. Specify the settings for the new connection type the same way as when you create a connection type, see 'Create Connection Types'
section above.
3. When you finish editing the connection types, click Apply to apply the changes and keep the window open or click Apply and Close to
apply the changes and close the window. To discard all changes and return to the previous state, click Restore Defaults.
1. In the connection properties window ( F4 on a connection), on the General page, click Edit next to the Connection type field. The
Properties for connection types window opens.
2. In the Properties window, in the list of connection types, click the connection type to set focus to it and then click the delete button under
the list:
3. Click Yes in the confirmation dialog box to confirm the deletion. Otherwise, click No.
4. Click Apply to apply the changes and keep the window open or click Apply and Close to apply the changes and close the window.
Auto-commit transfers all changes that you make immediately to the database.
Manual commit requires your confirmation before committing a change to the database or rolling it back.
Though available in many cases, the two modes are actionable only in SQL Editor. See the next sections for details of using the modes.
To switch between the modes, use the mode selection button that appears in one of the two views: or .
Auto-Commit Mode
Auto-commit mode is the default one for the Development and Test connection types, see Connection Types. Auto-commit mode is on if you can
see the auto-commit view of the mode selection button ( ) in the application toolbar. If you see the manual commit view ( ), then in order to
switch to auto-commit mode, click the mode selection button – it changes to auto-commit. At the same time, this disables the two manual
commit buttons in the toolbar: Commit and Rollback – these are available only in manual commit mode.
The statistics field next to the mode selection button always shows Auto in auto-commit mode: .
Manual commit mode is on if you can see the Manual commit view of the mode selection button ( ) in the application toolbar. If you see the
auto-commit view ( ), then in order to switch to manual commit mode, click the auto-commit button – it changes to manual commit. At the
same time, this enables the two manual commit buttons in the toolbar: Commit ( ) and Rollback ( ).
In manual commit mode, when you execute SQL statements ( Ctrl+Enter ), the number of database modifying statements that pend commitment
to the database appears in the statistics field next to the mode selection button: .
If you hover you mouse over the field, you can see statistics of your SQL statements:
To commit statements to the database, click the Commit button in the toolbar. To discard them, click Rollback.
If no modifying statements have been made, the statistics field shows None:
To see all previous transactions during the current session, select the Show previous transactions checkbox. To see all queries including non-
transactional ones, select the Show all queries checkbox.
DBeaver has a lot of pre-configured driver including SQL, NoSQL, key-value databases, graph databases, search engines, etc. But sometimes
you need to connect to a database which was not configured in DBeaver yet.
All you need is JDBC driver of your database. The rest is easy.
JDBC driver consists of one or multiple jar files. Jar file is a library which contains program code and some other files. You need to download
driver's jar files before adding them in DBeaver. Sometimes jar files are included in database server distribution - in that case you need to refer
your database documentation or ask your DBA.
Just click the button New and create a new driver. On the driver edit dialog you need to enter all required information:
Main parameters
Parameter Description
Driver Name Name of your driver. It can be any name you like
Driver Type Driver provider. In 99% cases you will need Generic driver (JDBC provider)
Class Name JDBC driver class name. You can get it from the documentation or find it in jar files (see "Find Class" button description)
Template of driver URL. You can leave it empty. But in this case you will be ready to set JDBC URL for each your
URL
connection. It is better to define a valid template, this will greatly simplify connections creation. See "URL Templates" for
Template
the detailed description
Default Port Default database port. You can get it from documentation or leave it empty
Embedded Enable it for server-less databases. This flag affects a few config options related to network/connections management
No
This means that driver doesn't require authentication (no user/password fields will be shown)
Authentication
Libraries
This is the list of jar files, binary libraries (dll or so) and any other files required by driver. In most cases you need only jar files.
Click "Add File" to add single jar file, "Add Folder" to add folder with Java classes/resources and "Add Artifact" to add Maven artifact (see
below).
After you add jar files you will be able to find all JDBC driver classes which present in these jars. Just click on the "Find Class" button and
DBeaver will show all of them. In most cases there is just one driver class in the driver. If there are many of them then you need to refer to the
driver's documentation.
Maven artifacts
If you need to change some driver properties later you can access them directly from connection properties dialog:
URL Templates
JDBC drivers use URLs to identify remote servers - strings similar to classic web URLs. Usually, URL has form jdbc:vendor:host:port/database , for
example `jdbc:postgresql:localhost:5432/postgres'. It is not very convenient to edit such long and unobvious string. DBeaver can construct this
URL from connection parameters (like host, port, etc).
Parameter Description
{folder} Folder path (on the local file system). Used for embedded drivers
{file} File path (on the local file system). Used for embedded drivers
Advanced settings
For most driver you don't need to change any advanced properties. But in some cases you can use this as a driver tuning, e.g. for better
performance or for structure fixing.
Parameter Description
Driver supports stored code Whether this driver supports stored code (procedures, functions, packages, etc)
Driver supports SELECT count(*) clause Driver supports SELECT count(*) clause
Split procedures and functions Show procedures and functions in different folders
Script delimiter redefiner SQL clause which redefines script delimiter value
Use script delimiter after query Keep SQL script delimiter after each SQL query
Use script delimiter after SQL block Keep SQL script delimiter after SQL script blocks (BEGIN/END)
Omit catalog(s) Do not read and use catalog (aka database) information
Omit single catalog Hide catalog (database) if there is only one catalog on server
Omit single schema Hide schema if there is only one schema on server
Driver supports multiple results Driver supports multiple results for a single query
Driver supports result set limit Driver supports multiple result set limit (max rows)
Driver supports structure cache Driver supports structure cache reading. Enables schema columns, keys, etc
Driver supports TRUNCATE operation Driver supports TRUNCATE command. It is much faster than DELETE without criteria
Parameter Description
Shutdown database Query to shutdown active database connection. Used for some embedded databases
Dual table name Name of dummy 'DUAL' table which is used for expressions evaluation
Quote reserved words Quote columns/table names if they conflicts with reserved SQL keywords
Escape LIKE masks in search Use to access JDBC metadata API. Enabled by default but should be disabled for some (broken)
queries driverss
Parameter Description
Drop column short syntax Use 'ALTER TABLE DROP column-name' instead of standard syntax
Use legacy SQL dialect for DDL Use legacy SQL dialect for DDL
Parameter Description
Summary
If you have configured some driver, it works good and you think that it makes sense to have this driver configuration in standard DBeaver,
please send your configuration to us. Just create a feature request issue on GitHub and copy/paste driver description to the ticket (in any
suitable form).
Thank you :)
2. Choose export format. DBeaver support many different output formats including CSV, HTML, XLSX, etc:
message:
1. Select a table(s) to which you want to import data. In the context menu choose "Import Data":
message:
Target container - defines a database or a scheme where the data will be transferred to. Press button and choose the container.
Target - contains names of the tables where the data will be transferred to.
Create- the source data will be populated into a newly created table or column of the target container.
Skip - the source data will not be transferred to the target container.
Existing - the source data will be transferred to the table that already exists in the target container.
Unassigned - this value is set by default when there is no target defined.
If cells are marked as it means that in the target table there are no source tables with matching names, otherwise the names will be
filled in automatically.
You can define a target table by clicking on a cell in the Target column and entering its name, or press the New button and enter a
new name in the opened dialog box.
You can also choose a name for a target table from the drop-down list.
Or select from the list of tables already existing in the target container by pressing the Browse button
If you want tables of the target container to be named like those of source, press the Auto assign button and the Target column
will be automatically populated.
You can also define the names of target columns, as well as their data types, by clicking a row with a table name and pressing the Columns
button
Source column -this column contains names of columns existing in the selected source table;
Source type - this column contains the list of data types assigned to the columns in the selected source table;
Target column - this column contains names of target table columns where the data from source column will be transferred to. To change
the name, click the cell and enter a new name.
Target type - this column contains the list of data types that will be assigned to the columns in the target table.
IMPORTANT: Sometimes data types that are supported on the source database are not supported on the target or vice versa.
To set a data type for a column in a target table, click the cell in the Target Type column and select one from the dropdown list of data
types supported on the target.
Mapping - this column contains the list of actions to be applied to the data on data transfer.
To change mapping type click a cell in Mapping column of Table mapping dialog box and select the required mapping type.
You can also view the SQL script that will be run on data transfer by pressing the DDL button .
Shortcut Action
Option Description
Maximum
Defines a number of threads to be used for data transfer.
threads
Select Single query option if your data load is not too big. Select By segments option if you need to migrate a solid
Extract type amount of data. When this options is selected you can set the Segment size value, that is to define a number of rows to
be transferred in each segment.
Open new If selected, a new connection will be opened and data transfer will not interfere with other calls to the database whose
connections data is being transferred.
Select row
If selected, a progress bar displaying data migration process will be shown.
count
Option Description
Truncate data load Select this check-box only if you want all the data be cleared from the target table. Be very careful with this
table before load option!
Open new Use this option to speed up data transfer. If selected, a new connection will be opened and data transfer will not
connections interfere with other calls to the database where data is being transferred to.
This option allows to speed up data transfer and to define the number of rows for each transaction by setting
Use transactions
Commit after insert of parameter.
Show finish
If selected, a notification message will be shown when transfer is over.
message
Step 5: Confirm
Install Process
Extension installation in CE version:
1. Main menu Help -> Install New Software
2. Paste extension P2 repository URL into Work with field and press Enter
IMPORTANT: installation won't work if DBeaver is installed in write-protected folder (like Program Files , /Applications , /usr/ ). To proceed you need
to run DBeaver from some non write-protected folder or run it as Administrator/root.
Extension installation in EE
You can do this from online Eclipse Marketplace (open Marketplace UI from main menu). OR you can install it manually the same way as in CE
version (see above)
Extensions
Office integration
This extension supports data export in Office formats (XLS). IT works for all platforms and all popular Offices - MS Office, Open Office, Libre
Office, MacOS X.
It is included in EE version.
Debugger support
This extension supports SQL debugger in PostgreSQL.
It is included in EE version.
Eclipse Color Theme - use it if you don't like Darkest Dark theme by some reason
DBeaver-specific extensions
Office formats support (XLSX)
SQL debugger
Install Process
In DBeaver EE you can use drag-n-drop from Marketplace web site (see button Install ) into DBeaver main window. This will launch Marketplace
installation wizard automatically. In DBeaver Community or other DBeaver-based products which do not include marketplace clients you can use
following instructions:
3. Paste update site URL into Work with field and press Enter
4. Check items you wish to install (in most cases just all items)
There is multiple implementation of storage systems which utilize Hive on server-side - including Apache Spark, Impala, etc. Most of them
support standard Hive JDBC driver which is used in DBeaver to communicate with the server.
DBeaver uses so-called Hive JDBC Uber Jar driver (https://github.com/timveil/hive-jdbc-uber-jar) which includes all necessary dependencies.
You don't need to download anything - DBeaver will download everything automatically (if you have internet access).
Connection setup
DBeaver uses standard Clickhouse JDBC driver to communicate with Clickhouse servers. Driver is downloaded automatically once you
establish connection with database server.
Connection setup
Connection initiation is very easy.
4. Test connection:
Limitations
Clickhouse doesn't support referential integrity so you won't see foreign keys. ER diagrams are also doesn't make much sense.
DBeaver control
Name Value Example
-newInstance Force new DBeaver instance creation (do not try to reuse already running one)
System parameters
Name Value Example
-clean Clears all Eclipse caches. Use it if DBeaver fails to start after version upgrade.
VM arguments
You can pass any advanced Java parameters supported by your local JVM (Oracle, OpenJDK, IBM, etc).
Parameters supported by Oracle JVM (1.8): https://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html
Connection parameters
All connection parameters must be supplied as a single command line argument, parameters are divided by pipe ( | ). Parameter name and
value are divided by = .
Example: -con driver=sqlite|database=C:\db\SQLite\Chinook.db|name=SQLiteChin|openConsole=true|folder=SQLite
To reset DBeaver UI just delete file file workbench.xmi in DBeaver workspace/.metadata. By default workbench.xmi file locations is:
Windows: %APPDATA%\DBeaverData\workspace6\.metadata\.plugins\org.eclipse.e4.workbench\workbench.xmi
MacOS: ~/Library/DBeaverData/workspace6/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi
Linux: $XDG_DATA_HOME/DBeaverData/workspace6/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi
To reset settings:
1. Close DBeaver
2. Delete workbench.xmi from Explorer/Finder or open terminal and run del (Windows) or rm (Linux/MacOS) followed by workbench.xmi
path.
3. Start DBeaver
1. Shutdown DBeaver
Linux: cd $XDG_DATA_HOME/DBeaverData/workspace6/.metadata/.plugins/org.eclipse.e4.workbench/
4. Start DBeaver
If that doesn't help then you can try to remove .metadata folder (see location above). This will erase all your UI settings and SQL scripts
configurations (but all connections and scripts will remain). Do it only if nothing else helps!
That's it.
Check existing issues for your issue (including closed ones). Duplicating an issue is slower for both parties so search through open and
closed issues to see if what you’re running into has been addressed already.
Be clear about what your problem is: what was the expected outcome, what happened instead? Detail how someone else can recreate the
problem.
If you posting a bug report check "Error Log" view. If there are any errors related to your bug then post a complete stacktrace. Sometimes
there are no errors in Error Log - then try to find them in log files.
If your issue is related to a database data or metadata management - check the Query Manager view. It contains information about all
queries DBeaver executes (explicitly or implicitly). To see more detailed information you can configure Query Manager in Preferences.
Operating system
Do not write issue type in the issue title (like Feature Request:, Bug: etc). We'll review your issue and assign a corresponding label.
Log files
DBeaver writes different log files. Most of them are Eclipse logs.
Usually log files reside in the workspace.
On MacOS:
Type open ~/Library/DBeaverData/workspace6/.metadata in terminal or ~/Library/DBeaverData/workspace6/.metadata in Spotlight Search.
<workspace-path>/.metadata/.log - all warnings and errors which happens during normal work
In special cases log files can be written in other directories. Special case is an emergency situation when DBeaver can't start and there is no
workspace. Two typical places to find emergency logs:
<install-path>/configuration
${HOME}/.eclipse/org.jkiss.dbeaver.product_<dbeaver-version>
If you are reporting about some error please attach logs (not complete file but valuable part of it).
Logs are very useful, big number of errors can't be reproduced/fixed without full error stacktrace.
Linux: ~/.dbeaver/
MacOS: cd ~/.dbeaver4/
jstack $(ps aux | grep -m1 dbeaver | awk '{print $2}') > thread-dump.txt
Windows
Just open task manager (CTRL+Escape), find DBeaver in the process list and copy process ID value. On Windows 8+ you need to switch to
"Details" tab. Run
in Command Prompt.
DBeaver can load multiple connection files. Any files in project folder matching .dbeaver-data-sources*.xml pattern will be loaded on startup. So you
can create a file, say, .dbeaver-data-sources-2.xml in the project folder and DBeaver will see it.
CSV file must have a header row (first line of file) with column names (see list of supported columns below). XML file should contain top-level
element and a set of nested elements. Connections config must be specified in attributes of nested elements. Attribute names are the same as
CSV column names.
Supported names:
Name Meaning
Sample CSV
name,host,port,server,database,url,user,password,type
Postgre Import XML 1,localhost,5432,,postgres,jdbc:postgresql://localhost:5432/postgres,postgres,postgres,dev
Postgre Import XML 2,localhost,5432,,postgres2,jdbc:postgresql://localhost:5432/postgres2,postgres2,postgres2,prod
Sample XML
<connections>
<connection name="Postgre Import XML 1" host="localhost" port="5432" server="" database="postgres" url="jdbc:postgresql://localhost:5432/postgres" user="postgres" passwor
d="postgres" type="dev"/>
<connection name="Postgre Import XML 2" host="localhost" port="5432" server="" database="postgres" url="jdbc:postgresql://localhost:5432/postgres2" user="postgres2" pass
word="postgres2" type="prod"/>
</connections>
Generate MD5 hash of your password. You can do it from command line using Linux utility md5sum ( md5sum <<<"your password" ) or you can
do it online - just google "MD5 hash online".
Add attribute lockPassword in connection descriptor (in .dbeaver-data-sources.xml file in <dataSource> tag. So it will look like this:
Now if user will try to change connection settings he/she will be asked for password
Also in drivers.xml you can use following variables to specify relative paths:
Variable Meaning
For instance:
<provider id="postgresql">
<driver id="postgres-jdbc" custom="false" embedded="false" name="PostgreSQL" class="org.postgresql.Driver" url="jdbc:postgresql://{host}[:{port}]/[{database}]" port="5432"
description="PostgreSQL standard driver">
<library type="jar" path="maven:/org.postgresql:postgresql:RELEASE" custom="false" version="42.2.3">
<file id="org.postgresql:postgresql" version="42.2.3" path="${drivers_home}/maven/maven-central/org.postgresql/postgresql-42.2.3.jar"/>
</library>
<library type="jar" path="maven:/net.postgis:postgis-jdbc:RELEASE" custom="false" version="2.2.1">
<file id="net.postgis:postgis-jdbc" version="2.2.1" path="${drivers_home}/maven/maven-central/net.postgis/postgis-jdbc-2.2.1.jar"/>
</library>
<library type="jar" path="maven:/net.postgis:postgis-jdbc-jtsparser:RELEASE" custom="false" version="2.2.1">
<file id="net.postgis:postgis-jdbc-jtsparser" version="2.2.1" path="${drivers_home}/maven/maven-central/net.postgis/postgis-jdbc-jtsparser-2.2.1.jar"/>
</library>
</driver>
</provider>
</drivers>
Parameters
Command line parameters supported by DBeaver installer:
Parameter Description
/D=path (installer only) set install directory, must be last parameter, without quotes, case-sensitive
In order to install with /allusers parameter current user must have administrator permissions.
Code Meaning
2. Apache Maven 3+
3. Internet access
Build
5. Restart Eclipse
11. If Eclipse will ask about additional plugin install - just agree:
What you need to do is go to your Run Configurations (Run -> Run Configurations). Select the Plug-ins tab and then hit "Add Required
Plug-ins". Apply, then Run, and it should work now.
That's it.
Sources structure:
docs - some documentations (mostly outdated)
features - feature descriptors. Doesn't contain any source code. Used to structurize product plugins/dependencies.
org.jkiss.dbeaver.model - model API and base classes. Doesn't contain any UI dependencies, just pure data model.
org.jkiss.dbeaver.core.eclipse - main Eclipse plugin. Adds some extra menus/views to standard Eclipse IDE.
Notes:
Everything above covers Community Edition version.
Intro
Why
DBeaver is based on Eclipse Platform and it seems logical to develop it in Eclipse IDE. However, many people find that even latest Eclipse Java
IDE isn't that good and convenient as IntelliJ IDEA.
I personally also prefer to develop in IDEA, mostly because of historical reasons but also because of many really helpful features in it.
Anyhow, here we will try to open DBeaver project in IDEA, write code, compile, run and eventually debug (as Java debugger really rocks in
IDEA).
How
It is quite easy to open the project, see module structure and even compile.
But running/debugging is the most tricky part because it requires Eclipse runtime workspace and only Eclipse IDE can create one (IDEA doesn't
support this and nobody can blame JetBrains for that).
So, we'll still need Eclipse to configure workspace for debugger. But once you will do this you will no longer need to run Eclipse (until plugins
structure or versions will change).
Let's start!
Instructions
2. cd dbeaver-ce
2. Eventually you should be able to compile and run DBeaver from Eclipse
3. Make sure you have proper project Java SDK configured (Java 8+)
4. Go to Global libraries .
7. Recent IDEA should add all Eclipse jars as dependencies. But in in some IDEA versions you will also need to add some other folders
manually:
eclipse-ide-path/plugins/org.jkiss.bundle.apache.batik*/lib .
eclipse-ide-path/plugins/org.jkiss.bundle.apache.poi*/lib .
eclipse-ide-path/plugins/org.jkiss.bundle.apache.poi*/ooxml-lib .
eclipse-ide-path/plugins/org.jkiss.bundle.jfreechart*/lib .
eclipse-ide-path/plugins/org.jkiss.bundle.sshj*/lib .
9. Now you should be able to compile the project. Just hit CTRL+F9 and wait.
1. Add launcher config as jar dependency for module dbeaver . Locate the jar org.eclipse.equinox.launcher_*.jar in the eclipse-ide-path/plugins/ folder.
Like this:
2. Open debug configuration "Debug DBeaver Community" and change path in parameters -configuration and -dev .
Replace path before .metadata with path to your Eclipse workspace. Eventually it should look like this this:
Problems
Most likely something will go wrong as these instructions are quite long. Don't be afraid, rechecks configuration, try again. IF nothing helps -
don't hesitate to ask in tickets or by email.
bundle.properties contains original string in English language. All translated resources are placed in bundle_XX.properties files where XX is two-
letter language code.
Environment setup
Clone DBeaver repository
Install GitHub Desktop
In the appeared popup window select the URL tab and paste DBeaver URL: https://github.com/dbeaver/dbeaver.git
Press Clone
Localizing tools
Eclipse IDE
Install Eclipse (any version, any package)
Main menu -> File -> Import... -> General -> Existing Projects into Workspace -> Browse
Open some properties file (e.g. bundle.properties - see below ) in ResourceBundle editor:
Edit properties:
At the top select Current branch and press New Branch button
On the opened GitHub page add some meaningful text for your pull request name and press Create pull request button
or
Create a Pull Request with your changes (in branch devel ) https://help.github.com/articles/creating-a-pull-request-from-a-fork/
Properties
Commands,
Core plugins/org.jkiss.dbeaver.core/OSGI-INF/l10n/bundle.properties
properties
Messages,UI
Core plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/CoreResources.properties
strings
UI Properties plugins/org.jkiss.dbeaver.ui/OSGI-INF/l10n/bundle.properties
UI Messages plugins/org.jkiss.dbeaver.ui/src/org/jkiss/dbeaver/bundle/UIMessages.properties
Application Commands,
plugins/org.jkiss.dbeaver.core.application/OSGI-INF/l10n/bundle.properties
(Standalone) properties
Application Commands,
plugins/org.jkiss.dbeaver.core.eclipse/OSGI-INF/l10n/bundle.properties
(Eclipse) properties
Data Commands,
plugins/org.jkiss.dbeaver.ext.data.transfer/OSGI-INF/l10n/bundle.properties
Transfer properties
Data
Messages plugins/org.jkiss.dbeaver.ext.data.transfer/src/org/jkiss/dbeaver/tools/transfer/internal/DTMessages.properties
Transfer
Commands,
ERD plugins/org.jkiss.dbeaver.ext.erd/OSGI-INF/l10n/bundle.properties
properties
Commands,
SSH plugins/org.jkiss.dbeaver.net.ssh/OSGI-INF/l10n/bundle.properties
properties
Generic
Properties plugins/org.jkiss.dbeaver.ext.generic/OSGI-INF/l10n/bundle.properties
driver
Generic
Messages plugins/org.jkiss.dbeaver.ext.generic/src/org/jkiss/dbeaver/ext/generic/GenericResources.properties
driver
The same for Oracle (ext.oracle), DB2 (ext.db2), Exasol (ext.exasol), PostgreSQL (ext.postgresql) and SQL
.. ..
Server (ext.mssql)
Preferences->Database->Language
-nl
XX
All popular JDBC drivers are included in EE distribution so you won't need to download/configure them separately.
MongoDB
Redis
InfluxDB
Additional EE plugins:
Office formats support (XLS) for data export
A possibility for us to support and develop the Community version, add new features faster, provide better support and much more.
Even if you do not need enterprise features you can purchase a license as a form of donation. Thank you!