Configure connection
Enable the Database Tools and SQL plugin
This functionality relies on the Database Tools and SQL plugin, which is bundled and enabled in PyCharm by default. If the relevant features aren't available, make sure that you didn't disable the plugin.
Press Control+Alt+S to open the IDE settings and then select
.Open the Installed tab, find the Database Tools and SQL plugin, and select the checkbox next to the plugin name.
When you create a data source, PyCharm connects to a database automatically to receive database objects. Then the connection closes. Names of data sources that interact with a database are shown in the Database tool window with a little green circle.
If you want to close a database connection, select a data source and click the Deactivate button () on the toolbar. Alternatively, select a data source and press Control+F2.
Connection options
Set a time zone for a connection
Open data source properties. You can open data source properties by using one of the following options:
In the Database tool window ( ) , click the Data Source Properties icon .
Press Control+Alt+Shift+S.
Select a data source that you want to modify and click the Options tab.
In the Time zone field, start typing the time zone that you want to use.
Apply settings and click OK.
Keep the connection alive
You can keep the connection to a database alive by running a keep-alive query after the specified period. You can define the custom query in the driver settings for unsupported databases.
Open data source properties. You can open data source properties by using one of the following options:
In the Database tool window ( ) , click the Data Source Properties icon .
Press Control+Alt+Shift+S.
On the Data Sources tab, select a data source that you want to modify.
On the Options tab, select the Run keep-alive query each checkbox and type a number of seconds after which PyCharm must run a keep-alive query again.
Disconnect from a database in a specified period
You can specify a period in seconds after which PyCharm terminates the connection.
Open data source properties. You can open data source properties by using one of the following options:
In the Database tool window ( ) , click the Data Source Properties icon .
Press Control+Alt+Shift+S.
On the Data Sources tab, select a data source that you want to modify.
On the Options tab, select the Auto-disconnect after checkbox and type a number of seconds after which PyCharm terminates the connection.
Set a predefined query to run as you establish a connection
Open data source properties. You can open data source properties by using one of the following options:
In the Database tool window ( ) , click the Data Source Properties icon .
Press Control+Alt+Shift+S.
On the Data Sources tab, select a data source that you want to modify.
On the Options tab, in the Startup script field, specify the query that you plan to run on a connection to a database.
Refresh the database state
If someone changed the remote database data or view, the local view of the database might differ from the actual state of the database.
Open data source properties. You can open data source properties by using one of the following options:
In the Database tool window ( ) , click the Data Source Properties icon .
Press Control+Alt+Shift+S.
On the Data Sources tab, select a data source that you want to modify.
On the Options tab, select the Auto sync checkbox.
If the Auto sync checkbox is cleared, the view of the data source in the Database tool window is synchronized with the actual state of the database only when you click the Refresh icon () in the toolbar or press Control+F5.
Filter objects with the object filter
Open data source properties. You can open data source properties by using one of the following options:
In the Database tool window ( ) , click the Data Source Properties icon .
Press Control+Alt+Shift+S.
On the Data Sources tab, select a data source that you want to modify.
On the Schemas tab, type filtering options in the Object filter field.
Use the following pattern when you compose an expression for the Object filter field.
<type>:[-]<pattern>
, where:<type>
might be an aggregate, collation, event, fdw, ftable, mview, operator, package, role, routine, sequence, synonym, table, user, view, vtable.<pattern>
is a regular expression. To exclude an item, prepend with-
(minus). For more information about regular expressions, refer to Class Patterns at JavaTM 2 Platform Standard Edition 5.0 API Specification.
Filter databases and schemas
Open data source properties. You can open data source properties by using one of the following options:
In the Database tool window ( ) , click the Data Source Properties icon .
Press Control+Alt+Shift+S.
On the Data Sources tab, select a data source that you want to modify.
On the Schemas tab, type filtering options in the Schema pattern field.
@
: the current database or schema.*
: every database or schema. You can list schemas after*:
.
Consider the following examples:
*:*
: all schemas in all databases.@:*
: all schemas from the current database@:@
: only the current schema*:dbo|@:@|db1:s1,s2,s3
: thedbo
schema from all databases, the current schema, schemass1,s2,s3
from thedb1
database.
Connection modes
Enable read-only mode for a connection
Open data source properties. You can open data source properties by using one of the following options:
In the Database tool window ( ) , click the Data Source Properties icon .
Press Control+Alt+Shift+S.
On the Data Sources tab, select a data source that you want to modify.
On the Options tab, select the Read-only checkbox.
Single session mode
Single session mode means that the data source and all consoles use one and the same connection. This mode allows you to see the temporary objects in the database tree, or use the same transaction in different query consoles. For more information about query consoles, refer to Query consoles.
When you apply single session mode, you must close all existing opened connections. PyCharm displays a notification if you have opened connections. To close opened connections for the selected data source, click Yes. To close opened connections for all modified data sources, click Yes for All.
Open data source properties. You can open data source properties by using one of the following options:
In the Database tool window ( ) , click the Data Source Properties icon .
Press Control+Alt+Shift+S.
On the Data Sources tab, select a data source that you want to modify.
On the Options tab, select Single session mode.
Click Apply.
Single database mode
When you connect to a data source, PyCharm can retrieve and display you all the databases that the data source has. But in some cases (for example, with certain settings of PgBouncer), you can or are allowed to work only with a certain database. With the Single database mode enabled, you see in the database tree view only the database that you specified in the connection settings, not all the databases that were received from the data source.
Consider using this setting, for PostgreSQL, Azure SQL Database, Greenplum, Amazon Redshift.
Open data source properties. You can open data source properties by using one of the following options:
In the Database tool window ( ) , click the Data Source Properties icon .
Press Control+Alt+Shift+S.
On the Data Sources tab, select a data source that you want to modify.
On the Options tab, select Single database mode.
Click Apply.
Transaction mode
A commit ends a transaction and makes all changes available to other users. In PyCharm, you can select how you want to commit transactions: automatically or manually.
The data editor accumulates all the changes that you made. When you press the Submit and Commit button (), PyCharm sends these changes to a database. In the database, changes are processed according to the selected commit mode:
With Tx:Auto, the database itself commits all the changes.
With Tx:Manual, changes are stored in a transaction in the database. When you press Submit and Commit (), transactions are committed to the database. When you commit the transaction, the Submit and Commit icon () disables (grays out). It means that all the transactions have been committed.
If the commit mode is set to Auto, each change of values, rows, or columns is implicitly committed and cannot be rolled back. In the Auto commit mode, Submit and Commit and Roll Back buttons are disabled.
If the commit mode is set to Manual, you can explicitly commit or roll back the submitted changes by clicking Submit and Commit or Roll Back buttons. To submit changes to a database, click the Submit button .
The Tx switch can also be used for selecting the isolation level for the transactions.
Select the default transaction mode for a data source
Open data source properties. You can open data source properties by using one of the following options:
In the Database tool window ( ) , click the Data Source Properties icon .
Press Control+Alt+Shift+S.
In the list of created data sources, click the data source that you want to modify.
Click the Options tab.
From the Transaction control list, select the default transaction mode for the selected data source.
The selected transaction control is applied for new query consoles.
Submit changes automatically
By default, changes are not submitted to a database unless you press the Submit icon , or press Control+Enter. You can enable the Submit changes immediately option to submit your changes automatically.
In settings Control+Alt+S, navigate to
.Select Submit changes immediately in the Data Modification.
Click OK.