Intégrer Spanner à GORM (dialecte PostgreSQL)

GORM est un outil de mappage objet-relationnel pour le langage de programmation Go. Il fournit un framework permettant de mapper un modèle de domaine orienté objet sur une base de données relationnelle.

Vous pouvez intégrer des bases de données PostgreSQL Spanner à GORM à l'aide du pilote pgx PostgreSQL standard et de PGAdapter.

Configurer GORM avec des bases de données Spanner en dialecte PostgreSQL

  1. Assurez-vous que PGAdapter s'exécute sur la même machine que l'application qui se connecte à l'aide de GORM avec Spanner.

    Pour en savoir plus, consultez la section Démarrer PGAdapter.

  2. Ajoutez une instruction d'importation pour le dialecte GORM PostgreSQL à votre application. Il s'agit du même pilote que celui que vous utilisez normalement avec une base de données PostgreSQL.

  3. Spécifiez localhost et 5432 comme hôte et port du serveur de base de données dans la chaîne de connexion GORM. GORM nécessite un nom d'utilisateur et un mot de passe dans la chaîne de connexion. PGAdapter les ignore.

    • Vous pouvez également spécifier un autre numéro de port si PGAdapter est configuré pour écouter sur un port autre que le port PostgreSQL par défaut (5432).
    • PGAdapter n'est pas compatible avec SSL. Par défaut, GORM tente d'abord de se connecter avec SSL activé. Désactiver SSL dans la requête de connexion accélère le processus de connexion, car il nécessite un aller-retour en moins.
    import (
      "gorm.io/driver/postgres"
      "gorm.io/gorm"
    )
    
    dsn := "host=localhost user=gorm password=gorm dbname=gorm port=5432 sslmode=disable"
    db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{})
    

Pour en savoir plus sur les options de connexion à PostgreSQL, consultez la documentation GORM avec PostgreSQL.

Utiliser GORM avec les bases de données Spanner en dialecte PostgreSQL

Pour en savoir plus sur les fonctionnalités et les recommandations d'utilisation de GORM avec Spanner, consultez la documentation de référence sur GitHub.

Étape suivante