PyCharm 2025.3 Help

元数据与内省

元数据 包含有关数据库对象、结构、数据库对象源代码等信息。 PyCharm 使用此信息在 数据库 工具窗口中显示对象、显示其 DDL、在补全期间进行建议,以及提供其他编码辅助、导航和搜索功能。

在 PyCharm 中,有两种获取数据库元数据的方法:迷你目录和 内省。

迷你目录

通过用于系统架构的迷你目录,系统架构的元数据会预先内省,并由 IDE 本身提供。 借助它们,您可以在内省系统架构之前、无需连接到数据库的情况下编写使用系统元数据的脚本。

内省

内省 是加载数据库元数据的过程。 执行内省时,会检查数据源中的结构信息,以检测表、列、例程等数据库对象及其属性。

只有具有数据结构和目录的数据库才支持内省。

默认情况下,仅会内省在 数据库 工具窗口中选择显示的架构和数据库。

您可以通过在 数据库 工具窗口中选择它们,或在 数据源和驱动程序 对话框(Shift+Enter )中编辑数据源属性,来选择要内省并显示的架构和数据库。

为内省选择架构和数据库

  • 在 数据库 工具窗口中:

    1. 要打开 数据库 工具窗口,请在主菜单中选择 视图(V) | 工具窗口 | 数据库。 或者,按 ⌘ 1。

    2. 在 数据库 工具窗口中,点击数据源、数据库或架构名称旁的 第 N 个,共 M 个 按钮。

      在数据库工具窗口中选择架构或数据库
    3. 在架构选择弹出窗口中,选择数据库或架构,然后按 Enter。

  • 在 数据源和驱动程序 对话框中:

    1. 要打开该对话框,请在 数据库 工具窗口中右键点击数据源,然后选择 属性图标属性。 或者,点击工具栏上的 设置按钮数据源属性 图标。

    2. 在 数据源和驱动程序 对话框的 架构 选项卡中,选择数据库或架构。

      在数据源属性中选择架构或数据库

      请注意, 对象筛选器 字段仅定义哪些对象在 数据库 工具窗口中可见,不影响内省范围。

    3. 应用更改并关闭对话框。

一旦必要的数据库和架构完成内省,IDE 便可以将脚本中的数据库对象解析到正确的上下文中。 下面的示例演示了已内省与未内省架构的数据库对象解析。

已内省与未内省架构的数据库对象解析
  1. 尚未内省的 MySQL 数据源。

  2. PostgreSQL 数据源中唯一已内省的 guest 数据库。 该数据库包含四个架构,且仅 public 已完成内省。

  3. 在 查询文件 中的数据库对象解析:对于已内省的 guest 架构解析成功,而对于尚未内省的 tests 架构解析失败。

对于每个数据源,您还可以选择要为其加载数据库对象源代码的架构类别。

为不同架构加载数据库对象的源代码

  1. 要选择为哪些架构加载数据库对象的源代码,请打开 数据源和驱动程序 对话框(Shift+Enter ),并选择一个数据源。

  2. 在 选项 选项卡中,导航到 为…加载源代码 设置并选择架构类别。

  3. 应用更改并关闭对话框。

选择要为其加载数据库对象源代码的架构类别

如果正在处理所有对象,数据库用户可能会遇到较长的内省时间,而对于日常工作和编码辅助通常没有必要。 为减少内省对象的数量,PyCharm 针对部分受支持的数据库实现了其他 内省类型 以及三个 内省级别。

内省类型

内省类型定义了在内省期间刷新哪些数据库对象。 某些数据库允许将内省范围缩小到特定对象。 在 PyCharm 中,依据您的数据库,可用的内省类型包括: 完全内省、 片段内省以及 增量内省。

完全内省

在 数据库 工具窗口(架构选择器 )或在 数据源和驱动程序 对话框(架构 选项卡 )中为内省选定的架构和数据库将被刷新。

增量内省

仅刷新上一次内省运行后在数据库中发生更改的数据库对象。

片段内省
  • 当您调用 刷新 操作时,仅会刷新在 数据库 工具窗口中选定的数据库对象。

    当您调用刷新操作时,数据库工具窗口中选定的数据库对象将被刷新。
  • 当您在 查询文件 中运行语句时,将应用 智能刷新 机制。 PyCharm 会分析该语句可能修改的对象,并且仅刷新该特定的一组对象。

对于部分受支持的数据库,可以通过 内省级别 进行内省。

按级别内省

内省级别定义了为数据库对象检索的信息详尽程度:

  • 级别 1:仅加载数据库对象名称。

  • 级别 2:除数据库对象的源代码外,加载所有内容。

  • 级别 3:加载所有内容。

有关内省级别的更多信息,请参阅 自省级别 主题。

数据库工具窗口中的内省级别

如果某个数据库不支持特定的内省类型,PyCharm 将执行完全内省。 以下数据库支持特定的内省类型和内省级别:

数据库

增量内省

片段内省

内省级别

Amazon Redshift

是

-

是

Azure SQL Database

是

是

-

Greenplum

是

-

-

MariaDB

是

是

是

Microsoft SQL Server

是

是

是

MySQL

是

是

是

Oracle

是

是

是

PostgreSQL

是

是

是

最后修改日期: 2025年 12月 2日