DataGrip SQL Editor Diagnostics: Fixing Auto-Completion, Highlighting, and Dialect Issues
A diagnostic guide for DataGrip SQL editor failures, covering dialect misconfiguration, schema metadata gaps, JDBC driver issues, and plugin corruption.
24 Aug 2026, 09:16 UTC

When you type a table name in DataGrip and the completion popup stays empty, or every keyword in a valid query is underlined as an error, the SQL editor has lost the context it needs to parse your code. The useful takeaway is that these failures almost always reduce to four layers: the SQL dialect assigned to the console, the schema metadata loaded from the database, the JDBC driver performing introspection, or the language-support plugins that power code insight. Work through them in order.
Recognizable Condition
You may see one or more of the following:
- Auto-completion is silent; typing a table or column name produces no suggestions.
- Syntax highlighting is absent, or vendor-specific keywords are flagged as errors in the wrong dialect.
- The Database view shows nodes, but the editor treats known identifiers as unresolved symbols.
- Code insight features such as inspections, intentions, and quick documentation are missing.
These symptoms often appear together because the SQL parser and completion engine share the same metadata sources.
Common Causes and Diagnostic Signals
| Suspected Cause | Observable Signal | Primary Diagnostic |
|---|---|---|
| SQL dialect mismatch | Keywords highlighted incorrectly; parser rejects valid syntax | Settings/Preferences → Database → Data Sources → [source] → Options → SQL Dialect |
| Missing or corrupted schema metadata | Completion lists empty; table names unresolved | Database view → right-click connection → Refresh |
| Outdated or incompatible JDBC driver | Introspection errors in Database view; driver exceptions in IDE log | Data Sources and Drivers → [source] → Drivers |
| Corrupted language support plugin | No highlighting, no inspections; plugin listed but disabled or crashed | Settings → Plugins → Installed |
| Suppressed completion settings | Completion works elsewhere but not in SQL console | Settings → Editor → General → Code Completion |
Ordered Checks and Fixes
1. Verify the SQL dialect
Where: Settings/Preferences (Ctrl+Alt+S) → Database → Data Sources → select the data source → Options tab.
Action: Confirm that SQL Dialect matches the target database (for example, PostgreSQL, MySQL, or Oracle). If it is set to Generic SQL, the editor lacks vendor-specific keywords and object resolution.
Risk: Changing the dialect can alter query semantics, formatting, and inspection rules; verify behavior after adjustment.
Check: Open a SQL console for that source and type a vendor-specific keyword such as RETURNING (PostgreSQL) or LIMIT (MySQL). Correct highlighting and completion indicate the dialect is active.
2. Reload schema metadata
Where: Database tool window.
Action: Right-click the connection node and choose Refresh. If table lists remain empty, right-click the target schema and refresh it as well.
Risk: Refreshing a large production schema can load thousands of objects; consider narrowing the schema scope in the data source options.
Check: Expand the Tables node under the schema; object names should appear and become available to completion.
3. Inspect the JDBC driver
Where: Settings → Database → Data Sources and Drivers → select the data source → Drivers tab.
Action: Compare the driver version against the database server version. Replace an outdated bundled driver with a compatible release, or point to an updated JAR if you are using a custom driver.
Risk: A mismatched driver may open a connection but fail during introspection; restart DataGrip after changing driver files so the new classloader picks them up.
Check: Click Test Connection. A success message plus populated schema nodes suggests the driver is healthy.
4. Validate language support plugins
Where: Settings → Plugins → Installed.
Action: Ensure the database and SQL dialect plugins are enabled and compatible with the current IDE build. If a plugin was manually disabled, re-enable it and restart. If it appears corrupted, disable it, restart, then reinstall it from the marketplace.
Risk: Disabling language support can remove refactoring, diagrams, and navigation alongside completion.
Check: After restart, open a .sql file. Syntax highlighting and intention actions should return.
5. Review code completion settings
Where: Settings → Editor → General → Code Completion.
Action: Confirm that autopopup is not globally disabled and that SQL-specific completion is not filtered out by an inspection profile.
Risk: Overly aggressive suppression can hide suggestions in all editors, not just SQL.
Check: In a SQL console, type SELECT and pause; a suggestion list should appear.
Minimal smoke test
Run the following in the SQL console attached to the suspect data source:
SELECT 1;
Permissions: read access to the target schema. Expected checks: the statement executes without false syntax underlines, and typing FROM after a table name triggers completion. Risk: avoid running unverified statements against production systems.
Escalation Criteria
- If all five checks pass but completion remains broken in a single project, invalidate caches:
File → Invalidate Caches / Restart... → Invalidate and Restart. This clears local indexes and forces a rebuild. - If the IDE log shows repeated driver exceptions or plugin stack traces after a restart, collect the log via
Help → Show Log in Explorer/Finderand contact JetBrains support or your database administrator with the log excerpt and driver version. - If dialect and metadata are correct but highlighting is wrong only in one file, check the file's associated data source using the console gutter or the
Switch Data Sourceaction.
Limitations and Practical Verification
DataGrip's introspection depends on the database's information schema and the connecting user's permissions; a user without access to system catalogs may see empty schemas even when the driver is healthy. Large schemas can delay completion until introspection finishes, and the status bar shows progress. Custom code style or inspection profiles can suppress suggestions without disabling completion entirely.
To verify a fix, repeat the original failing action—typing a table name or opening a query—in a fresh console attached to the corrected data source. Menu labels may vary slightly by version; if a path differs, use the search field in the Settings dialog.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.