ZSQL method - PostgreSQL error
A strange error I have encountered today : Environment: RedHat 5.2 i386 Linux Zope 2.0.0b4 running with ZServer (not with apache) PostgreSQL 6.5.1 ZPyGreSQLDA-0-0-3 PyGreSQL v2.4 I am defining a Z SQL method in order to select some records from 3 linked tables. If the query will return only two fields (date and value) everything is ok, I can see the results, publish them. If I am selecting 3 fields from the tables (date, explanation and value) I am receiving the error: Zope has encountered an error while publishing this resource. Error Type: pg.error Error Value: ERROR: hash table out of memory. Use -B parameter to increase buffers. This is a PostgreSQL error and it's related with some PostgreSQL backend parameters. The buffers can be increased with a -B parameter. BEFORE increasing the number of buffers I have tried the same SQL select in "psql" (the PostgreSQL monitor). It succeeded!!! I have tried the same SQL select in PgAccess (the PostgreSQL graphical administration tool). It succeeded!!! The tables aren't so big (5 Mb the whole database). The strange thing is that the same query is succesfully executed by other front-ends (psql is written in "C" and PgAccess in Tcl/Tk). The default # of buffers is 64. I restarted PostgreSQL with 128 and then 256 buffers. The same result. Zope cannot retrieve that select. That means that the error could be in PyGreSQL module? Any clue? -- Constantin Teodorescu FLEX Consulting Braila, ROMANIA
Thus spake Constantin Teodorescu
Zope has encountered an error while publishing this resource. Error Type: pg.error Error Value: ERROR: hash table out of memory. Use -B parameter to increase buffers.
The default # of buffers is 64. I restarted PostgreSQL with 128 and then 256 buffers. The same result. Zope cannot retrieve that select. That means that the error could be in PyGreSQL module?
It's possible. Try running python directly and see if db.query() gives you the same problem. If so then try to create a small database that exhibits the problem and send me the SQL to create and populate the database and the statement that fails. -- D'Arcy J.M. Cain <darcy@{druid|vex}.net> | Democracy is three wolves http://www.druid.net/darcy/ | and a sheep voting on +1 416 424 2871 (DoD#0082) (eNTP) | what's for dinner.
participants (2)
-
Constantin Teodorescu -
D'Arcy J.M. Cain