PyCharm 2025.2 Help

元数据和自省

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

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

迷你目录

通过系统模式的迷你目录,系统模式的元数据已预先自省并随 IDE 一起提供。 它们允许在无需自省系统模式且无需连接数据库的情况下编写使用系统元数据的脚本。

自省

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

自省仅支持具有数据结构和目录的数据库。

默认情况下,仅对 数据库 工具窗口中选择显示的架构和数据库进行自省。

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

选择用于自省的架构和数据库

  • 数据库 工具窗口中:

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

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

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

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

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

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

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

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

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

一旦必要的数据库和架构被自省,IDE 就可以在您的脚本中将数据库对象解析到正确的上下文。 下面的示例演示了已自省和未自省架构的数据库对象解析。

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

  2. 仅有的 PostgreSQL 数据源中已自省的 guest 数据库。 该数据库包含四个架构,只有 public 架构已被自省。

  3. 在 查询控制台 中解析数据库对象:对于已内省的 guest 模式解析成功,而对于尚未内省的 tests 模式解析失败。

对于每个数据源,您还可以选择加载数据库对象源代码的模式类别。

加载不同模式的数据库对象源

  1. 要选择加载了数据库对象源的模式,请打开 数据源和驱动程序 对话框(Shift+Enter ),然后选择一个数据源。

  2. 选项 选项卡中,导航到 加载来源 设置并选择模式类别。

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

选择加载数据库对象源的模式类别

如果处理所有对象,数据库用户可能会遇到较长的自省时间,而这通常不是日常工作和编码辅助所必需的。 为了减少自省对象的数量,PyCharm 为部分支持的数据库实现了额外的 自省类型以及三个 自省级别

自省类型

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

完整自省

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

增量自省

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

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

    在 Database 工具窗口中选定的数据库对象将在执行刷新操作时被刷新。
  • 当您在 查询控制台 中运行语句时,将应用 智能刷新机制。 PyCharm 会分析哪些对象可能会被此语句修改,并仅刷新该特定对象集。

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

按级别自省

自省级别定义了检索数据库对象的详细程度:

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

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

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

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

Database 工具窗口中的内省级别

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

数据库

增量自省

片段自省

内省级别

Azure SQL 数据库

Greenplum

MariaDB

Microsoft SQL Server

MySQL

Oracle

PostgreSQL

最后修改日期: 2025年 9月 26日