Thread: Database handle destroyed without explicit disconnect

Database handle destroyed without explicit disconnect

From
"Susan Lane"
Date:
Hi -

I decided to try the ora2pg perl script to convert my tables from oracle to
postgres and I wondered if anyone has had problems with this script.  Or
maybe you are familiar with the symptoms I'm having as a result.

I ran the script and after it told me that it was creating my sequences, it
said "Database handle destroyed without explicit disconnect".  Now when I go
into psql, any command I try (even /?) gives me a segmentation fault.
Pgadmin tells me when I try to drop my database that I can't drop an open
database.  My log tells me "pq_recvbuf: unexpected EOF on client
connection".   I have tried stopping and restarting postmaster, but that
didn't help.  I tried looking around in the documentation, pg_recvbuf and
various pieces of the other error, but I can't find anything.  Any help
would be greatly appreciated.  Thanks!
--
Susan Lane
DPN, Incorporated
4631 Spring Mountain Road
Las Vegas, NV 89102
Email  suel@dpn.com
Ph. (702) 873-3282
Fax (702) 873-3913
http://www.dpn.com



Re: Database handle destroyed without explicit disconnect

From
Tom Lane
Date:
"Susan Lane" <suel@dpn.com> writes:
> I ran the script and after it told me that it was creating my sequences, it
> said "Database handle destroyed without explicit disconnect".

That might be normal behavior for that script; I can't tell without an
Oracle installation to try it against, but it does look like it exits
without bothering to close the Oracle DBI connection.  That wouldn't
affect Postgres, however, especially considering that ora2pl never
contacts the Postgres database at all.  (AFAICT, it just writes a script
file that you are supposed to feed to Postgres afterwards.  Did you
actually do so?)

> Now when I go
> into psql, any command I try (even /?) gives me a segmentation fault.

*Any* command?  That's hard to believe.  What different commands have you
tried?  There was a bug in a recent psql version (7.1.1 I believe) that
would make it dump core after certain single-letter backslash commands,
but I can't tell if that's what your problem is.

> Pgadmin tells me when I try to drop my database that I can't drop an open
> database.

Normal behavior, if that's what you tried to do.

> My log tells me "pq_recvbuf: unexpected EOF on client connection".

This is not evidence of a catastrophe either.  So far I suspect that
you've had the bad luck to trip over a small bug in the prior release
of psql, but I can't tell that anything else is wrong.

            regards, tom lane

Re: Database handle destroyed without explicit disconnect

From
Tom Lane
Date:
"Sue Lane" <suel@dpn.com> writes:
> Well, that's the version of psql that I have, but these commands used to
> work before.  I've tried more than just the single letter backslash
> commands....for example I tried:
> select * from pg_database
> and still got a core dump.

That's pretty odd.  Can you provide a backtrace (eg, gdb "bt" command)
from the core file?

            regards, tom lane

Re: Database handle destroyed without explicit disconnect

From
"Sue Lane"
Date:
> "Susan Lane" <suel@dpn.com> writes:
> > I ran the script and after it told me that it was creating my sequences,
it
> > said "Database handle destroyed without explicit disconnect".
>
>That wouldn't
> affect Postgres, however, especially considering that ora2pl never
> contacts the Postgres database at all.  (AFAICT, it just writes a script
> file that you are supposed to feed to Postgres afterwards.  Did you
> actually do so?)

No, I didn't run the script - It did build my CREATE SEQUENCE statements,
but that's it.
However, the script has an option to get your data too....I was using that
option.  Maybe that's the part that went wrong.

> > Now when I go
> > into psql, any command I try (even /?) gives me a segmentation fault.
>
> *Any* command?  That's hard to believe.  What different commands have you
> tried?  There was a bug in a recent psql version (7.1.1 I believe) that
> would make it dump core after certain single-letter backslash commands,
> but I can't tell if that's what your problem is.

Well, that's the version of psql that I have, but these commands used to
work before.  I've tried more than just the single letter backslash
commands....for example I tried:
select * from pg_database
and still got a core dump.