extensions in 9.1
Hi,
I'm starting to migrate to 9.1 and see that there's a new mechanism to
install extensions via de "CREATE EXTENSION" command. It seems very
simple and convenient, but with "CREATE EXTENSION tablefunc" I'm getting
the error:
ERROR: function "normal_rand" already exists with same argument types
and similar errors when installing the adminpack into the postgres
database. I'm not sure what I'm missing here. Any pointers welcome.
Cheers,
--
Seb
Seb <spluque@gmail.com> writes:
I'm starting to migrate to 9.1 and see that there's a new mechanism to
install extensions via de "CREATE EXTENSION" command. It seems very
simple and convenient, but with "CREATE EXTENSION tablefunc" I'm getting
the error:
ERROR: function "normal_rand" already exists with same argument types
It sounds like you already have the old "unpackaged" version of that
module installed. You need to do a one-time conversion to get from that
state to having the objects wrapped in an extension. For the standard
contrib modules that's done with "CREATE EXTENSION ... FROM unpackaged".
regards, tom lane
On Tue, 20 Sep 2011 11:36:15 -0400,
Tom Lane <tgl@sss.pgh.pa.us> wrote:
Seb <spluque@gmail.com> writes:
I'm starting to migrate to 9.1 and see that there's a new mechanism
to install extensions via de "CREATE EXTENSION" command. It seems
very simple and convenient, but with "CREATE EXTENSION tablefunc" I'm
getting the error:
ERROR: function "normal_rand" already exists with same argument types
It sounds like you already have the old "unpackaged" version of that
module installed. You need to do a one-time conversion to get from
that state to having the objects wrapped in an extension. For the
standard contrib modules that's done with "CREATE EXTENSION ... FROM
unpackaged".
How can I check if this is the case? I was getting that same error when
trying to install the adminpack onto the postgres database (as postgres
user of course). If I try "CREATE EXTENSION adminpack FROM unpackaged"
onto the postgres database this way, I get:
ERROR: extension "adminpack" has no update path from version "unpackaged" to version "1.0"
and "CREATE EXTENSION tablefunc FROM unpackaged" onto the template1
database, I get:
ERROR: function normal_rand(integer, double precision, double precision) does not exist
--
Seb
"Sebastian P. Luque" <spluque@gmail.com> writes:
Tom Lane <tgl@sss.pgh.pa.us> wrote:
It sounds like you already have the old "unpackaged" version of that
module installed.
How can I check if this is the case? I was getting that same error when
trying to install the adminpack onto the postgres database (as postgres
user of course). If I try "CREATE EXTENSION adminpack FROM unpackaged"
onto the postgres database this way, I get:
ERROR: extension "adminpack" has no update path from version "unpackaged" to version "1.0"
and "CREATE EXTENSION tablefunc FROM unpackaged" onto the template1
database, I get:
ERROR: function normal_rand(integer, double precision, double precision) does not exist
Well, maybe you had better explain the history of this database a bit
better. It seems like you've got a subset of the tablefunc functions
installed; how did that come to be? And how did the adminpack functions
get in there? Checking the archives, the reason we didn't bother with
an "unpackaged" upgrade path for adminpack is that it's always installed
its functions into the pg_catalog schema, meaning pg_dump wouldn't dump
them, so they should not have been there after an upgrade.
regards, tom lane