Cursor error with postgresql, pgpool and php -


hey, struggling bit determine exact cause of error has been popping in our release environment. there not seem dealing particular error on google.

this error message getting:

sqlstate[34000]: invalid cursor name: 7 error: portal "" not exist

the error pops when using pdo prepared statements.

this setup our release environment:

  1. pgpool 3.0.1 (the postgresql backend in streaming replication mode!)
  2. php 5.3.5
  3. postgresql 9.0

edit: architecture 64bit.

the same error not manifest in our test environment (edit: forgot mention, standard test environment uses postgresql 9.0 without pgpool). thus, led suspect pgpool @ least partly suspect.

does know probable causes error are?

edit: ok, here example of kind of code causes error.

$sql = 'select * '; $sql .= 'from "mytable" "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: log file output;

postgresql:

postgresql-sun.log-129- order "id"  postgresql-sun.log:130:error:  portal "" not exist postgresql-sun.log-131-error:  prepared statement "pdo_stmt_00000011" not exist postgresql-sun.log-132-statement:  deallocate pdo_stmt_00000011   postgresql-mon.log-82-  "id" = 32024 postgresql-mon.log:83:error:  portal "" not exist postgresql-mon.log-84-error:  prepared statement "pdo_stmt_00000002" not exist postgresql-mon.log-85-statement:  deallocate pdo_stmt_00000002 

pgpool:

log:   pid 22071: replication of node:1 behind 2080 bytes primary server (node:0) log:   pid 22071: replication of node:2 behind 2080 bytes primary server (node:0) log:   pid 13499: pool_send_and_wait: error or notice message backend: : db node id: 0 backend pid: 8470 statement:  message: portal "" not exist log:   pid 13499: pool_send_and_wait: error or notice message backend: : db node id: 0 backend pid: 8470 statement: deallocate pdo_stmt_00000003 message: prepared statement "pdo_stmt_00000003" not exist 

i've found solution. turns out bug experiencing not exists in pgpool-ii 3.1 alpha2. looks bug fixed in march after 3.0.3 release. solution download release , build/install manually. of paths different, instance config path /usr/local/etc/

pgpool-ii 3.1 alpha2 available here: http://pgfoundry.org/frs/?group_id=1000055

it's possible latest 3.0-stable tree has fix issue. hoping test export cvs later tonight.


Comments

Popular posts from this blog

c# - how to write client side events functions for the combobox items -

exception - Python, pyPdf OCR error: pyPdf.utils.PdfReadError: EOF marker not found -