Обсуждение: tsearch2: pg8.1 to pg8.2
I am trying to copy a database that uses tsearch2 from pg8.1 to pg8.2. All I did to install tsearch2 was cd to the contrib/tsearch2 directory, then make, make install. I then dumped the database from pg8.1 and used psql -f filename db to load in into pg8.2. Attempting a query gives an error: lib2=# select * from item where idxTitle @@ to_tsquery('default', 'money'); ERROR: No dictionary with name 'en_stem' Is there a document that describes the necessary steps to convert to the upgraded tsearch2?
Rick, did you load tsearch2 itself into your database ? Oleg On Thu, 7 Dec 2006, Rick Schumeyer wrote: > I am trying to copy a database that uses tsearch2 from pg8.1 to pg8.2. > > All I did to install tsearch2 was cd to the contrib/tsearch2 directory, then > make, make install. > > I then dumped the database from pg8.1 and used psql -f filename db to load in > into pg8.2. > > Attempting a query gives an error: > > lib2=# select * from item where idxTitle @@ to_tsquery('default', 'money'); > ERROR: No dictionary with name 'en_stem' > > Is there a document that describes the necessary steps to convert to the > upgraded tsearch2? > > > > ---------------------------(end of broadcast)--------------------------- > TIP 5: don't forget to increase your free space map settings > Regards, Oleg _____________________________________________________________ Oleg Bartunov, Research Scientist, Head of AstroNet (www.astronet.ru), Sternberg Astronomical Institute, Moscow University, Russia Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/ phone: +007(495)939-16-83, +007(495)939-23-83
It was my understanding that running pgdump creates a file that contains all the necessary commands to use tsearch2. That approach has worked for me to transfer my database from one pg8.1 server to another. I now see that is does *not* work from pg8.1 to pg8.2. At your suggestion I loaded tsearch2.sql before loading the pgdump output. I get some errors in the second part, I believe because it attempts to load tsearch2 stuff from the pg8.1 database that conflicts with the pg8.2 stuff from tsearch2.sql. But, the queries seem to work. So perhaps the answer is, load tsearch2.sql, then load the result of running pgdump on the 8.1 database, and ignore the errors? Oleg Bartunov wrote: > Rick, > > did you load tsearch2 itself into your database ? > > Oleg > On Thu, 7 Dec 2006, Rick Schumeyer wrote: > >> I am trying to copy a database that uses tsearch2 from pg8.1 to pg8.2. >> >> All I did to install tsearch2 was cd to the contrib/tsearch2 >> directory, then make, make install. >> >> I then dumped the database from pg8.1 and used psql -f filename db to >> load in into pg8.2. >> >> Attempting a query gives an error: >> >> lib2=# select * from item where idxTitle @@ to_tsquery('default', >> 'money'); >> ERROR: No dictionary with name 'en_stem' >> >> Is there a document that describes the necessary steps to convert to >> the upgraded tsearch2? >> >> >> >> ---------------------------(end of broadcast)--------------------------- >> TIP 5: don't forget to increase your free space map settings >> > > Regards, > Oleg > _____________________________________________________________ > Oleg Bartunov, Research Scientist, Head of AstroNet (www.astronet.ru), > Sternberg Astronomical Institute, Moscow University, Russia > Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/ > phone: +007(495)939-16-83, +007(495)939-23-83 > > ---------------------------(end of broadcast)--------------------------- > TIP 9: In versions below 8.0, the planner will ignore your desire to > choose an index scan if your joining column's datatypes do not > match >
TSearch does change from version to version. - Create your database with template=template0 - Load tsearch2.sql - Truncate pg_ts_* tables - Try to restore Ignore the already exists errors and examine the rest carefully. On 08.12.2006 00:11, Rick Schumeyer wrote: > It was my understanding that running pgdump creates a file that contains > all the necessary commands to use tsearch2. That approach has worked for > me to transfer my database from one pg8.1 server to another. I now see > that is does *not* work from pg8.1 to pg8.2. > > At your suggestion I loaded tsearch2.sql before loading the pgdump > output. I get some errors in the second part, I believe because it > attempts to load tsearch2 stuff from the pg8.1 database that conflicts > with the pg8.2 stuff from tsearch2.sql. But, the queries seem to work. > > So perhaps the answer is, load tsearch2.sql, then load the result of > running pgdump on the 8.1 database, and ignore the errors? -- Regards, Hannes Dorbath
Sorry, not only load tsearch2.sql. Load your dictionaries as well. (The SQL-Files generated after Gendict and make in contrib/dict_xx) On 08.12.2006 12:08, Hannes Dorbath wrote: > TSearch does change from version to version. > > - Create your database with template=template0 > - Load tsearch2.sql > - Truncate pg_ts_* tables > - Try to restore > > Ignore the already exists errors and examine the rest carefully. -- Regards, Hannes Dorbath