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:
- pgpool 3.0.1 (the postgresql backend in streaming replication mode!)
- php 5.3.5
- 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
Post a Comment