跳到内容
请注意::本文仅为方便您阅读而提供。本文由翻译软件自动翻译,可能未经校对。本文的英文版应被视为官方版本,您可在此找到最新信息。您可以在此处访问。

从 PostgreSQL 或 MySQL 访问您的 HubSpot 数据

上次更新时间: 2026年10月26日

可与以下任何订阅一起使用,除非另有说明:

使用 PostgreSQL 和 MySQL 的“数据导出”功能,将选定的 HubSpot CRM 数据导出到您拥有的数据库中的表中。每次同步运行都会写入所选数据的完整快照,并替换之前的快照。同步完成后,您可以使用 SQL 或您偏好的 BI 和分析工具查询这些表,从而将 HubSpot 数据与其他业务数据相结合。

请注意:如果您是超级管理员,请将您的账户加入Data Studio 测试版,才能使用此功能。

某些功能需要 HubSpot 点数 将数据直接从 Data Studio 中的单一数据仓库源同步到 HubSpot CRM 不会消耗HubSpot 积分。如果您在同步前在 Data Studio 中对数据进行预处理(例如,创建计算字段或与其他数据源进行关联),这些操作会消耗 HubSpot 积分。



了解限制与注意事项

在开始使用此功能之前,请确保充分了解需要提前采取的步骤,以及该功能的限制和使用该功能可能带来的后果。

  • 每次同步都会用最新的快照替换目标表。HubSpot 不会保留之前的快照。
  • 每个 HubSpot 账户中,每个对象、事件类型或关联对均可包含在一次定期 PostgreSQL 同步和一次定期 MySQL 同步中。这些同步彼此独立,也与其他 Data Out 提供商独立。
  • 目前尚不支持敏感数据。可将敏感属性从导出中排除。
  • 目前尚不支持对象特定表,例如OBJECTS_CONTACTS。
  • 在 PostgreSQL 中,表名和列名区分大小写;在 MySQL 中,表名和列名可能区分大小写。编写查询前请仔细检查查询语法。

了解可导出的数据

您可以将以下数据从 HubSpot 同步到 PostgreSQL 或 MySQL:

  • 对象:标准和自定义对象,例如联系人、公司、商机、工单和产品。
  • 记录:所选对象的单个记录。
  • 属性:记录中的选定属性值和属性历史记录。
  • 关联:记录之间的选定关系,包括关联定义。
  • 事件:选定的标准 HubSpot 事件和自定义行为事件,包括选定的事件属性。

不同对象的数据会在对象表中合并。读取对象表时,请使用OBJECTTYPEID筛选特定对象。例如,联系人的 ID 为0-1。自定义对象在创建时会被分配一个 ID,其格式为2-{unique_id},例如2-12345。

了解导出格式

在设置过程中,您需要选择:

  • 目标数据库。此项仅适用于 PostgreSQL。对于 MySQL,HubSpot 会自动创建数据库。
  • 要同步的数据源:对象、事件、关联,或这些数据源的组合。
  • 同步计划。

HubSpot 将数据导出为 Parquet 文件,并直接加载到您的数据库表中。PostgreSQL 和 MySQL 不使用客户自有的中转存储桶。HubSpot 会在内部管理中转过程。

在数据库中查找您的数据

HubSpot 会为每个数据源在 HubSpot 管理的模式中创建一个表,该模式以您的目标名称命名。您可以在同步的配置页面上找到确切的模式名称。

  • PostgreSQL: <database>.hubspot_data_out_<destination-id>.<table-name>
  • MySQL: hubspot_data_out_<destination-id>.<table-name>。在 MySQL 中,模式和数据库是同一概念,且由 HubSpot 自动创建。无需单独选择数据库层级。

例如,在 PostgreSQL 中:

  • your_database.hubspot_data_out_456.OBJECT_WITH_OBJECT_PROPERTIES
  • your_database.hubspot_data_out_456.EVENTS_VISITED_PAGE
  • your_database.hubspot_data_out_456.ASSOCIATIONS_CONTACTS_TO_COMPANIES

例如,在 MySQL 中:

  • hubspot_data_out_456.OBJECT_WITH_OBJECT_PROPERTIES
  • hubspot_data_out_456.EVENTS_VISITED_PAGE
  • hubspot_data_out_456.ASSOCIATIONS_CONTACTS_TO_COMPANIES

每次同步都会用最新快照替换该表。HubSpot 不保留之前的快照。如果某张表在同步过程中出现故障,其先前数据将保留原位,直至下次同步成功。

表名和列名

表名和列名来源于导出的数据。PostgreSQL 的标识符长度限制为 63 个字符,MySQL 的标识符长度限制为 64 个字符。HubSpot 会将较长的名称缩短以符合限制。

标识符大小写

标识符的大小写区分重要。HubSpot 会创建所有表和列,其名称均用引号括起,并保留大写形式,与本文中的表名称一致。

  • PostgreSQL:请完全按照示例所示,将名称用双引号括起来。PostgreSQL 会将未加引号的名称转换为小写,因此无法匹配。
  • MySQL:请使用反引号,并严格遵循所示的大小写格式。表名是否区分大小写取决于您的服务器配置。

PostgreSQL 示例:

SELECT * FROM your_database.hubspot_data_out_456."OBJECT_WITH_OBJECT_PROPERTIES" WHERE "OBJECTTYPEID" = '0-1';

MySQL 示例:

SELECT * FROM `hubspot_data_out_456`.`OBJECT_WITH_OBJECT_PROPERTIES` WHERE `OBJECTTYPEID` = '0-1';

列类型

列类型遵循导出数据,并与 PostgreSQL 和 MySQL 类型映射如下:

导出类型 PostgreSQL MySQL
字符串 TEXT LONGTEXT
数字(32 位) INTEGER INT
数字(64 位) BIGINT BIGINT
时间戳 TIMESTAMP DATETIME(6)
布尔值 BOOLEAN TINYINT(1)
十进制 NUMERIC DECIMAL

请注意: PROPERTIES表中的OBJECT_WITH_OBJECT_PROPERTIES列以 JSON 格式的字符串形式导出。它在 PostgreSQL 中存储为TEXT,在 MySQL 中存储为LONGTEXT,而非 JSON 列类型。有关查询示例,请参阅常见问题解答。

查看对象表

如果您选择对象数据,HubSpot 将导出以下表。

OBJECT_PROPERTIES

该表中每个属性值对应一行。要读取特定对象,请按OBJECTTYPEID 进行筛选。

列名 类型 描述
OBJECTTYPEID 字符串 对象的ID。例如,联系人使用0-1。
OBJECTID 数字 记录的 ID。
NAME 字符串 属性名称。
VALUE 字符串 属性值。
UPDATEDAT 时间戳 该属性值在 HubSpot 中最后一次更新的日期和时间。
INGESTEDAT 时间戳 数据最后一次导入到导出源的日期和时间。

OBJECT_WITH_OBJECT_PROPERTIES

该表中每条记录对应一行,所选属性值被归类到单个PROPERTIES列中。要读取特定对象,请按OBJECTTYPEID 进行筛选。

列名 类型 描述
OBJECTTYPEID 字符串 对象的ID。例如,联系人使用0-1。
OBJECTID 数字 记录的ID。
PROPERTIES 文本(JSON) 该记录的选定属性值,以 JSON 格式的字符串表示。
UPDATEDAT 时间戳 该记录中选定属性在 HubSpot 中最后一次更新的日期和时间。
INGESTEDAT 时间戳 数据最后一次导入到导出源的日期和时间。

OBJECT_PROPERTIES_HISTORY

该表包含属性变更历史记录。与仅存储当前值的OBJECT_PROPERTIES 不同,该表针对属性的每个历史值都有一行记录。要查看单条记录和属性的完整时间线,请按UPDATEDAT 排序。

列名 类型 描述
OBJECTTYPEID 字符串 对象的 ID。
OBJECTID 数字 记录的 ID。
NAME 字符串 属性名称。
VALUE 字符串 该时间点上的属性值。
UPDATEDAT 时间戳 该值在 HubSpot 中被设置的日期和时间。
INGESTEDAT 时间戳 数据最后一次导入到导出源的日期和时间。

查看关联表

如果您选择了关联数据,HubSpot 将导出关联记录和关联定义。

ASSOCIATIONS

该表针对两个记录之间的每个选定关联,各包含一行数据。

列名 类型 描述
COMBINEDASSOCIATIONTYPEID 字符串 关联定义的唯一标识符。
ASSOCIATIONCATEGORY 字符串 关联类型的来源。取值可包括HUBSPOT_DEFINED、USER_DEFINED 或INTEGRATOR_DEFINED。
ASSOCIATIONTYPEID 数字 该关联定义在其所属类别中的标识符。
FROMOBJECTID 数字 源记录的 ID。
TOOBJECTID 数字 目标记录的 ID。
INGESTEDAT 时间戳 数据最后一次导入到导出源的日期和时间。

ASSOCIATION_DEFINITIONS

此表中,每条选定的关联定义对应一行。

列名 类型 描述
COMBINEDASSOCIATIONTYPEID 字符串 关联定义的唯一标识符。
CATEGORY 字符串 关联类型的来源。可能的值包括HUBSPOT_DEFINED、USER_DEFINED 或INTEGRATOR_DEFINED。
ID 数字 该关联定义在其所属类别中的标识符。
FROMOBJECTTYPEID 字符串 源对象的ID。
TOOBJECTTYPEID 字符串 目标对象的 ID。
NAME 字符串 关联定义的名称。
LABEL 字符串 关联定义的标签。
INGESTEDAT 时间戳 数据最后一次导入到导出源的日期和时间。
ISMAINASSOCIATIONDEFINITION 布尔值 HubSpot 是否将此关联定义显示为关联记录上的主关联。

ASSOCIATIONS_<源对象>_TO_<目标对象>

对于选定的关联对,HubSpot 还可以导出特定于该关联对的关联表,例如ASSOCIATIONS_CONTACTS_TO_COMPANIES。这些表包含关联记录以及关联定义的元数据。

列名 类型 描述
COMBINEDASSOCIATIONTYPEID 字符串 关联定义的唯一标识符。
ASSOCIATIONCATEGORY 字符串 关联类型的来源。取值可包括HUBSPOT_DEFINED、USER_DEFINED 或INTEGRATOR_DEFINED。
ASSOCIATIONTYPEID 数字 关联定义在其所属类别中的标识符。
[FROMOBJECT]_OBJECTID 数字 源记录的 ID。例如,CONTACT_OBJECTID。
[TOOBJECT]_OBJECTID 数字 目标记录的 ID。例如,COMPANY_OBJECTID。
INGESTEDAT 时间戳 数据最后一次导入到导出源的日期和时间。
TOOBJECTTYPEID 字符串 目标对象的 ID。
FROMOBJECTTYPEID 字符串 源对象的 ID。
NAME 字符串 关联定义的名称。
LABEL 字符串 关联定义的标签。
ISMAINASSOCIATIONDEFINITION 布尔值 HubSpot 是否将此关联定义显示为关联记录上的主关联。

查看事件表

如果您选择了事件数据,HubSpot 会按事件类型导出一个表。表名采用EVENTS_<EVENT_NAME> 的格式,例如EVENTS_VISITED_PAGE。

每个事件表包含标准事件列以及针对每个所选事件属性的专属列。

列名 类型 描述
EVENTTYPEID 字符串 事件类型的 ID。
ID 字符串 唯一的事件 ID。
OBJECTTYPEID 字符串 与该事件关联的对象的 ID。
OBJECTID 数字 与该事件关联的记录的 ID。
INGESTEDAT 时间戳 事件被导入到导出源的日期和时间。
OCCURREDATDATEINT 数字 事件日期,以YYYYMMDD格式的整数表示。
OCCURREDAT 时间戳 事件发生的日期和时间。
PROPERTY_<PROPERTY_NAME> 字符串 所选的事件属性。例如,名为page_title属性将导出为PROPERTY_PAGE_TITLE。

管理同步计划

您可在 HubSpot 的设置过程中配置同步计划。您还可以从 HubSpot 手动触发重新同步。每次同步运行都会生成所选数据的完整快照。为控制数据量,请选择要包含的对象、事件、关联和属性。

请注意:在测试版期间,可能仅提供有限的同步频率选项,例如“一次”、“每 6 小时”、“每 12 小时”、“每日”、“每周”和“每月”。未来版本中可能会添加更多频率选项。

监控同步并处理错误

您可以在 HubSpot 中监控 PostgreSQL 和 MySQL 同步。同步可能处于以下任一状态:

状态 含义
同步中 当前正在进行同步运行。
已同步 上次同步已成功完成。
失败 上次同步运行时遇到错误。
已归档 该同步配置已被归档或删除。

当同步失败时:

  • HubSpot 会显示“失败”状态,并提供按表细分的详细信息,说明哪些表成功或失败。
  • 只有在 HubSpot 完成所有数据的加载后,表才会被更新,因此您永远不会看到部分加载的表。
  • 如果某个表同步失败,其先前数据将保留原样,直至下次同步成功。
  • 下次计划的同步将自动重新尝试进行完整同步。
  • 您可以在 HubSpot 中随时手动触发重新同步。

在后续运行失败时,之前运行中已同步成功的表不会被修改。

常见问题

如何查询数据?

使用 SQL 查询目标模式中的表。

PostgreSQL

读取所有联系人记录:

SELECT * FROM your_database.hubspot_data_out_456."OBJECT_WITH_OBJECT_PROPERTIES" WHERE "OBJECTTYPEID" = '0-1';

从PROPERTIESJSON 列中读取特定属性。由于该列以文本形式存储,请先将其转换为 JSON 类型:

SELECT "OBJECTID", json_extract_path_text("PROPERTIES"::json, 'email') AS email FROM your_database.hubspot_data_out_456."OBJECT_WITH_OBJECT_PROPERTIES" WHERE "OBJECTTYPEID" = '0-1';

MySQL

读取所有联系人记录:

SELECT * FROM `hubspot_data_out_456`.`OBJECT_WITH_OBJECT_PROPERTIES` WHERE `OBJECTTYPEID` = '0-1';

从PROPERTIESJSON 列中读取特定属性:

SELECT `OBJECTID`, JSON_EXTRACT(`PROPERTIES`, '$.email') AS email FROM `hubspot_data_out_456`.`OBJECT_WITH_OBJECT_PROPERTIES` WHERE `OBJECTTYPEID` = '0-1';

我可以在多次同步中导出同一种数据类型吗?

每个对象、事件类型或关联对,在每个 HubSpot 账户中最多可包含一个定期 PostgreSQL 同步和一个定期 MySQL 同步。这些同步彼此独立,也与其他数据导出提供商相互独立。例如,如果联系人已导出到一个定期 PostgreSQL 目标,则在将第一个同步归档之前,您无法将联系人添加到另一个定期 PostgreSQL 同步中。但您仍可同时将联系人导出到一个定期 MySQL 同步中。

是否支持特定对象的表?

不支持。目前尚不支持对象专用表(例如OBJECTS_CONTACTS)。请使用OBJECT_WITH_OBJECT_PROPERTIES并通过OBJECTTYPEID进行筛选,以获取特定对象的记录。

是否支持敏感数据?

不支持。Data Out 目前尚不支持敏感数据。导出时可将敏感属性排除在外。

HubSpot 会保留之前的快照吗?

不支持。每次同步都会用最新的快照替换目标表,因此不会保留之前的快照。

这篇文章有帮助吗?
此表单仅供记载反馈。了解如何获取 HubSpot 帮助。