- Base de connaissances
- Données
- Gestion des données
- Accédez à vos données HubSpot depuis PostgreSQL ou MySQL
BêtaAccédez à vos données HubSpot depuis PostgreSQL ou MySQL
Dernière mise à jour: 26 octobre 2026
Disponible avec le ou les abonnements suivants, sauf mention contraire :
-
Data Hub Enterprise
Utilisez Data Out pour PostgreSQL et MySQL afin d’exporter certaines données du CRM de HubSpot vers des tableaux d’une base de données que vous possédez. Chaque exécution de synchronisation écrit un instantané complet des données sélectionnées et remplace l’instantané précédent. Après la synchronisation, vous pouvez interroger les tableaux avec SQL ou avec vos outils d’intelligence commerciale et d’analytics préférés pour combiner les données HubSpot avec d’autres données commerciales.
Remarque : Si vous êtes un super administrateur, inscrivez votre compte à la version bêta de Data Studio pour utiliser cette fonctionnalité.
Crédits HubSpot requis pour certaines fonctionnalités La synchronisation des données directement à partir d’une source d’entrepôt unique dans Data Studio vers le CRM HubSpot ne consomme pas de crédits HubSpot. Si vous préparez les données dans Data Studio avant la synchronisation (par exemple, en créant des champs calculés ou en les joignant à d’autres sources de données), ces actions consomment des crédits HubSpot.
Compréhension des limites et des considérations
Avant de commencer à utiliser cette fonctionnalité, assurez-vous de bien comprendre les étapes à suivre à l'avance, ainsi que les limites de la fonctionnalité et les conséquences potentielles de son utilisation.
- Chaque synchronisation remplace les tables de destination par le dernier instantané. HubSpot ne conserve pas les instantanés précédents.
- Chaque objet, type d’événement ou paire d’association peut être inclus dans une synchronisation récurrente PostgreSQL et une synchronisation récurrente MySQL par compte HubSpot. Ces synchronisations sont indépendantes les unes des autres et des autres fournisseurs de sortie de données.
- Les données sensibles ne sont pas encore prises en charge. Les propriétés sensibles peuvent être exclues des exports.
- Les tableaux spécifiques à un objet, tels que
OBJECTS_CONTACTS, ne sont pas encore pris en charge. - Les noms des tables et des colonnes sont sensibles à la casse dans PostgreSQL et peuvent l’être dans MySQL. Examinez la syntaxe de la requête avant de rédiger des requêtes.
Comprendre les données que vous pouvez exporter
Vous pouvez synchroniser les données suivantes de HubSpot vers PostgreSQL ou MySQL :
- Objets : objets standards et personnalisés, tels que des contacts, des entreprises, des transactions, des tickets et des produits.
- Fiches d’informations : fiches d’informations individuelles pour les objets sélectionnés.
- Propriétés : valeurs de propriété sélectionnées et historique des propriétés dans les fiches d’informations.
- Associations : relations sélectionnées entre les fiches d’informations, y compris les définitions d’association.
- Événements : événements standards HubSpot sélectionnés et événements comportementaux personnalisés, y compris les propriétés d’événement sélectionnées.
Les données de différents objets sont combinées dans les tableaux d’objets. Lorsque vous lisez un tableau d’objets, utilisez OBJECTTYPEID pour filtrer un objet spécifique. Par exemple, les contacts utilisent 0-1. Un ID est attribué aux objets personnalisés lors de leur création et sont identifiés comme , 2-{unique_id}comme . 2-12345
Comprendre le format d’exportation
Lors de la configuration, vous choisissez :
- La base de données de destination. Ceci s’applique uniquement à PostgreSQL. Pour MySQL, HubSpot crée la base de données.
- Les sources de données à synchroniser : objets, événements, associations ou une combinaison de ces sources.
- Le planning de synchronisation.
HubSpot exporte les données sous forme de fichiers Parquet et les charge directement dans les tableaux de votre base de données. PostgreSQL et MySQL n’utilisent pas de groupe intermédiaire appartenant au client. HubSpot gère la préparation en interne.
Trouvez vos données dans votre base de données
HubSpot crée un tableau par source de données dans un schéma géré par HubSpot qui porte le nom de votre destination. Vous trouverez le nom exact du schéma sur la page de configuration de votre synchronisation.
- PostgreSQL :
<database>.hubspot_data_out_<destination-id>.<table-name> - MySQL :
hubspot_data_out_<destination-id>.<table-name>. Dans MySQL, schéma et base de données sont le même concept, et c’est HubSpot qui le crée. Il n’y a pas de niveau de base de données distinct à choisir.
Par exemple, dans PostgreSQL :
your_database.hubspot_data_out_456.OBJECT_WITH_OBJECT_PROPERTIESyour_database.hubspot_data_out_456.EVENTS_VISITED_PAGEyour_database.hubspot_data_out_456.ASSOCIATIONS_CONTACTS_TO_COMPANIES
Par exemple, dans MySQL :
hubspot_data_out_456.OBJECT_WITH_OBJECT_PROPERTIEShubspot_data_out_456.EVENTS_VISITED_PAGEhubspot_data_out_456.ASSOCIATIONS_CONTACTS_TO_COMPANIES
Chaque synchronisation remplace le tableau par le dernier instantané. HubSpot ne conserve pas les instantanés précédents. Si un tableau échoue pendant une synchronisation, ses données antérieures restent en place jusqu’à la prochaine synchronisation réussie.
Noms des tableaux et des colonnes
Les noms des tableaux et des colonnes proviennent des données exportées. Les identifiants PostgreSQL sont limités à 63 caractères et les identifiants MySQL sont limités à 64 caractères. HubSpot raccourcit les noms plus longs pour qu’ils s’adaptent.
Cas d’identification
La casse de l’identificateur compte. HubSpot crée tous les tableaux et colonnes avec des noms entre guillemets en majuscules, respectant les noms en majuscules, correspondant aux tableaux de cet article.
- PostgreSQL : habille les noms entre guillemets doubles exactement comme indiqué. PostgreSQL plie les noms entre guillemets en minuscules, afin qu’ils ne correspondent pas.
- MySQL : utilise les apostrophes inversées et correspond au cas indiqué. La sensibilité à la casse du nom du tableau dépend de la configuration de votre serveur.
Exemple PostgreSQL :
SELECT * FROM your_database.hubspot_data_out_456."OBJECT_WITH_OBJECT_PROPERTIES" WHERE "OBJECTTYPEID" = '0-1';
Exemple MySQL :
SELECT * FROM `hubspot_data_out_456`.`OBJECT_WITH_OBJECT_PROPERTIES` WHERE `OBJECTTYPEID` = '0-1';
Types de colonnes
Les types de colonnes suivent les données exportées et correspondent aux types PostgreSQL et MySQL comme suit :
| Type exporté | PostgreSQL | MySQL |
|---|---|---|
| Chaîne | TEXT |
LONGTEXT |
| Numéro (32 bits) | INTEGER |
INT |
| Numéro (64 bits) | BIGINT |
BIGINT |
| Horodatage | TIMESTAMP |
DATETIME(6) |
| Booléen | BOOLEAN |
TINYINT(1) |
| Décimal | NUMERIC |
DECIMAL |
Remarque : La PROPERTIES colonne dans OBJECT_WITH_OBJECT_PROPERTIES est exportée sous forme de chaîne au format JSON. Il est stocké comme TEXT dans PostgreSQL ou LONGTEXT dans MySQL, et non comme un type de colonne JSON. Pour obtenir des exemples de requêtes, consultez la FAQ.
Examiner les tableaux d’objets
Si vous sélectionnez Données d’objet, HubSpot exporte les tableaux suivants.
OBJECT_PROPERTIES
Ce tableau contient une ligne par valeur de propriété. Pour lire un objet spécifique, filtrez par OBJECTTYPEID.
| Nom de la colonne | Type | Description |
|---|---|---|
OBJECTTYPEID |
Chaîne | L’ID de l’objet. Par exemple, les contacts utilisent 0-1. |
OBJECTID |
Numéro | L’ID de la fiche d’informations. |
NAME |
Chaîne | Le nom de la propriété. |
VALUE |
Chaîne | La valeur de la propriété. |
UPDATEDAT |
Horodatage | La date et l’heure auxquelles la valeur de la propriété a été mise à jour pour la dernière fois dans HubSpot. |
INGESTEDAT |
Horodatage | La date et l’heure de la dernière ingestion des données dans la source d’export. |
OBJECT_WITH_OBJECT_PROPERTIES
Ce tableau contient une ligne par fiche d’informations, les valeurs des propriétés sélectionnées étant regroupées dans une seule PROPERTIES colonne. Pour lire un objet spécifique, filtrez par OBJECTTYPEID.
| Nom de la colonne | Type | Description |
|---|---|---|
OBJECTTYPEID |
Chaîne | L’ID de l’objet. Par exemple, les contacts utilisent 0-1. |
OBJECTID |
Numéro | L’ID de la fiche d’informations. |
PROPERTIES |
Texte (JSON) | Les valeurs de propriété sélectionnées pour la fiche d’informations, sous forme de chaîne au format JSON. |
UPDATEDAT |
Horodatage | La date et l’heure auxquelles les propriétés sélectionnées de la fiche d’informations ont été mises à jour pour la dernière fois dans HubSpot. |
INGESTEDAT |
Horodatage | La date et l’heure de la dernière ingestion des données dans la source d’export. |
OBJECT_PROPERTIES_HISTORY
Ce tableau contient l’historique des modifications de propriétés. Contrairement à OBJECT_PROPERTIES, qui ne contient que la valeur actuelle, ce tableau comporte une ligne pour chaque valeur historique d’une propriété. Pour afficher la chronologie complète d’une fiche d’informations et d’une propriété, commandez par UPDATEDAT.
| Nom de la colonne | Type | Description |
|---|---|---|
OBJECTTYPEID |
Chaîne | L’ID de l’objet. |
OBJECTID |
Numéro | L’ID de la fiche d’informations. |
NAME |
Chaîne | Le nom de la propriété. |
VALUE |
Chaîne | Valeur de la propriété à ce moment-là. |
UPDATEDAT |
Horodatage | La date et l’heure auxquelles la valeur a été définie dans HubSpot. |
INGESTEDAT |
Horodatage | La date et l’heure de la dernière ingestion des données dans la source d’export. |
Examiner les tableaux d’associations
Si vous sélectionnez Données d’association, HubSpot exporte les fiches d’informations et les définitions d’association.
ASSOCIATIONS
Ce tableau contient une ligne par association sélectionnée entre deux fiches d’informations.
| Nom de la colonne | Type | Description |
|---|---|---|
COMBINEDASSOCIATIONTYPEID |
Chaîne | L’identifiant unique de la définition d’association. |
ASSOCIATIONCATEGORY |
Chaîne | L’origine du type d’association. Les valeurs peuvent inclure HUBSPOT_DEFINED, USER_DEFINED, ou INTEGRATOR_DEFINED. |
ASSOCIATIONTYPEID |
Numéro | L’identifiant de la définition d’association dans sa catégorie. |
FROMOBJECTID |
Numéro | L’ID de la fiche d’informations source. |
TOOBJECTID |
Numéro | L’ID de la fiche d’informations de destination. |
INGESTEDAT |
Horodatage | La date et l’heure de la dernière ingestion des données dans la source d’export. |
ASSOCIATION_DEFINITIONS
Ce tableau contient une ligne par définition d’association sélectionnée.
| Nom de la colonne | Type | Description |
|---|---|---|
COMBINEDASSOCIATIONTYPEID |
Chaîne | L’identifiant unique de la définition d’association. |
CATEGORY |
Chaîne | L’origine du type d’association. Les valeurs peuvent inclure HUBSPOT_DEFINED, USER_DEFINED, ou INTEGRATOR_DEFINED. |
ID |
Numéro | L’identifiant de la définition d’association dans sa catégorie. |
FROMOBJECTTYPEID |
Chaîne | L'ID de l'objet source. |
TOOBJECTTYPEID |
Chaîne | L'ID de l'objet de destination. |
NAME |
Chaîne | Le nom de la définition d’association. |
LABEL |
Chaîne | Le libellé de la définition d’association. |
INGESTEDAT |
Horodatage | La date et l’heure de la dernière ingestion des données dans la source d’export. |
ISMAINASSOCIATIONDEFINITION |
Booléen | Si HubSpot affiche cette définition d’association comme association principale sur les fiches d’informations associées. |
ASSOCIATIONS_<FROM_OBJECT>_TO_<TO_OBJECT>
Pour les paires d’associations sélectionnées, HubSpot peut également exporter des tableaux d’association spécifiques aux paires, tels que ASSOCIATIONS_CONTACTS_TO_COMPANIES. Ces tableaux comprennent les fiches d’informations d’association ainsi que les métadonnées de définition d’association.
| Nom de la colonne | Type | Description |
|---|---|---|
COMBINEDASSOCIATIONTYPEID |
Chaîne | L’identifiant unique de la définition d’association. |
ASSOCIATIONCATEGORY |
Chaîne | L’origine du type d’association. Les valeurs peuvent inclure HUBSPOT_DEFINED, USER_DEFINED, ou INTEGRATOR_DEFINED. |
ASSOCIATIONTYPEID |
Numéro | L’identifiant de la définition d’association dans sa catégorie. |
[FROMOBJECT]_OBJECTID |
Numéro | L’ID de la fiche d’informations source. Par exemple, CONTACT_OBJECTID. |
[TOOBJECT]_OBJECTID |
Numéro | L’ID de la fiche d’informations de destination. Par exemple, COMPANY_OBJECTID. |
INGESTEDAT |
Horodatage | La date et l’heure de la dernière ingestion des données dans la source d’export. |
TOOBJECTTYPEID |
Chaîne | L'ID de l'objet de destination. |
FROMOBJECTTYPEID |
Chaîne | L'ID de l'objet source. |
NAME |
Chaîne | Le nom de la définition d’association. |
LABEL |
Chaîne | Le libellé de la définition d’association. |
ISMAINASSOCIATIONDEFINITION |
Booléen | Si HubSpot affiche cette définition d’association comme association principale sur les fiches d’informations associées. |
Examiner les tableaux d’événements
Si vous sélectionnez Données d’événement, HubSpot exporte un tableau par type d’événement. Les noms des tableaux utilisent le format EVENTS_<EVENT_NAME>, tel que EVENTS_VISITED_PAGE.
Chaque tableau d’événement contient des colonnes d’événement standard et une colonne pour chaque propriété d’événement sélectionnée.
| Nom de la colonne | Type | Description |
|---|---|---|
EVENTTYPEID |
Chaîne | L’ID du type d’événement. |
ID |
Chaîne | L’ID unique de l’événement. |
OBJECTTYPEID |
Chaîne | L’ID de l’objet associé à l’événement. |
OBJECTID |
Numéro | L’ID de la fiche d’informations associée à l’événement. |
INGESTEDAT |
Horodatage | La date et l’heure auxquelles l’événement a été ingéré dans la source d’export. |
OCCURREDATDATEINT |
Numéro | La date de l’événement sous forme de nombre entier. YYYYMMDD |
OCCURREDAT |
Horodatage | La date et l’heure auxquelles l’événement s’est produit. |
PROPERTY_<PROPERTY_NAME> |
Chaîne | Une propriété d’événement sélectionnée. Par exemple, une propriété nommée page_title est exportée sous le nom PROPERTY_PAGE_TITLE. |
Gérer le planning de synchronisation
Vous configurez le calendrier de synchronisation lors de la configuration dans HubSpot. Vous pouvez également déclencher manuellement une resynchronisation à partir de HubSpot. Chaque cycle de synchronisation génère un instantané complet des données sélectionnées. Pour contrôler le volume de données, choisissez les objets, les événements, les associations et les propriétés à inclure.
Remarque : pendant la version bêta, seul un ensemble limité de fréquences de synchronisation peut être disponible, par exemple une, toutes les 6 heures, toutes les 12 heures, quotidiennement, hebdomadairement et mensuellement. Des options de fréquence supplémentaires pourront être ajoutées dans les prochaines versions.
Surveiller les synchronisations et gérer les erreurs
Vous pouvez surveiller les synchronisations PostgreSQL et MySQL dans HubSpot. Une synchronisation peut avoir l’un des états suivants :
| État | Signification |
|---|---|
| Synchronisation | Une exécution de synchronisation est en cours. |
| Synchronisé | La dernière synchronisation s’est correctement terminée. |
| Échoué | Une erreur s’est produite lors de la dernière exécution de synchronisation. |
| Archivés | La configuration de la synchronisation a été archivée ou supprimée. |
Lorsqu’une synchronisation échoue :
- HubSpot affiche un statut Échec avec des détails par tableau indiquant les tables qui ont réussi ou échoué.
- Un tableau n’est mis à jour qu’une fois que HubSpot a fini de charger toutes ses données, de sorte que vous ne voyez jamais un tableau partiellement chargé.
- Si une table échoue, ses données précédentes restent en place jusqu’à la prochaine synchronisation réussie.
- La prochaine synchronisation planifiée retente automatiquement une synchronisation complète.
- Vous pouvez déclencher manuellement une resynchronisation à tout moment dans HubSpot.
Les tables qui ont réussi lors d’une exécution précédente ne sont pas modifiées lorsqu’une exécution ultérieure échoue.
FAQ
Comment interroger les données ?
Interrogez les tables dans votre schéma de destination avec SQL.
PostgreSQL
Lire toutes les fiches d’informations de contacts :
SELECT * FROM your_database.hubspot_data_out_456."OBJECT_WITH_OBJECT_PROPERTIES" WHERE "OBJECTTYPEID" = '0-1';
Consultez une propriété spécifique à partir de la PROPERTIES colonne JSON. Convertissez d’abord la colonne en JSON, car elle est stockée sous forme de texte :
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
Lire toutes les fiches d’informations de contacts :
SELECT * FROM `hubspot_data_out_456`.`OBJECT_WITH_OBJECT_PROPERTIES` WHERE `OBJECTTYPEID` = '0-1';
Lisez une propriété spécifique à partir de la PROPERTIES colonne JSON :
SELECT `OBJECTID`, JSON_EXTRACT(`PROPERTIES`, '$.email') AS email FROM `hubspot_data_out_456`.`OBJECT_WITH_OBJECT_PROPERTIES` WHERE `OBJECTTYPEID` = '0-1';
Puis-je exporter un type de données dans plusieurs synchronisations ?
Chaque objet, type d’événement ou paire d’association peut être inclus dans une synchronisation récurrente PostgreSQL et une synchronisation récurrente MySQL par compte HubSpot. Ces synchronisations sont indépendantes les unes des autres et des autres fournisseurs de sortie de données. Par exemple, si des contacts sont déjà exportés vers une destination PostgreSQL récurrente, vous ne pourrez pas ajouter de contacts à une autre synchronisation récurrente PostgreSQL tant que vous n’aurez pas archivé la première synchronisation. Vous pouvez toujours exporter des contacts vers une synchronisation MySQL récurrente en même temps.
Les tableaux spécifiques à un objet sont-ils pris en charge ?
Non. Les tableaux spécifiques à un objet, tels que OBJECTS_CONTACTS, ne sont pas encore pris en charge. Utilisez OBJECT_WITH_OBJECT_PROPERTIES et filtrez par OBJECTTYPEID pour obtenir des fiches d’informations pour un objet spécifique.
Les données sensibles sont-elles prises en charge ?
Non. Les données sensibles ne sont pas encore prises en charge pour les données sortantes. Les propriétés sensibles peuvent être exclues des exports.
HubSpot conserve-t-il les instantanés précédents ?
Non. Chaque synchronisation remplace la table de destination par le dernier instantané, de sorte que les instantanés précédents ne sont pas conservés.