-
+
Full Text Search
Migration from Pre-8.3 Text Search
- This needs to be written ...
+ This area needs lots of work. Here is a quick list of known issues:
+
+
+ The old contrib/tsearch2 objects must> be removed from
+ the pg_dump output from a pre-8.3 database. While many of them won't
+ load for lack of a tsearch2.so library, some do and cause problems.
+ We have a working perl script for doing this with a custom- or tar-format
+ backup, but there is a proposal to incorporate the functionality directly
+ into pg_restore. Neither approach will help for pg_dumpall output.
+
+
+
+
+ The old dump may include schema-qualified references to the old
+ contrib/tsearch2 objects; for example public.tsvector>
+ columns in table definitions. These will fail since the objects
+ are now in the pg_catalog schema. Given current pg_dump behavior
+ this will happen only for tables that are in a different schema
+ from the tsearch2 objects; which makes it more likely to bite
+ people who carefully put their tsearch2 objects in a
+ non-public> schema.
+
+
+ Question: will restore-time failures of this type happen for
+ any objects other than the tsvector and tsquery datatypes?
+
+
+ The basic alternatives for fixing this seem to involve creating
+ a dummy linkage, such as a public.tsvector domain linking to the
+ base pg_catalog.tsvector type (which only helps for the datatypes);
+ or stripping the schema references out of the dump. We could
+ just recommend that users do this manually, or try to provide
+ some tools to help.
+
+
+
+
+ We have renamed the built-in tsvector update triggers, and changed
+ their arguments too. This will result in CREATE TRIGGER commands
+ failing during load, which can be ignored, but users will need to
+ re-issue them with suitable argument adjustment. We probably
+ can't automate that for them. Also, the old tsearch2 trigger
+ function offered an option to invoke functions, which was removed
+ as being a security hole. Users who were relying on that will need to
+ write custom trigger functions as a substitute. I think all we
+ can do here is document what to do to fix it.
+
+
+
+
+ We have renamed a number of other functions besides the triggers,
+ compared to the tsearch2 versions. This seems unlikely to cause
+ any problems during dump/reload but it will require adjustments in
+ the bodies of stored procedures and in client application code.
+ Again, not much to do except document it.
+
+
+
+
+ Configuration setup is completely different now. Can we provide
+ any automated assistance for translating an old custom setup?
+ It probably can't be 100% automatic in any case, so maybe documentation
+ is the best we can do here too. Aside from the inside-the-database
+ differences, outside-the-database configuration files now have
+ prescribed location and extensions, which was not true before.
+
+
+
+
+ Relocation of configuration from add-on tables into core system catalogs
+ will break client queries that looked at the add-on tables.
+
+
+
+
+ What else?
+
+
+
+
+