Re: thread-safe libpq and DBD::Pg
Goran Thyni <goran@bildbasen.se>
From: Goran Thyni <goran@bildbasen.se>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-interfaces@postgreSQL.org
Date: 1998-08-09T08:16:36Z
Lists: pgsql-hackers
Tom Lane wrote: > > Goran Thyni <goran@bildbasen.se> writes: > > Has anyone any experience of the thread-safeness of libpq? > > PQconnectdb() is not thread-safe, because it scribbles temporary > data in the static PQconninfoOptions array. You can get around > that easily enough by not using PQconnectdb (or PQconndefaults) > --- use PQsetdbLogin() instead. In any case the problem exists > only if different threads try to open database connections > at the same time. > [...} Tom, thanks for the reply. DBD::Pg dos indeed use PQconnectdb(), but at least in my light test I get SEGV in $sth->fetch. The problems are probably somewhere in DBDI or DBD::Pg or somewhere in the interaction of the parts. I am looking into how much work a "pure Perl" interface should amount to. Using native perl IO and pgsql-fe/be-protocol should make "pgsql-clienting" even more portable over platforms. regards, Göran