I'm finishing up my migration to Postgres, and i noticed some odd
behavior
I was hoping that someone could point me in the right direction:
a - i often lose a connection to the server for an apache child. i
can't seem to trace when where or why this happens
i just get this in the log "DBD::Pg::st execute failed: no
connection to the server"
the other children are unaffected. i'm wondering if this is a ping
error, postgres shutting things down from too many invalid queries
(i'm still on my dev box) , or something else
b- several times a handle seems to have been corrupted. usually it
seems to happen with a failed sequence operation ( adding a new
record or retreiving a value )
when this happens, the handle seems to not be reset by the cleanup
handler ( ie - the automagic Apache::DBI issued rollback ). i have
to restart the server to clean the handle
has this happened to anyone else?
c- i was getting a bunch of "message type 0x49 arrived from server
while idle" -> "message type 0x53 arrived from server while idle"
looking on the net, i wasn't able to find much about it. a lot of
people had the issue on the perl DB lists, the Postgres lists, but
there was no mention of what caused it.
Then I finally came across somethig from the bricolage changelog:
http://bricolage.sourceforge.net/docs/Bric/Changes.html
Removed queries added in 1.7.2 that were running at Bricolage
startup time. They could cause DBI to cache a database handle and
return it after Apache forks, leading to strange errors such as
``message type 0x49 arrived from server while idle'', and
occaisionally a frozen server. [David]
It turns out that I had a handle that was cached by accident ( i
hadn't made a config only user yet, and the config handle was
connecting with the same params as my writing handle). Chances are ,
thats probably the issue. But does anyone know if there is a
definitive cause for this?
Thanks.
Jonathan