I had a problem with reverse engineering after update to PostgreSQL 8.1. The foreign keys were not exctracted at all.
Stacktrace reported this problem "ERROR: function information_schema._pg_keypositions() does not exist"
This function exists in 8.0 databases, but not in fresh-created 8.1 databases. The solution is to add this function:
CREATE OR REPLACE FUNCTION information_schema._pg_keypositions()
RETURNS SETOF int4 AS
LANGUAGE 'sql' IMMUTABLE;
ALTER FUNCTION information_schema._pg_keypositions() OWNER TO postgres;
Just though it might be useful :]
P.S. Just starting with Hibernate, looks promissing !