Обсуждение: importing a 7.2 db with contrib/tsearch to 7.3

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

importing a 7.2 db with contrib/tsearch to 7.3

От
Andreas Joseph Krogh
Дата:
If this is the wrong list, please redirect me to the correct one.

I have a PostgreSQL-7.2 installation with several databases in it which uses 
the contrib/tsearch module.

I've done a
(on 7.2):
pg_dumpall
and
(on 7.3):
/usr/local/pgsql/bin/psql -d template1 -f prod2-pg7.2.dmp

I get a bunch of theese errors in the log-file:
---------------------------------------------------------------------------------------
psql:prod2-pg7.2.dmp:89: NOTICE:  TypeCreate: changing argument type of 
function qtxt_in from OPAQUE to CSTRING
psql:prod2-pg7.2.dmp:89: NOTICE:  TypeCreate: changing argument type of 
function qtxt_out from OPAQUE to query_txt
psql:prod2-pg7.2.dmp:89: NOTICE:  TypeCreate: changing return type of function 
qtxt_in from OPAQUE to query_txt
psql:prod2-pg7.2.dmp:89: NOTICE:  TypeCreate: changing return type of function 
qtxt_out from OPAQUE to CSTRING
CREATE TYPE
CREATE FUNCTION
psql:prod2-pg7.2.dmp:105: NOTICE:  TypeCreate: changing argument type of 
function mqtxt_in from OPAQUE to CSTRING
psql:prod2-pg7.2.dmp:105: ERROR:  TypeCreate: function qtxt_out(mquery_txt) 
does not exist
CREATE FUNCTION
psql:prod2-pg7.2.dmp:121: ERROR:  Type "mquery_txt" does not exist
CREATE FUNCTION
psql:prod2-pg7.2.dmp:137: ERROR:  Type "mquery_txt" does not exist
CREATE FUNCTION
psql:prod2-pg7.2.dmp:153: ERROR:  Type "mquery_txt" does not exist
CREATE OPERATOR
CREATE OPERATOR
psql:prod2-pg7.2.dmp:192: ERROR:  Type "mquery_txt" does not exist
psql:prod2-pg7.2.dmp:205: ERROR:  Type "mquery_txt" does not exist
..
..
psql:prod2-pg7.2.dmp:2539: ERROR:  data type txtidx has no default operator 
class for access method "gist"You must specify an operator class for the index or define adefault operator class for
thedata type
 
..
..
psql:prod2-pg7.2.dmp:4419: ERROR:  execqtxt: must be owner
psql:prod2-pg7.2.dmp:4427: ERROR:  Type "mquery_txt" does not exist
psql:prod2-pg7.2.dmp:4435: ERROR:  rexecqtxt: must be owner
psql:prod2-pg7.2.dmp:4443: ERROR:  Type "mquery_txt" does not exist

---------------------------------------------------------------------------------------

The database seems to work just fine, and one of the tables which uses the 
txtidx datatype looks like this in 7.2 and 7.3 respectively:
e4u=> select version();                                             version
----------------------------------------------------------------------------------------------------PostgreSQL 7.2.2 on
i686-pc-linux-gnu,compiled by GCC gcc (GCC) 3.2 
 
(Mandrake Linux 9.0 3.2-1mdk)
(1 row)

e4u=> \d on_article_searchableTable "on_article_searchable"Column  |  Type   | Modifiers
---------+---------+-----------id      | integer | not nulllang_id | integer | not nullcontent | txtidx  |
Indexes: searchable_lang_idx,        t_idx
Primary key: on_article_searchable_pkey
Triggers: RI_ConstraintTrigger_18817,         RI_ConstraintTrigger_18823


------------
e4u=> select version();                                              version
-----------------------------------------------------------------------------------------------------PostgreSQL 7.3rc1
oni686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.2 
 
(Mandrake Linux 9.0 3.2-1mdk)
(1 row)

e4u=> \d on_article_searchable
Table "public.on_article_searchable"Column  |  Type   | Modifiers
---------+---------+-----------id      | integer | not nulllang_id | integer | not nullcontent | txtidx  |
Indexes: on_article_searchable_pkey primary key btree (id, lang_id),        searchable_lang_idx btree (lang_id)
Triggers: RI_ConstraintTrigger_41091,         RI_ConstraintTrigger_41094


Notice, the t_idx index is missing on the 7.3 table. Does that mean I have to 
manually "install" tsearch on each database?

When I try to create the index t_idx on the table, the following error 
occures:
e4u=> CREATE INDEX t_idx ON on_article_searchable USING gist (content);
ERROR:  data type txtidx has no default operator class for access method 
"gist"       You must specify an operator class for the index or define a       default operator class for the data
type


Any help appreciated.


-- 
Andreas Joseph Krogh <andreak@officenet.no>
- Only two things are infinite, the universe and human stupidity, and I'm not sure about the former. Albert Einstein



Re: importing a 7.2 db with contrib/tsearch to 7.3

От
Achilleus Mantzios
Дата:
Thats what i do for intarray:

-Install all contrib packages you want to use (*before* restoring
your DB)
-Restore Your DB
-Look in log for errors
-Correct them.

Normally all you shoud get is a bunch of notices that somethings
are allready defined.

I had the same problem as you with gist indexes in intarray.

==================================================================
Achilleus Mantzios
S/W Engineer
IT dept
Dynacom Tankers Mngmt
Nikis 4, Glyfada
Athens 16610
Greece
tel:    +30-10-8981112
fax:    +30-10-8981877
email:  achill@matrix.gatewaynet.com       mantzios@softlab.ece.ntua.gr



psql on FreeBSD 4.7-RELEASE-p2 and greek (iso8859-7) chars

От
Achilleus Mantzios
Дата:
Hi,

I noticed that psql on FreeBSD (i checked also fbsd 4.5 with pgsql port
installed)
does not accept 8bit iso8859-* chars > 128 (where the greek chars are).

In linux that works ok, and i can update/insert/select values
using greek strings.

I know it must be a fbsd/locale issue, but it would be nice
if someone knew something about it.

==================================================================
Achilleus Mantzios
S/W Engineer
IT dept
Dynacom Tankers Mngmt
Nikis 4, Glyfada
Athens 16610
Greece
tel:    +30-10-8981112
fax:    +30-10-8981877
email:  achill@matrix.gatewaynet.com
        mantzios@softlab.ece.ntua.gr


Re: psql on FreeBSD 4.7-RELEASE-p2 and greek (iso8859-7) chars

От
Manuel Sugawara
Дата:
Achilleus Mantzios <achill@matrix.gatewaynet.com> writes:

> Hi,
>
> I noticed that psql on FreeBSD (i checked also fbsd 4.5 with pgsql port
> installed)
> does not accept 8bit iso8859-* chars > 128 (where the greek chars are).
>
> In linux that works ok, and i can update/insert/select values
> using greek strings.
>
> I know it must be a fbsd/locale issue, but it would be nice
> if someone knew something about it.

If pgsql is using readline adding

  set meta-flag on
  set convert-meta off
  set output-meta on

to /etc/inputrc or ~/.inputrc could help. See readline(3).

Regards,
Manuel.