DataGrip 2023.3 最新变化

数据可视化

Since the release of DataGrip 2023.3, it's been possible to visualize data following our integration of the Lets-Plot library, with its basic no-code data visualization possibilities. 可视化分为三种网格形式:

  • 主标签页:当您打开表、视图或 CSV 文件时,绘图将以拆分模式显示。
  • 结果标签页:在 Services(服务)工具窗口中观察查询结果时,可以显示绘图而不是网格。
  • 编辑器内结果:您可以显示绘图而不是网格。

注意,存在一个已知问题:可视化设置无法保存,这意味着重新打开网格时,绘图将处于默认状态。 有关数据可视化的更多信息,请参阅我们的文档。 此功能仍在开发中,我们希望听到您的反馈! 您可以使用反馈表在我们的跟踪器中创建问题,或者直接发送电子邮件至 datagrip@jetbrains.com

新的导入功能

我们投入了大量时间重做导入功能,原因如下:

  • It was the last chapter in the big transition to our generated Modify Object UI, which is described in detail here.
  • 该功能现在允许导入到多个目标。
  • 现在可以同时编辑多个内容。 例如,您可以更改多个文件的格式或编码,更改多个目标的架构。

部分亮点功能:

映射

默认目标实体称为映射。 在这里,您可以定义目标表,并通过目标表的列映射文件列。 如需编辑表本身,请点击 Edit(编辑)按钮:

表将出现在右侧树形 UI 中。 此 UI 完全重复了 Modify Object(修改对象)UI,允许您以多种方式操作表及其对象。

自动生成表名

此按钮会自动从源文件生成表名。 重命名表后,可以使用此按钮将其还原为默认名称。

简化列名

此操作适用于原始列名包含空格的情况。

还原为旧 UI 的功能

我们深知这次重做是一个巨大的变化,可能会给部分用户带来不便。 我们非常欢迎您与我们分享反馈,帮助我们了解如何改进新 UI,使其在所有用例中都更强大、更清晰。

如果您希望还原为旧 UI,可以使用此选项。

在我们处理完有关新 UI 的所有反馈之前,此选项将一直可用。

处理数据

数据编辑器中的可自定义数字格式

数据编辑器中的数字显示更为灵活。 最重要的是,您可以指定小数点和分组分隔符。 其他选项包括定义如何呈现无穷大和 NaN 的功能。

将数字呈现为 UNIX 时间戳

In the UNIX timestamp format, timestamps are stored as numbers, expressing how many milliseconds have elapsed since January 1, 1970 (UTC). DataGrip 现已支持此格式。

SQL Server 对通过 BCP 导入/导出表的支持

We've added support for the BCP tool, which lets you export and import tables in SQL Server.

DynamoDB 支持

感谢为此工单投票的 419 人, JetBrains IDE 现已支持 DynamoDB!

以下是我们目前实现的功能:

  • DynamoDB 数据可以通过 DataGrip 的数据查看器查看。
  • 在代码编辑器中支持适用于 DynamoDB 的 PartiQL。
  • 带有键和索引的表现已内省。

如果您认为还有其他需要优先支持的内容,请对此 YouTrack 问题发表评论。

内省

内省调度器

您现在可以为每个数据源设置内省间隔。

Oracle 内省级别默认值

DataGrip 需要很长时间来内省 Oracle 中的架构,因为 Oracle 目录通常非常慢。 为了解决这个问题,内省级别得以引入。

默认情况下,将选择最高级别。 这意味着内省仅在所选架构的第三级开始,速度很慢。 更重要的是,一些用户根本不知道内省级别设置的存在。

DataGrip 2023.3 优先考虑用户体验和性能,而不是功能完整性。 默认内省级别值现在被设为 Auto Select(自动选择)。

我们的新方式是根据架构类型和对象数量为每个架构设置默认内省级别。 我们假设用户最常使用当前架构(Oracle 会话连接到的架构),较少使用非当前模式,很少使用系统模式。

对于各个架构,内省程序会对对象进行计数,并使用以下阈值(其中,N 为对象数量)选择内省级别。

我们还实现了片段化内省,用于检索单个对象的元数据。 这有助于用户明确请求元数据(通常是源代码)的情况。 例如,双击视图后,如果内省级别较低,DataGrip 会同时请求源代码。 这与其他数据库工具的工作方式更相似。

自动级别检测默认启用。 如果您希望 DataGrip 还原到先前状态,转到 Data Source properties | Options | Introspection | Default level(数据源属性 | 选项 | 内省 | 默认级别),选择 Level 3(级别 3)。 要详细了解这项功能的运作方式,请阅读本文

SQL Server 对新对象的支持

SQL Server 现已支持新对象:

  • 分区函数和分区方案
  • 分区和相关表/索引属性
  • 分类表
  • 文件组

Redshift 对具体化视图的支持

Redshift 中的具体化视图现在会得到内省,并显示在 Database Explorer(数据库资源管理器)的专属节点中。

运行查询

Oracle 查询控制台中对参考光标的支持

如果您在控制台或 SQL 文件中运行查询,现在可以从参考光标获取结果。

  • 如果运行的函数返回的结果仅包含一个参考光标,DataGrip 会立即导航到参考光标中的结果。
  • 在更复杂的情况下,如果结果包含多个参考光标或参考光标以外的其他内容,DataGrip 将显示主要结果,让您有机会查看其他参考光标中的结果。 您可以从带有参考光标的单元转到相应的结果集(Enter/双击),或者进行反向操作 (Ctrl+B)。

代码生成

启用/禁用数据库对象

部分类型的对象可以启用和禁用。 从现在开始,DataGrip 支持通过 UI 执行此操作,这使您可以生成并运行相应的代码段。

此功能适用于:

  • MySQL 事件。
  • PostgreSQL 规则、触发器和事件触发器。
  • MS SQL 索引、外键、检查约束和触发器。
  • Oracle 键、唯一键、外键、检查约束、触发器、表空间和用户帐户。

其他

SQLite 如果使用 WSL 路径则发出警告

很遗憾,无法使用位于 WSL 路径下的 SQLite 数据库。 因为 WSL 不遵循 SQLite 文件锁定机制。 目前,DataGrip 唯一可用的解决方案是在这种特殊情况下显示警告。

Please vote for the original WSL issue if this is critical for you.