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

Started by Rebecca Clarkeover 14 years ago4 messagesgeneral
Jump to latest
#1Rebecca Clarke
rebecca@clarke.net.nz

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

#2Rebecca Clarke
rebecca@clarke.net.nz
In reply to: Rebecca Clarke (#1)

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

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Rebecca Clarke (#1)
Re: Transfer 8.3 to 8.4 - FUNCTION gtsq_in(cstring) does not exist

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

#4Rebecca Clarke
rebecca@clarke.net.nz
In reply to: Tom Lane (#3)
Re: Transfer 8.3 to 8.4 - FUNCTION gtsq_in(cstring) does not exist

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:

Show quoted text

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