Threads, libpq et option --enable-thread-safety

From: DANTE Alexandra <Alexandra(dot)Dante(at)bull(dot)net>
To: pgsql-fr-generale(at)postgresql(dot)org
Subject: Threads, libpq et option --enable-thread-safety
Date: 2006-07-07 13:37:17
Message-ID: 44AE638D.6010007@bull.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Bonjour,

Je travaille avec la version 8.1.3 de PostgreSQL, sur une machine IA-64
sous RHEL4-AS.
Je réalise des tests avec BenchmarkSQL pour caractériser, en terme de
performances, PostgreSQL dans un environnement transactionnel.

Je suis arrivée au stade des tests avec 4 CPUs et je m'interroge sur la
gestion du multi-threading côté PostgreSQL.
J'ai lu beaucoup de documentation sur ce point, et de ce que j'ai retenu
c'est que PostgreSQL n'est pas multi-threadé mais est multi-process.
Cela explique pourquoi il "forke" des process "postgres" à chaque
connection demandée à la base de données.
=> Cette théorie était-elle correcte ?
=> Est-ce que PostgreSQL autoriserait une requête à s'exécuter en
parallèle sur plusieurs CPUs ?

Ma dernière question concerne l'option de compilation
"--enable-thread-safety". A vrai dire, je ne comprends pas dans quel cas
je peux l'utiliser et ce qu'elle apporte...La définition de cette option
dans la doc officielle est la suivante : "Rend les bibliothèques clients
compatibles avec les threads. Ceci permet des threads concurrents dans
les programmes libpq et ECPG ce qui leur permet de gérer en toute sûreté
leur connexions privées."
Mais cela me ramène à ma première question : PostgreSQL est-il
multi-threadé ?

Tout ceci est encore confus pour moi et j'espère que vous pourrez
m'aider à éclaircir tout cela.

Cordialement,
Alexandra DANTE

Responses

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Sébastien Lardière 2006-07-07 17:43:12 Re: Threads, libpq et option --enable-thread-safety
Previous Message Bernard Clement 2006-06-26 22:14:06 Re: Message d'erreur lorsque je souhaite créer une base de données