DataGrip 2026.2 Help

Use database CLI tools

Almost every database vendor has its own Command-Line Interface (CLI) tool. The following list shows you a couple of examples.

  • PostgreSQL: psql

  • Oracle: sqlplus (SQL Command Line for SQL*Plus)

  • MySQL: mysql

  • Microsoft SQL Server: sqlcmd

  • SQLite: sqlite3

To use these tools in DataGrip, you need to add them as external tools. For more information about how to work with external tools, refer to the External tools topic.

In the majority of cases, these tools support two types of commands: standard and meta. Standard commands are SELECT, CREATE, UPDATE, and other ordinary SQL commands. Meta-commands use special syntax that is specific for every tool. For example, in SQLite, except for ordinary SQL statements, you can use dot-commands. These dot-commands are used to change the output format of queries or to execute certain prepackaged query statements. When you issue the dot-command, sqlite3 uses its own interpretation of the command and runs it on a database.

Other tools have different meta-commands. For example, sqlplus has DESCRIBE; psql has backslash directives like \dD; in sqlcmd, you can use :r Script.sql to load a script file. These commands are not standard SQL commands that your database would easily understand. They need to be translated. CLI tools do this translation.

DataGrip supports syntax highlighting for meta-commands but not the translation logic. It means that you can open an SQL script with meta-commands in the editor, but you need an external tool to run the script. By default, meta-commands are highlighted in green.

sqlite3 dot-commands in the IDE
psql backlash commands in the IDE

Running CLI tools

In this topic, we use sqlite3 and psql as examples. You can create similar configurations for other tools.

For this tutorial, we will use the sqlite.db database file for sqlite3 and the PostgreSQL database running locally for psql. And we will use the following scripts in the SQL files:

script_sqlite3.sql

.databases .schema main.* .mode list .separator ", " .width 12 -6 .tables select * from address;

script_psql.sql

\conninfo \dt \d public.address \pset border 2 \timing on SELECT * FROM public.address;

To run the script, you need to create a configuration for a third-party tool. In our case, sqlite3 or psql. This configuration will pass contextual information from your project to the tool as command-line arguments and display the output in the Run tool window.

Step 1. Create an external tool configuration

  1. Open settings by pressing Ctrl+Alt+S and navigate to Tools | External Tools.

  2. Click the Add button Add and specify the following settings:

    • Name: the name of the tool that will be displayed in the DataGrip interface. For example, sqlite3.

    • Group: the name of the group to which the tool belongs. You can select an existing group or type the name of a new group.

    • Description: a meaningful description of the tool. For example, Command-line tool for SQLite.

    • Program: the path to the application executable file. For example, ~/files/sqlite/sqlite3.

    • Arguments: the arguments passed to the executable file, as you would specify them on the command line.

    • Working directory: the path to the current working directory from which the tool is executed. For example, you can point this field to a folder with the database file (~/files/sqlite).

    sqlite3 external tool configuration

    In this case, sqlite3 will be run with sqlite.db ".read '$FilePath$'" arguments.

    • Name: the name of the tool that will be displayed in the DataGrip interface. For example, psql.

    • Group: the name of the group to which the tool belongs. You can select an existing group or type the name of a new group.

    • Description: a meaningful description of the tool. For example, Command-line tool for PostgreSQL.

    • Program: the path to the application executable file. For example, /Library/PostgreSQL/bin/psql.

    • Arguments: the arguments passed to the executable file, as you would specify them on the command line.

    • Working directory: the path to the current working directory from which the tool is executed. For example, /Library/PostgreSQL/bin.

    psql external tool configuration

    In this case, psql will be run with -h localhost -p 54333 -U guest -d guest -f "$FilePath$" arguments.

    You can use macros that can refer to the project name, the current file path, and so on. Clicking the Insert Macros icon Insert Macros… opens the Macros dialog that lists all available macros and their values.

  3. Click OK to add the tool and then apply the changes.

Step 2. Run the created configuration

  • Double-click the script file to open it in the editor.

    Press Ctrl+Shift+A, start typing External Tools, then select the action from the list. Press Ctrl+Shift+A to open the Search Everywhere popup, start typing External Tools and select it from the list.

    In the External Tools popup window, select sqlite3.

    Run sqlite3 from the Search Everywhere

    In the External Tools popup window, select psql.

    Run psql from the Search Everywhere
  • Open the Files tool window by clicking Files tool window icon Files on the main window toolbar. Alternatively, press Alt+2.

    Right-click the sqlite3_demo.sql file and select External Tools | sqlite3 from the context menu.

    Run sqlite3 from the context menu

    Right-click the psql_demo.sql file and select External Tools | pgsql from the context menu.

    Run psql from the context menu
  • In the Settings dialog (Ctrl+Alt+S) , select Keymap.

    Find the sqlite3 action under the External Tools node and assign a shortcut for it by selecting Add Keyboard Shortcut from the context menu. Use the shortcut to run the tool.

    Run sqlite3 by using a mapped shortcut

    Find the psql action under the External Tools node and assign a shortcut for it by selecting Add Keyboard Shortcut from the context menu. Use the shortcut to run the tool.

    Run psql by using a mapped shortcut

DataGrip displays the output in the Run tool window.

sqlite3 output in the IDE
psql output in the IDE
22 July 2026