On May 27 09:37, Martin Marques wrote:
> We're working on a project using PHP and PostgreSQL, mainly trying to work
> in an OOP fashion. The project has quite a good amount of code, and a DB
> Object called DB_Bib that has all the query methods. I also have a generic
> DB object (DB_Main) which has code to establesh the connection, and from
> which my DB_bib Inerits the DB connection.
>
> The thing is that I made a new class called DB_Debug which also inherits
> from DB_Main, and is there to have debugging data inserted into a table in
> the database.
>
> I noticed that when the two objects are started (they both call the
> connection method using the same connection string) php doesn't
> initiate to distinct connections, but 1 connection within commands from
> both objects get passed to the DB server.
>
> The problem is that query commands from the DB_Debug object and from the
> DB_Bib object get mixed up in the same connection, making it deficult to
> know when to make a commit.
As Cornelia Boenig suggested, you can force pg_connect() to establish a new
connection on every call. Also if you don't want to exhaust max_connections
limit, you can serialize queries using semaphores (or mutex).
Regards.