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日