PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Threadsicheres PQconn-Objekt

Eine einzelne Verbindung zu PostgreSQL unterstützt keine gleichzeitigen Abfragen. Wenn eine Abfrage aktiv ist, ist es nicht möglich, ihr PGconn wiederzuverwenden Struktur für alles andere, mit Ausnahme von PQcancel() die von einem anderen Thread oder einem Signalhandler aufgerufen werden kann.

Dies kommt vom Design des Client-Server-Protokolls, nicht von libpq selbst.

Um gleichzeitige Abfragen in mehreren Threads zu implementieren, muss jeder Thread seine eigene Verbindung und seinen eigenen entsprechenden nicht gemeinsam genutzten PGconn haben Struktur.