Обсуждение: Transfer 8.3 to 8.4 - FUNCTION gtsq_in(cstring) does not exist

Поиск
Список
Период
Сортировка

Transfer 8.3 to 8.4 - FUNCTION gtsq_in(cstring) does not exist

От
Rebecca Clarke
Дата:
Hi
I'm transferring a database from 8.3 to 8.4 and I've done a pg_dump of the db schema on 8.3. When I pg_restore it to 8.4 I get the following:

pg_restore: creating FUNCTION gtsq_in(cstring)
pg_restore: [archiver (db)] Error from TOC entry 550; 1255 4231868780 FUNCTION gtsq_in(cstring) postgres
pg_restore: [archiver (db)] could not execute query: ERROR:  could not find function "gtsq_in" in file "/usr/lib/postgresql/8.4/lib/tsearch2.so"
    Command was: CREATE FUNCTION gtsq_in(cstring) RETURNS gtsq
    AS '$libdir/tsearch2', 'gtsq_in'
    LANGUAGE c STRICT;

I'm getting the same error when it tries to create function gtsq_out(cstring), gtsvector_out(cstring) and gtsvector_in(cstring) as well

I've run the tsearch2.sql in /usr/share/postgresql/8.4/contrib but still no go. I can't seem to find any info on web either.

Rebecca


Transfer 8.3 to 8.4 - FUNCTION gtsq_in(cstring) does not exist

От
Rebecca Clarke
Дата:
Hi
I'm transferring a database from 8.3 to 8.4 and I've done a pg_dump of the db schema on 8.3. When I pg_restore it to 8.4 I get the following:

pg_restore: creating FUNCTION gtsq_in(cstring)
pg_restore: [archiver (db)] Error from TOC entry 550; 1255 4231868780 FUNCTION gtsq_in(cstring) postgres
pg_restore: [archiver (db)] could not execute query: ERROR:  could not find function "gtsq_in" in file "/usr/lib/postgresql/8.4/lib/tsearch2.so"
    Command was: CREATE FUNCTION gtsq_in(cstring) RETURNS gtsq
    AS '$libdir/tsearch2', 'gtsq_in'
    LANGUAGE c STRICT;

I'm getting the same error when it tries to create function gtsq_out(cstring), gtsvector_out(cstring) and gtsvector_in(cstring) as well

I've run the tsearch2.sql in /usr/share/postgresql/8.4/contrib but still no go. I can't seem to find any info on web either.

Rebecca



Re: Transfer 8.3 to 8.4 - FUNCTION gtsq_in(cstring) does not exist

От
Tom Lane
Дата:
Rebecca Clarke <rebecca@clarke.net.nz> writes:
> I'm transferring a database from 8.3 to 8.4 and I've done a pg_dump of the
> db schema on 8.3. When I pg_restore it to 8.4 I get the following:

> pg_restore: creating FUNCTION gtsq_in(cstring)
> pg_restore: [archiver (db)] Error from TOC entry 550; 1255 4231868780
> FUNCTION gtsq_in(cstring) postgres
> pg_restore: [archiver (db)] could not execute query: ERROR:  could not find
> function "gtsq_in" in file "/usr/lib/postgresql/8.4/lib/tsearch2.so"
>     Command was: CREATE FUNCTION gtsq_in(cstring) RETURNS gtsq
>     AS '$libdir/tsearch2', 'gtsq_in'
>     LANGUAGE c STRICT;

Were you *really* on 8.3 before?  Because that function hasn't existed
since 8.2.

You need to follow the procedure for updating pre-8.3 tsearch2
installations, as described in the manual:
http://www.postgresql.org/docs/8.4/static/textsearch-migration.html
(I believe BTW that some errors of the sort you show above are expected
while doing this process.  If that's what you're doing, just ignore it.)

Alternatively, if you weren't actually doing anything with the
contrib/tsearch2 functions, you could just uninstall them from the older
database and then repeat the dump.

            regards, tom lane

Re: Transfer 8.3 to 8.4 - FUNCTION gtsq_in(cstring) does not exist

От
Rebecca Clarke
Дата:
Your right. I'm actually transferring from 8.2. Dumb moment for me there! 
I am using tsvector so unable to uninstall. I will look into documentation..
Thanks for your help.
Rebecca

On Thu, Oct 13, 2011 at 3:43 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Rebecca Clarke <rebecca@clarke.net.nz> writes:
> I'm transferring a database from 8.3 to 8.4 and I've done a pg_dump of the
> db schema on 8.3. When I pg_restore it to 8.4 I get the following:

> pg_restore: creating FUNCTION gtsq_in(cstring)
> pg_restore: [archiver (db)] Error from TOC entry 550; 1255 4231868780
> FUNCTION gtsq_in(cstring) postgres
> pg_restore: [archiver (db)] could not execute query: ERROR:  could not find
> function "gtsq_in" in file "/usr/lib/postgresql/8.4/lib/tsearch2.so"
>     Command was: CREATE FUNCTION gtsq_in(cstring) RETURNS gtsq
>     AS '$libdir/tsearch2', 'gtsq_in'
>     LANGUAGE c STRICT;

Were you *really* on 8.3 before?  Because that function hasn't existed
since 8.2.

You need to follow the procedure for updating pre-8.3 tsearch2
installations, as described in the manual:
http://www.postgresql.org/docs/8.4/static/textsearch-migration.html
(I believe BTW that some errors of the sort you show above are expected
while doing this process.  If that's what you're doing, just ignore it.)

Alternatively, if you weren't actually doing anything with the
contrib/tsearch2 functions, you could just uninstall them from the older
database and then repeat the dump.

                       regards, tom lane