create extension failed
Hello.
I have one test database, which was upgraded from 8.4 to 9.0. Now I've
upgraded it to 9.1. I'm trying to create extension for hstore.
db=# CREATE EXTENSION hstore WITH SCHEMA public FROM unpackaged;
ERROR: function hstore_recv(internal) does not exist
I suppose, that hstore_recv was added in 9.0, but I didn't update
hstore extension after upgrading from 8.4 to 9.0. Is this assumption
correct? How am I supposed to deal with this situation?
Finally, I was able to create extension after the following:
sed -e 's|MODULE_PATHNAME|$libdir/hstore|' <
/usr/local/share/postgresql/extension/hstore--1.0.sql | su pgsql -c
'psql -d db '
db=# CREATE EXTENSION hstore WITH SCHEMA public FROM unpackaged;
I'm not sure if it was a right thing...
--
С уважением,
Александр Пыхалов,
системный администратор ЮГИНФО ЮФУ
On 09/22/2011 04:40 AM, alp@sfedu.ru wrote:
Hello.
I have one test database, which was upgraded from 8.4 to 9.0. Now I've
upgraded it to 9.1. I'm trying to create extension for hstore.db=# CREATE EXTENSION hstore WITH SCHEMA public FROM unpackaged;
ERROR: function hstore_recv(internal) does not existI suppose, that hstore_recv was added in 9.0, but I didn't update
hstore extension after upgrading from 8.4 to 9.0. Is this assumption
correct? How am I supposed to deal with this situation?
I think the idea is that you bring your schema up to match the 9.0
hstore module, just like you would when upgrading without extensions.
*then* you create extension ... from unpackaged to wrap it as an extension.
I get the impression the documentation could cover this better, as
people seem to (perhaps reasonably) assume that "from unpackaged" is for
upgrades from older versions of the contrib modules. It can do that, but
only if appropriate upgrade scripts are written for the older versions
of the modules.
--
Craig Ringer