[Pgpool-general] Curser/Portal error with pgpool-II 3.0&postgres 9.0

Berthold Alheit beho at cybc.jp
Fri May 13 04:00:30 UTC 2011


Hey,

We are experiencing an issue with our release environment. I have posted 
a thread on stackoverflow relating to this, but I will repeat the post 
content in this mail. The thread can be accessed at 
http://stackoverflow.com/questions/5959907/cursor-error-with-postgresql-pgpool-and-php 
. I suspect that this is an pgpool bug/error that only manifests under 
very particular circumstances. The error defies duplication using the 
same sources and setup in a test environment so far.

Regards,
Berthold Alheit

stackoverflow post body follows:


Hey, I am struggling a bit to determine the exact cause of an error that 
has been popping up in our release environment. There does not seem to 
be much dealing with this particular error on Google.

This is the error message we are getting:

    SQLSTATE[34000]: Invalid cursor name: 7 ERROR: portal "" does not exist

The error only pops up when we are using PDO prepared statements.

This is the setup for our release environment:

   1. pgpool 3.0.1 (The postgresql backend is in Streaming Replication
      mode!)
   2. PHP 5.3.5
   3. PostgreSQL 9.0

The same error does not manifest in our test environment (Edit: forgot 
to mention, the standard test environment uses Postgresql 9.0 without 
pgpool). Thus, I am led to suspect that pgpool is at least partly suspect.

Does anyone know what the probable causes for this error are?

Edit: ok, here is an example of the kind of code that causes the error.

|$sql=  'SELECT *';
$sql.=  'FROM "myTable" as "myStuff"';
$sql.=  'WHERE "myTable"."status" = 1';
$sql.=  'AND "myTable"."myTableId" = :tableId';
$sth=  $this->_db->prepare($sql);
$sth->bindParam(':tableId',  $tableId,  PDO::PARAM_INT);
$sth->execute();
|

Edit: Some log file output;

|postgresql-Sun.log-129-  ORDER BY"id"
postgresql-Sun.log:130:ERROR:    portal""  doesnot  exist
postgresql-Sun.log-131-ERROR:    prepared statement"pdo_stmt_00000011"  doesnot  exist
postgresql-Sun.log-132-STATEMENT:    DEALLOCATE pdo_stmt_00000011


postgresql-Mon.log-82-    where  "id"  =  32024
postgresql-Mon.log:83:ERROR:    portal""  doesnot  exist
postgresql-Mon.log-84-ERROR:    prepared statement"pdo_stmt_00000002"  doesnot  exist
postgresql-Mon.log-85-STATEMENT:    DEALLOCATE pdo_stmt_00000002|


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://pgfoundry.org/pipermail/pgpool-general/attachments/20110513/c4f4d139/attachment.html>


More information about the Pgpool-general mailing list