Hello I started upgrade our databases from 8.1 to 8.3. I found two strange bugs related to tsearch2.
a) server crash after creating tsearch2 function (I use tsearch2 contrib from 8.3) (gdb) bt #0 0x0000003838033075 in raise () from /lib64/libc.so.6 #1 0x0000003838034be3 in abort () from /lib64/libc.so.6 #2 0x000000000068db5d in ExceptionalCondition (conditionName=<value optimized out>, errorType=<value optimized out>, fileName=<value optimized out>, lineNumber=<value optimized out>) at assert.c:57 #3 0x0000000000a6cc79 in plpgsql_HashTableInit () at pl_comp.c:2016 #4 0x0000000000e95d72 in _PG_init () from /usr/lib64/pgsql/plpgsql.so #5 0x0000000000693105 in internal_load_library (libname=0x1fd5c70 "/usr/lib64/pgsql/plpgsql.so") at dfmgr.c:296 #6 0x0000000000693506 in load_external_function (filename=<value optimized out>, funcname=0x1fa8358 "plpgsql_call_handler", signalNotFound=1 '\001', filehandle=0x7fff8eb5d678) at dfmgr.c:110 #7 0x00000000004bd1b9 in fmgr_c_validator (fcinfo=<value optimized out>) at pg_proc.c:509 #8 0x00000000006964e6 in OidFunctionCall1 (functionId=<value optimized out>, arg1=28155) at fmgr.c:1532 #9 0x00000000004bdab0 in ProcedureCreate (procedureName=0x1f6a430 "plpgsql_call_handler", procNamespace=2200, replace=0 '\0', returnsSet=0 '\0', returnType=2280, languageObjectId=13, languageValidator=2247, prosrc=0x1f6a640 "plpgsql_call_handler", probin=0x1f6a608 "/usr/lib64/pgsql/plpgsql", isAgg=0 '\0', security_definer=0 '\0', isStrict=0 '\0', volatility=118 'v', parameterTypes=0x1fa7a90, allParameterTypes=0, parameterModes=0, parameterNames=0, proconfig=0, procost=1, prorows=0) at pg_proc.c:413 #10 0x0000000000502588 in CreateFunction (stmt=0x1f6a890) at functioncmds.c:785 #11 0x00000000005e3da5 in PortalRunUtility (portal=0x1fc3678, utilityStmt=0x1f6a890, isTopLevel=-1 '�', dest=0x1f6a948, completionTag=0x7fff8eb5e020 "") at pquery.c:1173 #12 0x00000000005e53d5 in PortalRunMulti (portal=0x1fc3678, isTopLevel=<value optimized out>, dest=0x1f6a948, altdest=0x1f6a948, completionTag=0x7fff8eb5e020 "") at pquery.c:1266 #13 0x00000000005e5c1b in PortalRun (portal=0x1fc3678, count=9223372036854775807, isTopLevel=64 '@', dest=0x1f6a948, altdest=0x1f6a948, completionTag=0x7fff8eb5e020 "") at pquery.c:813 #14 0x00000000005e0a0c in exec_simple_query ( query_string=0x1f69ae8 "CREATE FUNCTION plpgsql_call_handler() RETURNS language_handler\n AS '/usr/lib64/pgsql/plpgsql', 'plpgsql_call_handler'\n LANGUAGE c;") at postgres.c:986 #15 0x00000000005e1f67 in PostgresMain (argc=4, argv=<value optimized out>, username=0x1ed56a8 "pavel") at postgres.c:3572 #16 0x00000000005ae96a in BackendRun () at postmaster.c:3207 #17 BackendStartup () at postmaster.c:2830 #18 ServerLoop () at postmaster.c:1274 #19 0x00000000005af685 in PostmasterMain (argc=3, argv=0x1ed1540) at postmaster.c:1029 #20 0x000000000055f208 in main (argc=3, argv=0x1ed1540) at main.c:188 (gdb) ERROR: function public.lexize(text) does not exist STATEMENT: ALTER FUNCTION public.lexize(text) OWNER TO postgres; ERROR: could not find function "parse" in file "/usr/local/pgsql8.3/lib/tsearch2.so" STATEMENT: CREATE FUNCTION parse(oid, text) RETURNS SETOF tokenout <------> AS '$libdir/tsearch2', 'parse' <------> LANGUAGE c STRICT; ERROR: function public.parse(oid, text) does not exist STATEMENT: ALTER FUNCTION public.parse(oid, text) OWNER TO postgres; ERROR: could not find function "parse_byname" in file "/usr/local/pgsql8.3/lib/tsearch2.so" STATEMENT: CREATE FUNCTION parse(text, text) RETURNS SETOF tokenout <------> AS '$libdir/tsearch2', 'parse_byname' <------> LANGUAGE c STRICT; ERROR: function public.parse(text, text) does not exist STATEMENT: ALTER FUNCTION public.parse(text, text) OWNER TO postgres; ERROR: could not find function "parse_current" in file "/usr/local/pgsql8.3/lib/tsearch2.so" STATEMENT: CREATE FUNCTION parse(text) RETURNS SETOF tokenout <------> AS '$libdir/tsearch2', 'parse_current' <------> LANGUAGE c STRICT; ERROR: function public.parse(text) does not exist STATEMENT: ALTER FUNCTION public.parse(text) OWNER TO postgres; TRAP: FailedAssertion("!(plpgsql_HashTable == ((void *)0))", File: "pl_comp.c", Line: 2016) LOG: server process (PID 4672) was terminated by signal 6: Aborted LOG: terminating any other active server processes LOG: all server processes terminated; reinitializing LOG: database system was interrupted; last known up at 2008-11-04 15:01:14 CET LOG: database system was not properly shut down; automatic recovery in progress b) after instalation tsearch2 (8.3) postgresql knows tsvector type template1=# select 'tsvector'::regtype; regtype ---------- tsvector (1 row) template1=# create table foo(a tsvector); CREATE TABLE template1=# but inside import pg should forget this type and use tsvector only as shell type ERROR: type "tsvector" is only a shell STATEMENT: CREATE TYPE tsdebug AS ( <------><------>ts_name text, <------><------>tok_type text, <------><------>description text, <------><------>token text, <------><------>dict_name text[], <------><------>tsvector tsvector <------>); ERROR: type "public.tsdebug" does not exist STATEMENT: ALTER TYPE public.tsdebug OWNER TO postgres; NOTICE: argument type tsvector is only a shell STATEMENT: CREATE FUNCTION concat(tsvector, tsvector) RETURNS tsvector <------> AS '$libdir/tsearch2', 'concat' <------> LANGUAGE c IMMUTABLE STRICT; NOTICE: argument type tsvector is only a shell STATEMENT: CREATE FUNCTION concat(tsvector, tsvector) RETURNS tsvector <------> AS '$libdir/tsearch2', 'concat' in this moment we cannot do tables ERROR: type "tsvector" is only a shell at character 1274 STATEMENT: CREATE TABLE "position" (CREATE TYPE tsvector; <------> id integer NOT NULL, <------> title character varying(255) NOT NULL, <------> description text, <------> work_address character varying(255), <------> reward character varying(100), <------> time_info character varying(100), <------> work_type character varying(80), <------> date_enter integer NOT NULL, <------> date_expire integer NOT NULL, <------> date_expire_original integer NOT NULL, <------> id_status integer NOT NULL, <------> submitter_name character varying(50), <------> submitter_email character varying(80), <------> submitter_phone character varying(50), <------> uniq_key character varying(55), <------> id_svl_work_kind character(3), <------> submitter_ip character varying(40), <------> source character(1), <------> target character varying(2) NOT NULL, <------> iswarranty character(1), <------> url_pdjd character varying(255), <------> g2_id integer, <------> rejection_description text, <------> g2_id_personnel integer, <------> g2_id_company integer, <------> contact_company_name character varying(100), <------> contact_company_info character varying(255), <------> contact_person character varying(50), <------> contact_phone character varying(50), <------> contact_email character varying(80), <------> contact_address character varying(255), <------> date_enter_modified integer, <------> ispaid character(1) DEFAULT 0, <------> date_enter_touched integer, <------> fulltext_index tsvector <------>); build script is in attachement, log too
-- -- PostgreSQL database cluster dump -- \connect postgres SET client_encoding = 'UTF8'; SET standard_conforming_strings = off; SET escape_string_warning = 'off'; CREATE ROLE lmc; ALTER ROLE lmc WITH SUPERUSER NOINHERIT CREATEROLE CREATEDB LOGIN; -- -- Database creation -- CREATE DATABASE brigady WITH TEMPLATE = template0 OWNER = lmc ENCODING = 'UTF8'; -- -- PostgreSQL database dump complete -- \connect brigady -- -- PostgreSQL database dump -- SET client_encoding = 'UTF8'; SET standard_conforming_strings = off; SET check_function_bodies = false; SET client_min_messages = warning; SET escape_string_warning = off; -- -- Name: plpgsql; Type: PROCEDURAL LANGUAGE; Schema: -; Owner: postgres -- CREATE PROCEDURAL LANGUAGE plpgsql; ALTER PROCEDURAL LANGUAGE plpgsql OWNER TO postgres; SET search_path = public, pg_catalog; -- -- Name: gtsvector; Type: SHELL TYPE; Schema: public; Owner: postgres -- CREATE TYPE gtsvector; -- -- Name: gtsvector_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres -- CREATE FUNCTION gtsvector_in(cstring) RETURNS gtsvector AS '$libdir/tsearch2', 'gtsvector_in' LANGUAGE c STRICT; ALTER FUNCTION public.gtsvector_in(cstring) OWNER TO postgres; -- -- Name: gtsvector_out(gtsvector); Type: FUNCTION; Schema: public; Owner: postgres -- CREATE FUNCTION gtsvector_out(gtsvector) RETURNS cstring AS '$libdir/tsearch2', 'gtsvector_out' LANGUAGE c STRICT; ALTER FUNCTION public.gtsvector_out(gtsvector) OWNER TO postgres; -- -- Name: gtsvector; Type: TYPE; Schema: public; Owner: postgres -- CREATE TYPE gtsvector ( INTERNALLENGTH = variable, INPUT = gtsvector_in, OUTPUT = gtsvector_out, ALIGNMENT = int4, STORAGE = plain ); ALTER TYPE public.gtsvector OWNER TO postgres; -- -- Name: tsquery; Type: SHELL TYPE; Schema: public; Owner: postgres -- CREATE TYPE tsquery; -- -- Name: tsquery_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres -- CREATE FUNCTION tsquery_in(cstring) RETURNS tsquery AS '$libdir/tsearch2', 'tsquery_in' LANGUAGE c STRICT; ALTER FUNCTION public.tsquery_in(cstring) OWNER TO postgres; -- -- Name: tsquery_out(tsquery); Type: FUNCTION; Schema: public; Owner: postgres -- CREATE FUNCTION tsquery_out(tsquery) RETURNS cstring AS '$libdir/tsearch2', 'tsquery_out' LANGUAGE c STRICT; ALTER FUNCTION public.tsquery_out(tsquery) OWNER TO postgres; -- -- Name: tsquery; Type: TYPE; Schema: public; Owner: postgres -- CREATE TYPE tsquery ( INTERNALLENGTH = variable, INPUT = tsquery_in, OUTPUT = tsquery_out, ALIGNMENT = int4, STORAGE = plain ); ALTER TYPE public.tsquery OWNER TO postgres; -- -- Name: tsvector; Type: SHELL TYPE; Schema: public; Owner: postgres -- CREATE TYPE tsvector; -- -- Name: tsvector_in(cstring); Type: FUNCTION; Schema: public; Owner: postgres -- CREATE FUNCTION tsvector_in(cstring) RETURNS tsvector AS '$libdir/tsearch2', 'tsvector_in' LANGUAGE c STRICT; ALTER FUNCTION public.tsvector_in(cstring) OWNER TO postgres; -- -- Name: tsvector_out(tsvector); Type: FUNCTION; Schema: public; Owner: postgres -- CREATE FUNCTION tsvector_out(tsvector) RETURNS cstring AS '$libdir/tsearch2', 'tsvector_out' LANGUAGE c STRICT; ALTER FUNCTION public.tsvector_out(tsvector) OWNER TO postgres; -- -- Name: tsvector; Type: TYPE; Schema: public; Owner: postgres -- CREATE TYPE tsvector ( INTERNALLENGTH = variable, INPUT = tsvector_in, OUTPUT = tsvector_out, ALIGNMENT = int4, STORAGE = extended ); ALTER TYPE public.tsvector OWNER TO postgres; -- -- Name: statinfo; Type: TYPE; Schema: public; Owner: postgres -- CREATE TYPE statinfo AS ( word text, ndoc integer, nentry integer ); ALTER TYPE public.statinfo OWNER TO postgres; -- -- Name: tokenout; Type: TYPE; Schema: public; Owner: postgres -- CREATE TYPE tokenout AS ( tokid integer, token text ); ALTER TYPE public.tokenout OWNER TO postgres; -- -- Name: tokentype; Type: TYPE; Schema: public; Owner: postgres -- CREATE TYPE tokentype AS ( tokid integer, alias text, descr text ); ALTER TYPE public.tokentype OWNER TO postgres; -- -- Name: tsdebug; Type: TYPE; Schema: public; Owner: postgres -- CREATE TYPE tsdebug AS ( ts_name text, tok_type text, description text, token text, dict_name text[], tsvector tsvector ); ALTER TYPE public.tsdebug OWNER TO postgres; -- -- Name: _get_parser_from_curcfg(); Type: FUNCTION; Schema: public; Owner: postgres -- CREATE FUNCTION _get_parser_from_curcfg() RETURNS text AS $$ select prs_name from pg_ts_cfg where oid = show_curcfg() $$ LANGUAGE sql IMMUTABLE STRICT; ALTER FUNCTION public._get_parser_from_curcfg() OWNER TO postgres; -- -- Name: concat(tsvector, tsvector); Type: FUNCTION; Schema: public; Owner: postgres -- CREATE FUNCTION concat(tsvector, tsvector) RETURNS tsvector AS '$libdir/tsearch2', 'concat' LANGUAGE c IMMUTABLE STRICT; ALTER FUNCTION public.concat(tsvector, tsvector) OWNER TO postgres; -- -- Name: dex_init(internal); Type: FUNCTION; Schema: public; Owner: postgres -- CREATE FUNCTION dex_init(internal) RETURNS internal AS '$libdir/tsearch2', 'dex_init' LANGUAGE c; ALTER FUNCTION public.dex_init(internal) OWNER TO postgres; -- -- Name: dex_lexize(internal, internal, integer); Type: FUNCTION; Schema: public; Owner: postgres -- CREATE FUNCTION dex_lexize(internal, internal, integer) RETURNS internal AS '$libdir/tsearch2', 'dex_lexize' LANGUAGE c STRICT; ALTER FUNCTION public.dex_lexize(internal, internal, integer) OWNER TO postgres; -- -- Name: exectsq(tsvector, tsquery); Type: FUNCTION; Schema: public; Owner: postgres -- CREATE FUNCTION exectsq(tsvector, tsquery) RETURNS boolean AS '$libdir/tsearch2', 'exectsq' LANGUAGE c IMMUTABLE STRICT; ALTER FUNCTION public.exectsq(tsvector, tsquery) OWNER TO postgres; -- -- Name: FUNCTION exectsq(tsvector, tsquery); Type: COMMENT; Schema: public; Owner: postgres -- COMMENT ON FUNCTION exectsq(tsvector, tsquery) IS 'boolean operation with text index'; -- -- Name: get_covers(tsvector, tsquery); Type: FUNCTION; Schema: public; Owner: postgres -- CREATE FUNCTION get_covers(tsvector, tsquery) RETURNS text AS '$libdir/tsearch2', 'get_covers' LANGUAGE c STRICT; ALTER FUNCTION public.get_covers(tsvector, tsquery) OWNER TO postgres; -- -- Name: FUNCTION get_min_last_sync(character varying); Type: COMMENT; Schema: public; Owner: postgres -- COMMENT ON FUNCTION get_min_last_sync(character varying) IS 'vraci nejmensi datum synchronizace'; -- -- Name: gtsvector_compress(internal); Type: FUNCTION; Schema: public; Owner: postgres -- CREATE FUNCTION gtsvector_compress(internal) RETURNS internal AS '$libdir/tsearch2', 'gtsvector_compress' LANGUAGE c; ALTER FUNCTION public.gtsvector_compress(internal) OWNER TO postgres; -- -- Name: gtsvector_consistent(gtsvector, internal, integer); Type: FUNCTION; Schema: public; Owner: postgres -- CREATE FUNCTION gtsvector_consistent(gtsvector, internal, integer) RETURNS boolean AS '$libdir/tsearch2', 'gtsvector_consistent' LANGUAGE c; ALTER FUNCTION public.gtsvector_consistent(gtsvector, internal, integer) OWNER TO postgres; -- -- Name: gtsvector_decompress(internal); Type: FUNCTION; Schema: public; Owner: postgres -- CREATE FUNCTION gtsvector_decompress(internal) RETURNS internal AS '$libdir/tsearch2', 'gtsvector_decompress' LANGUAGE c; ALTER FUNCTION public.gtsvector_decompress(internal) OWNER TO postgres; -- -- Name: gtsvector_penalty(internal, internal, internal); Type: FUNCTION; Schema: public; Owner: postgres -- CREATE FUNCTION gtsvector_penalty(internal, internal, internal) RETURNS internal AS '$libdir/tsearch2', 'gtsvector_penalty' LANGUAGE c STRICT; ALTER FUNCTION public.gtsvector_penalty(internal, internal, internal) OWNER TO postgres; -- -- Name: gtsvector_picksplit(internal, internal); Type: FUNCTION; Schema: public; Owner: postgres -- CREATE FUNCTION gtsvector_picksplit(internal, internal) RETURNS internal AS '$libdir/tsearch2', 'gtsvector_picksplit' LANGUAGE c; ALTER FUNCTION public.gtsvector_picksplit(internal, internal) OWNER TO postgres; -- -- Name: gtsvector_same(gtsvector, gtsvector, internal); Type: FUNCTION; Schema: public; Owner: postgres -- CREATE FUNCTION gtsvector_same(gtsvector, gtsvector, internal) RETURNS internal AS '$libdir/tsearch2', 'gtsvector_same' LANGUAGE c; ALTER FUNCTION public.gtsvector_same(gtsvector, gtsvector, internal) OWNER TO postgres; -- -- Name: gtsvector_union(bytea, internal); Type: FUNCTION; Schema: public; Owner: postgres -- CREATE FUNCTION gtsvector_union(bytea, internal) RETURNS integer[] AS '$libdir/tsearch2', 'gtsvector_union' LANGUAGE c; ALTER FUNCTION public.gtsvector_union(bytea, internal) OWNER TO postgres; -- -- Name: gtsvector_union(internal, internal); Type: FUNCTION; Schema: public; Owner: postgres -- CREATE FUNCTION gtsvector_union(internal, internal) RETURNS integer[] AS '$libdir/tsearch2', 'gtsvector_union' LANGUAGE c; ALTER FUNCTION public.gtsvector_union(internal, internal) OWNER TO postgres; -- -- Name: headline(oid, text, tsquery, text); Type: FUNCTION; Schema: public; Owner: postgres -- CREATE FUNCTION headline(oid, text, tsquery, text) RETURNS text AS '$libdir/tsearch2', 'headline' LANGUAGE c IMMUTABLE STRICT; ALTER FUNCTION public.headline(oid, text, tsquery, text) OWNER TO postgres; -- -- Name: headline(oid, text, tsquery); Type: FUNCTION; Schema: public; Owner: postgres -- CREATE FUNCTION headline(oid, text, tsquery) RETURNS text AS '$libdir/tsearch2', 'headline' LANGUAGE c IMMUTABLE STRICT; ALTER FUNCTION public.headline(oid, text, tsquery) OWNER TO postgres; -- -- Name: headline(text, text, tsquery, text); Type: FUNCTION; Schema: public; Owner: postgres -- CREATE FUNCTION headline(text, text, tsquery, text) RETURNS text AS '$libdir/tsearch2', 'headline_byname' LANGUAGE c IMMUTABLE STRICT; ALTER FUNCTION public.headline(text, text, tsquery, text) OWNER TO postgres; -- -- Name: headline(text, text, tsquery); Type: FUNCTION; Schema: public; Owner: postgres -- CREATE FUNCTION headline(text, text, tsquery) RETURNS text AS '$libdir/tsearch2', 'headline_byname' LANGUAGE c IMMUTABLE STRICT; ALTER FUNCTION public.headline(text, text, tsquery) OWNER TO postgres; -- -- Name: headline(text, tsquery, text); Type: FUNCTION; Schema: public; Owner: postgres -- CREATE FUNCTION headline(text, tsquery, text) RETURNS text AS '$libdir/tsearch2', 'headline_current' LANGUAGE c IMMUTABLE STRICT; ALTER FUNCTION public.headline(text, tsquery, text) OWNER TO postgres; -- -- Name: headline(text, tsquery); Type: FUNCTION; Schema: public; Owner: postgres -- CREATE FUNCTION headline(text, tsquery) RETURNS text AS '$libdir/tsearch2', 'headline_current' LANGUAGE c IMMUTABLE STRICT; ALTER FUNCTION public.headline(text, tsquery) OWNER TO postgres; -- -- Name: length(tsvector); Type: FUNCTION; Schema: public; Owner: postgres -- CREATE FUNCTION length(tsvector) RETURNS integer AS '$libdir/tsearch2', 'tsvector_length' LANGUAGE c IMMUTABLE STRICT; ALTER FUNCTION public.length(tsvector) OWNER TO postgres; -- -- Name: lexize(oid, text); Type: FUNCTION; Schema: public; Owner: postgres -- CREATE FUNCTION lexize(oid, text) RETURNS text[] AS '$libdir/tsearch2', 'lexize' LANGUAGE c STRICT; ALTER FUNCTION public.lexize(oid, text) OWNER TO postgres; -- -- Name: lexize(text, text); Type: FUNCTION; Schema: public; Owner: postgres -- CREATE FUNCTION lexize(text, text) RETURNS text[] AS '$libdir/tsearch2', 'lexize_byname' LANGUAGE c STRICT; ALTER FUNCTION public.lexize(text, text) OWNER TO postgres; -- -- Name: lexize(text); Type: FUNCTION; Schema: public; Owner: postgres -- CREATE FUNCTION lexize(text) RETURNS text[] AS '$libdir/tsearch2', 'lexize_bycurrent' LANGUAGE c STRICT; ALTER FUNCTION public.lexize(text) OWNER TO postgres; -- -- Name: list_admin_stopword(); Type: FUNCTION; Schema: public; Owner: postgres -- CREATE FUNCTION list_admin_stopword() RETURNS SETOF record AS $$ DECLARE row RECORD; BEGIN FOR row IN SELECT word FROM admin_stopword LOOP RETURN NEXT row; END LOOP; RETURN; END; $$ LANGUAGE plpgsql; ALTER FUNCTION public.list_admin_stopword() OWNER TO postgres; SET default_tablespace = ''; SET default_with_oids = false; -- -- Name: position; Type: TABLE; Schema: public; Owner: lmc; Tablespace: -- CREATE TABLE "position" ( id integer NOT NULL, title character varying(255) NOT NULL, description text, fulltext_index tsvector ); ALTER TABLE public."position" OWNER TO lmc; -- -- Name: view_position_uniq; Type: VIEW; Schema: public; Owner: lmc -- CREATE VIEW view_position_uniq AS SELECT p.uniq_key FROM "position" p;
You are now connected to database "postgres". SET SET SET ERROR: role "lmc" already exists ALTER ROLE CREATE DATABASE You are now connected to database "brigady". SET SET SET SET SET CREATE LANGUAGE ALTER LANGUAGE SET CREATE TYPE ERROR: could not find function "gtsvector_in" in file "/usr/local/pgsql8.3/lib/tsearch2.so" ERROR: function public.gtsvector_in(cstring) does not exist ERROR: could not find function "gtsvector_out" in file "/usr/local/pgsql8.3/lib/tsearch2.so" ERROR: function public.gtsvector_out(gtsvector) does not exist ERROR: function gtsvector_in(cstring) does not exist ALTER TYPE CREATE TYPE ERROR: could not find function "tsquery_in" in file "/usr/local/pgsql8.3/lib/tsearch2.so" ERROR: function public.tsquery_in(cstring) does not exist ERROR: could not find function "tsquery_out" in file "/usr/local/pgsql8.3/lib/tsearch2.so" ERROR: function public.tsquery_out(tsquery) does not exist ERROR: function tsquery_in(cstring) does not exist ALTER TYPE CREATE TYPE ERROR: could not find function "tsvector_in" in file "/usr/local/pgsql8.3/lib/tsearch2.so" ERROR: function public.tsvector_in(cstring) does not exist ERROR: could not find function "tsvector_out" in file "/usr/local/pgsql8.3/lib/tsearch2.so" ERROR: function public.tsvector_out(tsvector) does not exist ERROR: function tsvector_in(cstring) does not exist ALTER TYPE CREATE TYPE ALTER TYPE CREATE TYPE ALTER TYPE CREATE TYPE ALTER TYPE ERROR: type "tsvector" is only a shell ERROR: type "public.tsdebug" does not exist CREATE FUNCTION ALTER FUNCTION ERROR: could not find function "concat" in file "/usr/local/pgsql8.3/lib/tsearch2.so" ERROR: function public.concat(tsvector, tsvector) does not exist ERROR: could not find function "dex_init" in file "/usr/local/pgsql8.3/lib/tsearch2.so" ERROR: function public.dex_init(internal) does not exist ERROR: could not find function "dex_lexize" in file "/usr/local/pgsql8.3/lib/tsearch2.so" ERROR: function public.dex_lexize(internal, internal, integer) does not exist ERROR: could not find function "exectsq" in file "/usr/local/pgsql8.3/lib/tsearch2.so" ERROR: function public.exectsq(tsvector, tsquery) does not exist ERROR: function exectsq(tsvector, tsquery) does not exist ERROR: could not find function "get_covers" in file "/usr/local/pgsql8.3/lib/tsearch2.so" ERROR: function public.get_covers(tsvector, tsquery) does not exist ERROR: function get_min_last_sync(character varying) does not exist ERROR: could not find function "gtsvector_compress" in file "/usr/local/pgsql8.3/lib/tsearch2.so" ERROR: function public.gtsvector_compress(internal) does not exist ERROR: could not find function "gtsvector_consistent" in file "/usr/local/pgsql8.3/lib/tsearch2.so" ERROR: function public.gtsvector_consistent(gtsvector, internal, integer) does not exist ERROR: could not find function "gtsvector_decompress" in file "/usr/local/pgsql8.3/lib/tsearch2.so" ERROR: function public.gtsvector_decompress(internal) does not exist ERROR: could not find function "gtsvector_penalty" in file "/usr/local/pgsql8.3/lib/tsearch2.so" ERROR: function public.gtsvector_penalty(internal, internal, internal) does not exist ERROR: could not find function "gtsvector_picksplit" in file "/usr/local/pgsql8.3/lib/tsearch2.so" ERROR: function public.gtsvector_picksplit(internal, internal) does not exist ERROR: could not find function "gtsvector_same" in file "/usr/local/pgsql8.3/lib/tsearch2.so" ERROR: function public.gtsvector_same(gtsvector, gtsvector, internal) does not exist ERROR: could not find function "gtsvector_union" in file "/usr/local/pgsql8.3/lib/tsearch2.so" ERROR: function public.gtsvector_union(bytea, internal) does not exist ERROR: could not find function "gtsvector_union" in file "/usr/local/pgsql8.3/lib/tsearch2.so" ERROR: function public.gtsvector_union(internal, internal) does not exist ERROR: could not find function "headline" in file "/usr/local/pgsql8.3/lib/tsearch2.so" ERROR: function public.headline(oid, text, tsquery, text) does not exist ERROR: could not find function "headline" in file "/usr/local/pgsql8.3/lib/tsearch2.so" ERROR: function public.headline(oid, text, tsquery) does not exist ERROR: could not find function "headline_byname" in file "/usr/local/pgsql8.3/lib/tsearch2.so" ERROR: function public.headline(text, text, tsquery, text) does not exist ERROR: could not find function "headline_byname" in file "/usr/local/pgsql8.3/lib/tsearch2.so" ERROR: function public.headline(text, text, tsquery) does not exist ERROR: could not find function "headline_current" in file "/usr/local/pgsql8.3/lib/tsearch2.so" ERROR: function public.headline(text, tsquery, text) does not exist ERROR: could not find function "headline_current" in file "/usr/local/pgsql8.3/lib/tsearch2.so" ERROR: function public.headline(text, tsquery) does not exist ERROR: could not find function "tsvector_length" in file "/usr/local/pgsql8.3/lib/tsearch2.so" ERROR: function public.length(tsvector) does not exist ERROR: could not find function "lexize" in file "/usr/local/pgsql8.3/lib/tsearch2.so" ERROR: function public.lexize(oid, text) does not exist ERROR: could not find function "lexize_byname" in file "/usr/local/pgsql8.3/lib/tsearch2.so" ERROR: function public.lexize(text, text) does not exist ERROR: could not find function "lexize_bycurrent" in file "/usr/local/pgsql8.3/lib/tsearch2.so" ERROR: function public.lexize(text) does not exist CREATE FUNCTION ALTER FUNCTION SET SET ERROR: type "tsvector" is only a shell LINE 5: fulltext_index tsvector ^ ERROR: relation "public.position" does not exist ERROR: relation "position" does not exist
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers