Adhérez à l'association pour voir des sections supplémentaires du forum et accéder à d'autres services.

BDD PostgreSQL avec Lazarus

Accueil Forums Migration Delphi/Lazarus BDD PostgreSQL avec Lazarus

Étiqueté : ,

Affichage de 1 message (sur 1 au total)
  • Auteur
    Messages
  • #1143
    Admin01_WxForum
    Maître des clés
        Up
        0
        Down
        ::

        PostgreSQL fonctionne parfaitement avec Lazarus, et tu as trois méthodes fiables pour te connecter :

        • PgDAC (PostgreSQL Data Access Components) — accès natif, rapide, sans libpq.
        • TPQConnection (SQLDB natif Lazarus) — officiel, simple, nécessite libpq.
        • ODBC + TSQLConnector — standard, multiplateforme.

        Les trois approches sont confirmées par la documentation Lazarus et des guides techniques.

        🎯 Résumé immédiat
        PgDAC → le meilleur choix : natif, rapide, sans DLL externe.
        TPQConnection → intégré à Lazarus, fiable, mais dépend de libpq.
        ODBC → universel, simple, idéal pour reporting ou compatibilité large.

        🧩 1. PgDAC — accès natif, sans libpq (recommandé)
        La documentation Lazarus confirme que PgDAC fournit une connectivité native PostgreSQL, sans dépendances externes, pour Windows, Linux, macOS, Android, iOS.
        Avantages
        Pas besoin de libpq.dll.
        Très rapide.
        Compatible FreePascal + Lazarus.
        Fonctionne sur toutes les plateformes.
        Exemple de code
        pascal

        PgConnection := TPgConnection.Create(nil);
        PgConnection.Server := 'localhost';
        PgConnection.Database := 'testdb';
        PgConnection.Username := 'postgres';
        PgConnection.Password := 'pass';
        PgConnection.Connect;

        ➡️ Idéal pour un SaaS, une app métier, ou un backend performant.

        🧩 2. TPQConnection — SQLDB natif Lazarus
        Le wiki Lazarus explique que PostgreSQL est supporté nativement via TPQConnection, mais nécessite la bibliothèque cliente libpq.
        Avantages
        Inclus dans Lazarus (gratuit).
        Fonctionne avec TSQLQueryTSQLTransactionTDBGrid.
        Limites
        Dépend de libpq.dll (Windows) ou libpq.so (Linux).
        Quelques problèmes connus de chargement/déchargement de libpq (petites fuites mémoire).
        Exemple
        pascal

        PQConnection1.HostName := 'localhost';
        PQConnection1.UserName := 'postgres';
        PQConnection1.Password := 'pass';
        PQConnection1.DatabaseName := 'testdb';
        PQConnection1.Connected := True;

        ➡️ Très bien pour des applications classiques Lazarus.

        🧩 3. ODBC + TSQLConnector — méthode standard multiplateforme
        Le guide CData montre comment intégrer PostgreSQL via un DSN ODBC dans Lazarus.
        Avantages
        Fonctionne sur Windows, Linux, macOS.
        Compatible avec tous les outils SQLDB.
        Parfait pour reporting, dashboards, ETL.
        Exemple pascal

        SQLConnector1.DriverName := 'ODBC';
        SQLConnector1.DatabaseName := 'DSN=PostgreSQL';
        SQLConnector1.Connected := True;

        ➡️ Solution universelle, simple, fiable.

      Affichage de 1 message (sur 1 au total)
      • Vous devez être connecté pour répondre à ce sujet.

      Bienvenue sur le nouveau forum de l'association. Faites le connaître à vos collègues !     Welcome to the association's new forum. Let your colleagues know about it!

      X
      Wx Alliance - Forum
      Résumé de la politique de confidentialité/Privacy Policy Summary

      Ce site utilise des cookies afin que nous puissions vous fournir la meilleure expérience utilisateur possible. Les informations sur les cookies sont stockées dans votre navigateur et remplissent des fonctions telles que vous reconnaître lorsque vous revenez sur notre site Web et aider notre équipe à comprendre les sections du site que vous trouvez les plus intéressantes et utiles.

      This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.