Smart IDE for working with databases

On-the-fly coding assistance

Coding is what most developers spend the bulk of their time doing in an IDE. DataGrip’s smart features like auto-completion, code snippets, formatter, refactorings, and various intention actions help you code faster. Concentrate on the logic, not on what you need to type!

Smart data editor

DataGrip provides a smart data editor with the ability to add, delete, and change data. All of the queries DataGrip runs during data updates can later be found in its SQL log so you can perform the same changes against another database.

DataGrip’s data extractor supports many formats including SQL INSERTS, SQL UPDATES, CSV, JSON, XML, and others. The mechanism is customizable so you can create your own formats, such as Markdown or just plaintext.

Convenience when working with files

If you work with SQL files stored on your computer, then you might already have a working directory with tons of scripts. DataGrip provides a handy interface for that. Attach folders from your computer, associate them with data sources, run scripts against several databases, or even use built-in Git integration!

Fully customizable

DataGrip provides many ways to customize the interface. You can choose from any of the default color schemes or create your own, mark data sources with different colors, and even customize or set up your own keyboard scheme.

DataGrip for PostgreSQL developers

Dump and restore tools

To help you manage PostgreSQL backups, we've integrated pg_dump and pg_restore into DataGrip. As soon as you specify the path to these tools, you will be able to use DataGrip’s UI to dump and restore PostgreSQL databases. The restore operation can be performed with pg_dump or psql – you can choose which one to use in the Restore dialog.

Foreign data wrappers

Foreign data wrappers are an advanced PostgreSQL feature. They allow you to link a remote database to PostgreSQL and represent it as a set of foreign tables that behave like normal ones. DataGrip has built-in support for foreign data wrappers, and foreign tables are displayed in the database explorer.

Virtual foreign keys for pg_catalog

DataGrip has a mechanism for creating virtual foreign keys. It helps provide better code completion and navigation, in addition to displaying virtual relationships in the diagram. In PostgreSQL, pg_catalog is covered by virtual foreign keys out of the box. This means that JOIN completion helps you when querying system tables. Also, it is possible to use data in system tables for navigation.

Getting started with DataGrip for PostgreSQL

Step 1. Connect to the database

DataGrip uses a JDBC driver to connect to your PostgreSQL database, which will be downloaded automatically when testing the connection. In addition to the main credentials you’ll need in order to connect (such as port, user, and password), you can set several options for the new PostgreSQL data source:

  • Mark the data source as read-only. In this mode, every DDL or DML query will be underlined. If you execute it, there will be a warning.
  • Transaction control is an option that lets you decide whether you want all transactions to be committed automatically or not.
  • Run a keep-alive query and auto-disconnect to help you manage connection behavior.
  • The startup script is an SQL query which will be run each time you establish a connection.
  • Auto-sync determines if the database tree should be updated automatically after running DDL queries.
  • SSH/SSL options are also available if you need them.
  • Set the timezone (default is UTC).

Step 2. Explore database objects

Once you’re connected to your PostgreSQL database, you’ll see the list of objects in the left pane, called the database explorer. Here you can filter objects and choose which schemas should be shown.

Step 3. Write SQL

DataGrip can help you detect bugs and problems that are likely to arise in your SQL code before you compile and run it. Here are just a few examples of DataGrip coming to the rescue by catching mistakes and bringing them to your attention.