PhpStorm 2022.3 Help

Query console

Overview

Query consoles are SQL files that are associated with a data source and connected to it via a connection session. In query console you can compose and execute your SQL statements.

For example, if you open a query console for PostgreSQL, a connection session to the PostgreSQL data source is automatically created. When you open an SQL file from your hard drive, you need to specify the connection session first.

Database connection session

For each console, a data source connection session is created automatically. You can create new connection sessions and attach your console to existing ones in the console toolbar.

In the following example, the PostgreSQL console is associated with the guest.public schema of a data source and connected to it via the console connection session. You can change the console session to actor or create a new session and attach the console to it.

Read more about managing sessions in Managing connection sessions.

Change the connection session

Code editor

The code editor is where you compose your SQL statements using the resolve modes and coding assistance features, and execute them against the associated data source.

Find the code editor toolbar controls in Code editor controls. Read more about the editor in Editor basics.

Resolve modes

In order to run SQL scripts, treat the usages of the database objects as links, and provide you with correct code completion, PhpStorm must resolve the database objects in your code to a certain context. By default, IDE uses one of the following as a starting point to resolve the database objects to: <schema> selector, or the default database (if none of the above is set).

For more information about resolve modes, refer to Resolve modes.

User parameters

Before execution of a parametrized statement, you see the Parameters window where you can specify values for the parameters.

Run a statement with parameters

SQL statement execution

When you execute a statement, the Services tool window opens. The Services tool window displays available connection sessions, Output and Result tabs. For more information about the Services tool windows, see Services tool window.

Code editor controls

Use the code editor to compose and execute your SQL statements as well as to perform other associated tasks.

Read more about the editor in Editor basics.

Toolbar controls

Item

Tooltip and shortcut

Description

the Execute button

Execute

Ctrl+Enter

Execute selected SQL statement or statements.

If nothing is selected, the current statement is executed.

Browse Data Source History

Browse Query History

Ctrl+Alt+E

Open a dialog that shows all the statements that you have run for the corresponding data source.

See also, Using the History dialog.

View Parameters

View Parameters

Open or close the Parameters dialog.

Settings

Open Query Execution Settings…

Open the Tools | Database | Query Execution section of the Settings dialog to view or edit the query execution settings.

For more information on these settings, refer to Query Execution.

Transaction mode

Transaction Mode

and

Transaction Isolation

Select the isolation level for database transactions and the way the transactions are committed.

  • Auto: the current transaction is committed automatically when you submit your local changes to the database server.

  • Manual: the changes submitted to the database server are accumulated in a transaction that can either be committed or rolled back explicitly by means of the Commit (Commit button) or Rollback (Rollback button) buttons on the toolbar.

For more information about database transaction modes and isolation, refer to Submit changes to a database.

Commit

Commit Ctrl+Alt+Shift+Enter

Commit the current transaction. See also, transaction modes and isolation.

Rollback button

Roll Back

Roll back changes. This button is available only for the manual transaction mode. See also, transaction modes and isolation.

Cancel Query

Cancel Running Statements

Ctrl+F2

Terminate execution of the current statement or statements.

Playground

File Resolve Mode

Select the resolve mode to manage the context that database objects in your code are resolved to.

  • Playground: default mode for query consoles. All the database objects are resolved to the same context.

  • Script: default mode for local SQL files. The USE SQL statement (SET search_path TO for PostgreSQL) overrides the default context that the database objects are resolved to.

For more information about the resolve modes, refer to Resolve modes.

Database plugin icons editor output

In-Editor Results

Toggle the display of query result within the code editor of query console.

In-Editor results

For more information about the in-editor results, refer to Display query results in a query console and Disable in-editor results.

Schema <schema>

Switch current schema

Select the default schema or database. For PostgreSQL, Amazon Redshift, and Greenplum use the <schema> list to form the schema search path.

Select a search path for PostgreSQL

For more information about schemas, refer to Schemas.

Database session <session>

Switch attached session

Select the database connection session.

For more information on the database connection sessions, refer to Managing connection sessions

Productivity tips

In the code editor context menu, use the following actions to increase your productivity:

Item

Shortcut

Description

Database plugin icons table Edit as Table

In INSERT statements, opens the editor for working with the data in a table format.

Edit data in INSERT statements as a table

Change Dialect (<CurrentDialect>)

Change the SQL dialect. Select a dialect from the list.

Explain Plan

  • Explain Plan: show an execution plan (or explain plan) for the current statement. The result is shown in a mixed tree/table format on a dedicated Plan tab.

    Example of Explain Plan

    To build a diagram of the execution plan, click the Show Visualization button (the Show Visualization button) on the left of the Plan tab, or press Ctrl+Alt+Shift+U.

  • Explain Plan (Raw): show an execution plan (or explain plan) for the current statement. The result is shown in table format. Technically, EXPLAIN <CURRENT_STATEMENT> or similar statement is executed.

    Example of Explain Plan

App actions execute Execute

Ctrl+Enter

Execute the current statement or the sequence of selected statements.

App actions execute Execute to File

Execute the current statement and save results in a text file. Select the output format and specify the file location and name.

Run 'console [data_source]'

Ctrl+Shift+F10

Execute all the statements in the query console.

Services tool window controls

For the SQL statements execution, Services tool window displays information about statement or the retrieved data.

For full information about Services tool window, refer to Services tool window.

Output tab

Use the Output tab of Services tool window to view information about SQL statements and other operations that you performed in a query console. Also, the Output tab displays information about errors, timestamps, affected rows, query duration, the autocommit mode, and other operations.

The Output tab

Right toolbar

Item

Tooltip

Description

Soft-wrap

Soft-Wrap

Wrap long lines of text.

Scroll to end

Scroll to End

Scroll the output log to the end.

Print

Print

Print a query console file, a selected text, or all the files in a directory.

Clear all

Clear All

Clear the Output tab.

Context menu

Item

Description

Copy Copy

Copy the selected text.

Copy as Plain Text

Copy the selected text as plain text (without formatting).

Copy Reference

Copy a reference link to a file or a line.

Compare with clipboard Compare with Clipboard

Open the Clipboard vs Editor dialog where you can see the diff between the selected text and the text that you copied to a clipboard.

Search with Google

Open a browser and run a search on Google for the selected text.

Fold Lines Like This

Fold the lines that include the selected text.

Pause Output

Pause the output logging.

Delete Clear All

Clear the output log.

Result tab

Use the Result tab of Services tool window to see the data that was retrieved from the database in a table format. You can sort, add, edit, and remove data as well as perform other associated table tasks. For more information about working with tables, rows, columns, and cells, see Tables.

Result tab in the Services tool window

Main functions

Most of the functions in the Result tab are accessed by using controls on the toolbar, context menu commands for the data cells, and associated keyboard shortcuts. You can see what other actions with tables you can perform in Tables.

Toolbar controls

Item

Tooltip and shortcut

Description

First page, Previous page, the Change page size button, Next page, Last page

First Page,

Previous Page Ctrl+Alt+Up,

Change page size,

Next Page Ctrl+Alt+Down,

Last Page

Use navigation icons and corresponding commands for switching between pages that show the retrieved data and change the page size.

A number of rows that you see on the Result tab are referred to as a result set page. If this number is less than the number of rows that satisfy the query, only a subset of all the rows is shown at a time. If all the rows are currently shown, navigation icons and the corresponding commands are inactive. You can see the limit between the navigation buttons. You can change it here by clicking and selecting the necessary limit or in settings.

  • First page: jump to the first page of results.

  • Previous page: go to the previous page of results.

  • Next page: go to the next page of results.

  • Last page: jump to the last page of results.

To change the size of a result set page, click the Change page size button and select the size. Alternatively, open settings (Ctrl+Alt+S) and navigate to Tools | Database | Data Editor and Viewer. In the Limit page size to field, type a new size of a result set page. Alternatively, to disable the page size restriction, clear the Limit page size to checkbox.

Reload page

Reload Page

Ctrl+F5

Reload data for the table view to synchronize the data that you see in the editor with the contents of the database. Also, use the Reload Page button when you want to apply a new page size limit setting after its change.

Add Row

Add Row

Alt+Insert

Add a row to the table.

To save a new row, click Submit the Submit button.

The Add Row button is disabled in the inappropriate context. For example, if the current table does not permit adding rows.

For more information about working with rows, see Rows.

Delete Row

Delete Row

Ctrl+Y

Delete the selected row or rows.

To select multiple rows, click numbers in the gutter. Also, you can press Ctrl and click the necessary rows.

The Delete Row button is disabled in the inappropriate context. For example, if the current table does not permit removing rows.

Transaction mode

Transaction Mode

and

Transaction Isolation

Select the isolation level for database transactions and the way the transactions are committed.

  • Auto: the current transaction is committed automatically when you submit your local changes to the database server.

  • Manual: the changes submitted to the database server are accumulated in a transaction that can either be committed or rolled back explicitly by means of the Commit (Commit button) or Rollback (Rollback button) buttons on the toolbar.

For more information about database transaction modes and isolation, refer to Submit changes to a database.

the Submit button

Submit

Ctrl+Enter

Submit local changes to the database server. For more information about submitting and reverting changes, see Submit changes to a database.

Commit

Commit Ctrl+Alt+Shift+Enter

Commit the current transaction. See also, transaction modes and isolation.

Rollback button

Roll Back

Roll back changes. This button is available only for the manual transaction mode. See also, transaction modes and isolation.

Cancel Query

Cancel Running Statements

Ctrl+F2

Terminate execution of the current statement or statements.

Compare with

Compare Data

Compare the current table with a table from the list.

For more information about comparing tables, see Compare table data.

Pin button

Pin Tab

Pin the tab to the tool window to keep the query result.

For more information about pinning tabs, see Pin the tab with query results.

Data Extractor

Data Extractors

Select an output format for your data.

Also, you can configure the following options:

  • Skip Computed Columns: do not include virtual columns that are not physically stored in the table (for example, the identity column).

  • Skip Generated Columns: for INSERT and UPDATE statements, do not include auto-increment fields when copying or saving data.

  • Configure CSV Formats: open the CSV Formats dialog where you can manage your delimiter-separated values formats (for example, CSV, TSV).

  • Go To Scripts Directory: open a directory with scripts that convert table data into different output formats.

Export Data

Export Data

Export the table data to the clipboard or save to a file.

Export to Database

Export to Database

Export the data to another table, schema, or database. In the Choose Target dialog, select the target schema (a new table is created) or table (the data is added to the selected table). In the Import Table dialog, customize mappings.

Show Options Menu

Show Options Menu

The Show Options Menu list includes the following options:

  • Show Geo Viewer: enable a graphic viewer to explore geospatial data in your database.

    For more information about the Geo viewer, refer to Using Geo viewer for geographical data in PostgreSQL.

  • Show Value Editor: open a separate editor where you can edit data that is stored in the cell.

    For more information about the editor, refer to Value editor.

  • Show Aggregate View: open the aggregate view where you can select values of multiple cells and get a single summary value.

    For more information about the view, refer to Aggregate view.

  • Paste Format: select how you want to treat the text from the clipboard on paste.

  • Reset View: restore the initial table view if you customized the table view before (for example, hidden columns or sorted data).

  • View Query: view the query that generated the table.

  • Copy Query to Console: copy the query that generated the table to query console.

  • Open Data View Settings...: open the Data Editor and Viewer section in settings, where you can define how table data are shown and modified in your query consoles and data editors.

    For more information about the Data Editor and Viewer settings section, refer to Data Editor and Viewer.

Context menu

Action

Shortcut

Description

Edit

F2

Edit a value in the selected cell or cells. Alternatively, you can double-click the cell and start typing a value. The Edit command is unavailable for read-only values.

  • To open the auto-completion list, press Ctrl+Space.

  • To confirm your changes, press Enter.

  • To cancel editing, press Escape.

For more information about editing cells, see Cells.

App general expand component Open in Value Editor

Shift+Enter

Open in a separate value editor where you can edit data that is stored in the cell.

For more information about the editor, refer to Value editor.

App general expand component Show Aggregate View

Open the aggregate view where you can select values of multiple cells and get a single summary value.

For more information about the view, refer to Aggregate view.

the Revert Selected button Revert Selected

Ctrl+Alt+Z

Revert changes that you made to a cell value. You can select a scope of different cells and revert values in this scope.

For more information about reverting changes, see Submit changes to a database.

Set Highlighting Language

Select a language that the IDE should use to highlight data in a cell.

Change Display Type

Select how the IDE should display binary data in the column. 16-byte data is displayed as UUID by default.

Set DEFAULT

Ctrl+Alt+D

Set the current cell value to the default value or the value that you specified for the column.

For more information about how to view or set a default value, see Manage default and NULL values for a cell.

Set NULL

Ctrl+Alt+N

Set the current cell value to NULL.

For more information about how to allow a NULL value, see Manage default and NULL values for a cell.

Load File…

Load a file into the field.

Save LOB…

For the cells that contain a binary large object (LOB). Save content of a cell into a file.

App actions copy Copy

Ctrl+C

Copy selection to the clipboard.

App actions copy Copy Aggregation Result (SUM)

Copy a summary value for a range of cells. By default, PhpStorm copies the SUM aggregation result. To change the default, right-click the status bar and ensure that the Aggregator option is selected. Click the aggregator widget on the status bar and select the aggregator to use as default.

grid.aggregator.widget.display.name

App actions menu paste Paste

Ctrl+V

Paste the contents of clipboard into the table.

App general add Add Row

Add a row to the end of a table.

App general remove Delete Row

Alt+Delete

Delete selected rows.

App actions copy Clone Row

Create a duplicate of the selected row and adds the duplicate to the end of a table.

Quick Documentation

Ctrl+Q

Show information about selected objects. For different database objects, Quick Documentation shows corresponding information. For example, for a group of cells, you will see a summary for the selection. You can preview it in a regular or in a transposed view and also see the related records by their foreign keys.

Go To | Navigation Bar

Jump to a navigation bar.

Go To | Database

Open the selected object in the Database tool window.

Go To | Related Symbol

Navigate to one of the related objects.

Go To | DDL

Open an object definition (DDL).

Go To | Row…

Ctrl+G

Jump to a specified row.

In the Go to Row dialog, specify the column and row number (use the column:row pattern).

Go To | All Related Rows

F4

Jump to a related record.

The command options are a combination of those for Go To | Referenced Rows and Go To | Referencing Rows. Read more about related data in Navigate between related data.

All Related Rows

The command is not available if there are no related records.

Go To | Referenced Rows

Ctrl+B

Switch to a record that the current record references. If more than one record is referenced, select the target record in the popup that appears.

Read more about related data in Navigate between related data.

The command is not available if there are no referenced records.

Go To | Referencing Rows

Alt+F7

Use this command or shortcut to see the records that reference the current record. Read more about related data in Navigate between related data. In the popup that appears there are two categories for the target records:

  • First Referencing Row: all the rows in the corresponding table are shown, and the first of the rows that references the current row is selected.

  • Referencing Rows Only: only the rows that reference the current row are shown.

The command is not available if there are no records that reference the current one.

Filter by

Select a filter that you want to a column.

App actions search Full-Text Search…

Ctrl+Alt+Shift+F

Open a search window where you can search for data in your database or a group of databases. For more information about full-text search, see Full-text search in databases.

Search for data in databases

App actions download Export Table to Clipboard

Copy the whole table to the clipboard. This action does not depend on Limit page size to setting.

Switch Session (your_current_session_name)

Open a window to select another session or create a new one. For more information about sessions, see Managing connection sessions.

Value editor

Value editor is a separate editor where you can edit data that is stored in the cell. To open Value editor, in the cell context menu select Open in Value Editor.

Open in Value Editor context menu option

To edit the value in Value editor, do the following:

  • To start a new line, press Enter.

  • To enter the value, press Ctrl+Enter.

  • To restore an initial value and quit the editing mode, press Escape.

  • To enable soft wrap in the editor by clicking the Toggle Soft-Wrap button the Toggle Soft-Wrap button.

If you store one-line JSON in a cell, you can click the Toggle Formatting icon. This action formats one-line XML and JSON strings.

Also, you can preview images in the value editor.

Note that to leverage the performance issues, the default LOB size is limited to 1024 bytes. It means that only 1024 bytes are loaded to the table editor. To increase this size and view larger images, open settings by pressing Ctrl+Alt+S, navigate to Tools | | Data Editor and Viewer, and change the value of the Maximum number of bytes loaded per value option.

Aggregate view

In the Aggregate view, you can select values of multiple cells and get a single summary value. To open Value editor, in the cell context menu select Show Aggregate View.

Open in Value Editor context menu option

Click the gear icon on the toolbar of the Aggregates tab to view, enable, and disable aggregates. Also, you can create your own aggregate scripts. Bundled scripts are located in Scratches and Consoles | Extensions | Database Tools and SQL | data | aggregators. To add your own aggregator, place your script to the aggregators directory.

Aggregate scripts and extractors
Last modified: 05 December 2022