Intégrer Spanner à GORM (dialecte PostgreSQL)

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

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

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

  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 Démarrer PGAdapter.

  2. Ajoutez une instruction d'importation pour le dialecte PostgreSQL GORM à 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 requiert un nom d'utilisateur et un mot de passe dans la chaîne de connexion. PGAdapter les ignore.

    • Vous pouvez également spécifier un numéro de port différent 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é. La désactivation de SSL dans la requête de connexion accélère le processus de connexion, car elle nécessite un aller-retour de 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{})
    

Consultez la documentation GORM avec PostgreSQL pour en savoir plus sur les options de connexion pour PostgreSQL.

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

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

Étapes suivantes