Page 1 sur 1

PostgreSQL et Pb

Publié : dim. 17/janv./2016 22:31
par omega
Bonsoir,

J'utilise un serveur (où se trouve ma base d donnée sqlite) et 3 postes clients utilisant mon programme (exécutable). Ces clients peuvent accéder en même temps à une base de données ou une table. Sachant que Pb ne permet pas la gestion multi-utilisateurs j'ai alors cherché à télécharger postgre pour rendre ma base utilisable en réseau.

Ma question est la suivante:

1. Que faut il faire une fois postgre téléchargé?
2. Dois-je changer qq chose dans mes sources pb?

*je suis en ce moment le 17/01/2016 à 22h31 en train de télécharger postgre (taille environ 49mo)

Merci

Re: PostgreSQL et Pb

Publié : dim. 17/janv./2016 23:14
par falsam
omega a écrit :Sachant que Pb ne permet pas la gestion multi-utilisateurs
Si mes souvenirs sont bons SQlite est multi-utilisateurs avec sa dernière version.
omega a écrit : Que faut il faire une fois postgre téléchargé?
Tu trouveras surement une réponse sur le forum francophone de PostgreSQL :arrow: http://forums.postgresql.fr/
Utilise le moteur de recherche, Il y a pas mal de tutoriels d'installation en ligne.
omega a écrit :Dois-je changer qq chose dans mes sources pb?
Simplement modifier l'instruction OpenDatabase() en fournissant l'adresse IP du serveur (local ou distant) un nom d'utilisateur et un mot de passe.
J'ai donné une réponse sur ce lien :
:arrow: http://www.purebasic.fr/french/viewtopi ... 32#p168132
Le code permet de se connecter sur une base de données distante PostgreSQL et de lister le contenu d'une table. Tu peux le tester, il est encore opérationnel.

Re: PostgreSQL et Pb

Publié : lun. 18/janv./2016 7:21
par Marc56
Many concurrent writers? → choose client/server

If many threads and/or processes need to write the database at the same instant (and they cannot queue up and take turns) then it is best to select a database engine that supports that capability, which always means a client/server database engine.

SQLite only supports one writer at a time per database file. But in most cases, a write transaction only takes milliseconds and so multiple writers can simply take turns. SQLite will handle more write concurrency that many people suspect. Nevertheless, client/server database systems, because they have a long-running server process at hand to coordinate access, can usually handle far more write concurrency than SQLite ever will.


https://www.sqlite.org/whentouse.html

En d'autres termes: Pour lire, pas de problème, mais pour y écrire, à éviter
Raison: Lors d'un accès en écriture SQLite verrouille la totalité de la base (contrairement à d'autres SQBD qui verrouillent au niveau table ou au niveau enregistrement). Si l'écriture dure quelques millisecondes, ça n'a pas d'importance, mais c'est quand même déconseillé.

:)