Thread: information_schema._pg_keypositions() in 8.1???
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
Is this something I should be looking to fix with Hibernate or PostgreSQL?
Any assistance would be greatly appreciated.
Thank you for your time,
Jason Long
CEO and Chief Software Engineer
BS Physics, MS Chemical Engineering
http://www.supernovasoftware.com
Executing the following from “information_schema.sql” from the 8.0 distribution against the restored database in 8.1 solved the problem. Is this a bug?
*****************************************************************
SET search_path TO information_schema, public;
/*
* A few supporting functions first ...
*/
/* This returns the integers from 1 to INDEX_MAX_KEYS/FUNC_MAX_ARGS */
CREATE FUNCTION _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)';
Thank you for your time,
Jason Long
CEO and Chief Software Engineer
BS Physics, MS Chemical Engineering
http://www.supernovasoftware.com
From: pgsql-general-owner@postgresql.org [mailto:pgsql-general-owner@postgresql.org] On Behalf Of Jason Long
Sent: Thursday, December 01, 2005 11:43 AM
To: pgsql-general@postgresql.org
Subject: [GENERAL] information_schema._pg_keypositions() in 8.1???
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
Is this something I should be looking to fix with Hibernate or PostgreSQL?
Any assistance would be greatly appreciated.
Thank you for your time,
Jason Long
CEO and Chief Software Engineer
BS Physics, MS Chemical Engineering
http://www.supernovasoftware.com
"Jason Long" <jason@supernovasoftware.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
On Thu, 1 Dec 2005, Jason Long wrote: > 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 > This is actually a sign that you are using an 8.0 jdbc driver against an 8.1 server. You need the 8.1 driver. Kris Jurka