Connexion à une base PostgreSQL

Si vous voulez participer au développement de Gestinux, et que vous ne maîtrisez pas l'anglais, écrivez vos questions ou remarques ici.

Il reste préférable, dans la mesure du possible, d'utiliser le forum anglais.
Post Reply
tahitibub
Posts: 13
Joined: 15 Jul 2016, 20:14
Location: Tahiti

Connexion à une base PostgreSQL

Post by tahitibub »

Bonjour,

J'essaie actuellement de tester Gestinux 1.4-rc-5 avec le moteur de bases de données PostgreSQL, qui semble plus sûr que MariaDB.

J'ai installé PostgreSQL version BigSQL 9.6.1 que l'on trouve ici (en version Windows 64 bits), puis j'ai téléchargé les binaires EntrepriseDB v9.6.1 pour Windows que l'on trouve là (en version 32 bits).

J'ai ensuite installé le client PostgreSQL (32 bits) en suivant les indications fournies dans la doc en ligne, c'est à dire en copiant dans le répertoire "C:/Windows" les éléments suivants :

- libpq.dll
- libeay32.dll
- ssleay32.dll
- libintl-8.dll (*)

(*) Il convient de noter que la doc demande d'installer le fichier "libintl.dll", mais ce dernier n'est pas présent dans l'archive des binaires 32 bits (seul y figure le fichier "libintl-8.dll", que j'ai donc copié dans le répertoire Windows).

Quand je tente de me connecter, je suis accueilli par le joli message d'erreur suivant :
Impossible de se connecter au serveur localhost avec le nom d'utilisateur xxxx (None of the dynamic libraries can be found or is not loadable: libpq.dll ! Use TZConnection.LibraryLocation if the location is invalid.)
En copiant les 4 librairies précédemment citées dans le dossier "C:\Program Files (x86)\gestinux-test", j'obtiens un autre message d'erreur :
Impossible de se connecter au serveur localhost avec le nom d'utilisateur xxxx (Client-Library libpq.dll found but could not be loaded. Check compile-target and library compatibility!)
Je ne comprends pas d'où vient le problème. Quelqu'un peut-il m'apporter la solution ?

Merci
Last edited by tahitibub on 13 Jan 2017, 05:56, edited 1 time in total.
tahitibub
Posts: 13
Joined: 15 Jul 2016, 20:14
Location: Tahiti

Re: Connexion à une base PostgreSQL

Post by tahitibub »

J'ai finalement trouvé une solution, bien qu'elle ne me convienne pas tout à fait : il s'agit de télécharger la plus récente version des binaires comportant le fichier "libintl.dll" sur la page de EntrepriseDB et de copier les quatre librairies nécessaires dans le dossier "gestinux-test".

En date du 12 janvier 2017, il s'agit des binaires en version 9.3.15.

Voici ce que l'on trouve sur le versions suivantes :

- sur la 9.4.10, il n'y a plus de librairie "libintl.dll", mais on y trouve une nouvelle librairie "intl.dll" ;
- sur la 9.5.5, il n'y a plus de librairie "libintl.dll", ni "intl.dll", mais on y trouve une nouvelle librairie "libintl-8.dll".

Ces versions ne semblent donc pas compatibles avec Gestinux 1.4-rc-5. Une mise à niveau du logiciel est-elle possible, voire nécessaire, à ce sujet ?

Cordialement,
tintinux
Site Admin
Posts: 169
Joined: 21 Jun 2012, 19:07
Location: Blois (France)
Contact:

Re: Connexion à une base PostgreSQL

Post by tintinux »

Bonjour

Merci d'avoir cherché !

Pouvez-vous confirmer qu'en copiant les quatre DLL dans le dossier "gestinux-test", Gestinux fonctionne, ou en tous cas peut créer ou ouvrir la base de données ?

En fait, même si ça fonctionne apparemment bien ainsi, il faudrait mieux copier ces DLL dans le dossier % Windows %, plutôt que dans le le dossier où se trouve Gestinux.exe, car si un autre logiciel veut utiliser la base de données il ne les trouvera pas, ou pire, il y aura des conflits entre celles-ci et celles installées par ledit logiciel, et qui dépendront de l'ordre dans lequel on les a lancés.

C'est indiqué dans la doc en ligne pour les anciens fichiers, et cela reste valable. Il serait bien de refaire le test ainsi, en supprimant ce qui a été mis dans le dossier de Gestinux.

Pour l'instant il n'existe pas d'installation automatique de Gestinux sous Windows pour une base PostgreSQL. Il en faudrait peut-être une par version de PostgreSQL et c'est beaucoup de travail pour très peu d'utilisateurs. C'est pourquoi on doit se contenter de télécharger et copier des DLL "à la main" là où il faut, et cela devrait suffire sans changer le logiciel lui-même. Sauf surprise due à d'éventuelles particularités nouvelles de ce SGBD, mais là c'est un autre sujet.

Si vous voulez, une fois que tout est OK vous pourriez mettre à jour le Wiki pour indiquer les instructions spécifiques aux dernières versions de PostgresSQL

Construire une installateur de Gestinux pour une ou plusieurs versions de PostgreSQL, empaquetant les bonnes DLL et les installant où il faut, reste possible pour qui veut s'y coller, en utilisant InnoSetup (gratuit) et en s'inspirant de ce qui a été fait pour l'installation pour MySql.

.
Cordialement,

Tintinux
tahitibub
Posts: 13
Joined: 15 Jul 2016, 20:14
Location: Tahiti

Re: Connexion à une base PostgreSQL

Post by tahitibub »

tintinux wrote:Bonjour
Merci d'avoir cherché !
Pouvez-vous confirmer qu'en copiant les quatre DLL dans le dossier "gestinux-test", Gestinux fonctionne, ou en tous cas peut créer ou ouvrir la base de données ?
Bonjour !
Je confirme que l'accès aux bases PostgreSQL fonctionne en copiant les quatre DLL dans le dossier "gestinux-test".
tintinux wrote: En fait, même si ça fonctionne apparemment bien ainsi, il faudrait mieux copier ces DLL dans le dossier % Windows %, plutôt que dans le le dossier où se trouve Gestinux.exe, car si un autre logiciel veut utiliser la base de données il ne les trouvera pas, ou pire, il y aura des conflits entre celles-ci et celles installées par ledit logiciel, et qui dépendront de l'ordre dans lequel on les a lancés.
C'est indiqué dans la doc en ligne pour les anciens fichiers, et cela reste valable. Il serait bien de refaire le test ainsi, en supprimant ce qui a été mis dans le dossier de Gestinux.
Test concluant effectué ce jour en déplaçant les 4 fichiers dans le dossier C:\Windows.
tintinux wrote:Pour l'instant il n'existe pas d'installation automatique de Gestinux sous Windows pour une base PostgreSQL. Il en faudrait peut-être une par version de PostgreSQL et c'est beaucoup de travail pour très peu d'utilisateurs. C'est pourquoi on doit se contenter de télécharger et copier des DLL "à la main" là où il faut, et cela devrait suffire sans changer le logiciel lui-même. Sauf surprise due à d'éventuelles particularités nouvelles de ce SGBD, mais là c'est un autre sujet.
Maintenant que l'on sait quelle archive télécharger, c'est très rapide en effet. Reste à voir si le fait d'utiliser des DLL d'anciennes versions ne pose pas de problème de compatibilité avec le nouveau moteur PostgreSQL
tintinux wrote:Si vous voulez, une fois que tout est OK vous pourriez mettre à jour le Wiki pour indiquer les instructions spécifiques aux dernières versions de PostgresSQL
C'est fait.
tintinux wrote:Construire une installateur de Gestinux pour une ou plusieurs versions de PostgreSQL, empaquetant les bonnes DLL et les installant où il faut, reste possible pour qui veut s'y coller, en utilisant InnoSetup (gratuit) et en s'inspirant de ce qui a été fait pour l'installation pour MySql.
Merci pour l'info !
Post Reply