As database.pgsql.inc states the following, I've always thought that they were actually supported (at least to some extent):
/** * Initialize a database connection. * * Note that you can change the pg_connect() call to pg_pconnect() if you * want to use persistent connections. This is not recommended on shared hosts, * and might require additional database/webserver tuning. It can increase * performance, however, when the overhead to connect to your database is high * (e.g. your database and web server live on different machines). */
So, as I've most of the time ran the the database in different machine, I've been using pg_pconnect(). Only after I had red the said comment I realised that this is probably the reason I've been getting “table already exists” errors with code using temporary tables (e.g. search).
Now I'm considering filing a bug report to get that comment removed, or to get it patched with a statement that warns that persistent connections are not actually supported. Because right now it gives admins a quite confusing message that using persistent connetions is indeed at least partially supported.
What do people think? Should there be a clear statement that persistent connections are not supported? Or should them be more officially supported?
I think that the present situation is confusing.