Re: information_schema._pg_keypositions() in 8.1???

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: jason(at)supernovasoftware(dot)com
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: information_schema._pg_keypositions() in 8.1???
Date: 2005-12-01 19:24:23
Message-ID: 16008.1133465063@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

"Jason Long" <jason(at)supernovasoftware(dot)com> writes:
> I cannot get automatic schema update to work in 8.1 with hibernate 3.0.5. I
> get the following error every time.

> java.sql.SQLException: ERROR: function information_schema._pg_keypositions()
> does not exist

Hm, it looks like some bright soul at Hibernate decided to depend on an
undocumented internal function :-(

> Is this something I should be looking to fix with Hibernate or PostgreSQL?

Hibernate. As a short term workaround you could manually create the
function using the 8.0 definition, which is

/* This returns the integers from 1 to INDEX_MAX_KEYS/FUNC_MAX_ARGS */
CREATE FUNCTION information_schema._pg_keypositions() RETURNS SETOF integer
LANGUAGE sql
IMMUTABLE
AS 'select g.s
from generate_series(1,current_setting(''max_index_keys'')::int,1)
as g(s)';

Note that one reason this went away in 8.1 is that there no longer is a
hard upper limit to the number of function arguments, so depending on
what Hibernate is expecting it to do, you might have some issues ...

regards, tom lane

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Scott Marlowe 2005-12-01 19:25:25 Re: interval behaviour
Previous Message Jason Long 2005-12-01 19:10:18 Re: information_schema._pg_keypositions() in 8.1???