diff options
Diffstat (limited to 'doc/src')
-rw-r--r-- | doc/src/sgml/contrib.sgml | 1 | ||||
-rw-r--r-- | doc/src/sgml/filelist.sgml | 1 | ||||
-rw-r--r-- | doc/src/sgml/textsearch.sgml | 83 | ||||
-rw-r--r-- | doc/src/sgml/tsearch2.sgml | 203 |
4 files changed, 0 insertions, 288 deletions
diff --git a/doc/src/sgml/contrib.sgml b/doc/src/sgml/contrib.sgml index c8708ecf8bb..03e5889839d 100644 --- a/doc/src/sgml/contrib.sgml +++ b/doc/src/sgml/contrib.sgml @@ -142,7 +142,6 @@ CREATE EXTENSION <replaceable>module_name</> FROM unpackaged; &tablefunc; &tcn; &test-decoding; - &tsearch2; &tsm-system-rows; &tsm-system-time; &unaccent; diff --git a/doc/src/sgml/filelist.sgml b/doc/src/sgml/filelist.sgml index 2624c627dcb..e7aa92f9141 100644 --- a/doc/src/sgml/filelist.sgml +++ b/doc/src/sgml/filelist.sgml @@ -151,7 +151,6 @@ <!ENTITY test-decoding SYSTEM "test-decoding.sgml"> <!ENTITY test-parser SYSTEM "test-parser.sgml"> <!ENTITY test-shm-mq SYSTEM "test-shm-mq.sgml"> -<!ENTITY tsearch2 SYSTEM "tsearch2.sgml"> <!ENTITY tsm-system-rows SYSTEM "tsm-system-rows.sgml"> <!ENTITY tsm-system-time SYSTEM "tsm-system-time.sgml"> <!ENTITY unaccent SYSTEM "unaccent.sgml"> diff --git a/doc/src/sgml/textsearch.sgml b/doc/src/sgml/textsearch.sgml index 67e4901c921..fe630a66b34 100644 --- a/doc/src/sgml/textsearch.sgml +++ b/doc/src/sgml/textsearch.sgml @@ -3864,87 +3864,4 @@ Parser: "pg_catalog.default" </sect1> - <sect1 id="textsearch-migration"> - <title>Migration from Pre-8.3 Text Search</title> - - <para> - Applications that use the <xref linkend="tsearch2"> - module for text searching will need some adjustments to work - with the - built-in features: - </para> - - <itemizedlist> - <listitem> - <para> - Some functions have been renamed or had small adjustments in their - argument lists, and all of them are now in the <literal>pg_catalog</> - schema, whereas in a previous installation they would have been in - <literal>public</> or another non-system schema. There is a new - version of <application>tsearch2</> - that provides a compatibility layer to solve most problems in this - area. - </para> - </listitem> - - <listitem> - <para> - The old <application>tsearch2</> functions and other objects - <emphasis>must</> be suppressed when loading <application>pg_dump</> - output from a pre-8.3 database. While many of them won't load anyway, - a few will and then cause problems. One simple way to deal with this - is to load the new <application>tsearch2</> module before restoring - the dump; then it will block the old objects from being loaded. - </para> - </listitem> - - <listitem> - <para> - Text search configuration setup is completely different now. - Instead of manually inserting rows into configuration tables, - search is configured through the specialized SQL commands shown - earlier in this chapter. There is no automated - support for converting an existing custom configuration for 8.3; - you're on your own here. - </para> - </listitem> - - <listitem> - <para> - Most types of dictionaries rely on some outside-the-database - configuration files. These are largely compatible with pre-8.3 - usage, but note the following differences: - - <itemizedlist spacing="compact" mark="bullet"> - <listitem> - <para> - Configuration files now must be placed in a single specified - directory (<filename>$SHAREDIR/tsearch_data</>), and must have - a specific extension depending on the type of file, as noted - previously in the descriptions of the various dictionary types. - This restriction was added to forestall security problems. - </para> - </listitem> - - <listitem> - <para> - Configuration files must be encoded in UTF-8 encoding, - regardless of what database encoding is used. - </para> - </listitem> - - <listitem> - <para> - In thesaurus configuration files, stop words must be marked with - <literal>?</>. - </para> - </listitem> - </itemizedlist> - </para> - </listitem> - - </itemizedlist> - - </sect1> - </chapter> diff --git a/doc/src/sgml/tsearch2.sgml b/doc/src/sgml/tsearch2.sgml deleted file mode 100644 index 192eccd7326..00000000000 --- a/doc/src/sgml/tsearch2.sgml +++ /dev/null @@ -1,203 +0,0 @@ -<!-- doc/src/sgml/tsearch2.sgml --> - -<sect1 id="tsearch2" xreflabel="tsearch2"> - <title>tsearch2</title> - - <indexterm zone="tsearch2"> - <primary>tsearch2</primary> - </indexterm> - - <para> - The <application>tsearch2</> module provides backwards-compatible - text search functionality for applications that used - <application>tsearch2</> before text searching was integrated - into core <productname>PostgreSQL</productname> in release 8.3. - </para> - - <sect2> - <title>Portability Issues</title> - - <para> - Although the built-in text search features were based on - <application>tsearch2</> and are largely similar to it, - there are numerous small differences that will create portability - issues for existing applications: - </para> - - <itemizedlist mark="bullet"> - <listitem> - <para> - Some functions' names were changed, for example <function>rank</> - to <function>ts_rank</>. - The replacement <literal>tsearch2</literal> module - provides aliases having the old names. - </para> - </listitem> - - <listitem> - <para> - The built-in text search data types and functions all exist within - the system schema <literal>pg_catalog</>. In an installation using - <application>tsearch2</>, these objects would usually have been in - the <literal>public</> schema, though some users chose to place them - in a separate schema of their own. Explicitly schema-qualified - references to the objects will therefore fail in either case. - The replacement <literal>tsearch2</literal> module - provides alias objects that are stored in <literal>public</> - (or another schema if necessary) so that such references will still work. - </para> - </listitem> - - <listitem> - <para> - There is no concept of a <quote>current parser</> or <quote>current - dictionary</> in the built-in text search features, only of a current - search configuration (set by the <varname>default_text_search_config</> - parameter). While the current parser and current dictionary were used - only by functions intended for debugging, this might still pose - a porting obstacle in some cases. - The replacement <literal>tsearch2</literal> module emulates these - additional state variables and provides backwards-compatible functions - for setting and retrieving them. - </para> - </listitem> - </itemizedlist> - - <para> - There are some issues that are not addressed by the replacement - <literal>tsearch2</literal> module, and will therefore require - application code changes in any case: - </para> - - <itemizedlist mark="bullet"> - <listitem> - <para> - The old <function>tsearch2</> trigger function allowed items in its - argument list to be names of functions to be invoked on the text data - before it was converted to <type>tsvector</> format. This was removed - as being a security hole, since it was not possible to guarantee that - the function invoked was the one intended. The recommended approach - if the data must be massaged before being indexed is to write a custom - trigger that does the work for itself. - </para> - </listitem> - - <listitem> - <para> - Text search configuration information has been moved into core - system catalogs that are noticeably different from the tables used - by <application>tsearch2</>. Any applications that examined - or modified those tables will need adjustment. - </para> - </listitem> - - <listitem> - <para> - If an application used any custom text search configurations, - those will need to be set up in the core - catalogs using the new text search configuration SQL commands. - The replacement <literal>tsearch2</literal> module offers a little - bit of support for this by making it possible to load an old set - of <application>tsearch2</> configuration tables into - <productname>PostgreSQL</productname> 8.3. (Without the module, - it is not possible to load the configuration data because values in the - <type>regprocedure</> columns cannot be resolved to functions.) - While those configuration tables won't actually <emphasis>do</> - anything, at least their contents will be available to be consulted - while setting up an equivalent custom configuration in 8.3. - </para> - </listitem> - - <listitem> - <para> - The old <function>reset_tsearch()</> and <function>get_covers()</> - functions are not supported. - </para> - </listitem> - - <listitem> - <para> - The replacement <literal>tsearch2</literal> module does not define - any alias operators, relying entirely on the built-in ones. - This would only pose an issue if an application used explicitly - schema-qualified operator names, which is very uncommon. - </para> - </listitem> - </itemizedlist> - - </sect2> - - <sect2> - <title>Converting a pre-8.3 Installation</title> - - <para> - The recommended way to update a pre-8.3 installation that uses - <application>tsearch2</> is: - </para> - - <procedure> - <step> - <para> - Make a dump from the old installation in the usual way, - but be sure not to use <literal>-c</> (<literal>--clean</>) - option of <application>pg_dump</> or <application>pg_dumpall</>. - </para> - </step> - - <step> - <para> - In the new installation, create empty database(s) and install - the replacement <literal>tsearch2</literal> module into each - database that will use text search. This must be done - <emphasis>before</> loading the dump data! If your old installation - had the <application>tsearch2</> objects in a schema other - than <literal>public</>, be sure to adjust the - <command>CREATE EXTENSION</> command so that the replacement - objects are created in that same schema. - </para> - </step> - - <step> - <para> - Load the dump data. There will be quite a few errors reported - due to failure to recreate the original <application>tsearch2</> - objects. These errors can be ignored, but this means you cannot - restore the dump in a single transaction (eg, you cannot use - <application>pg_restore</>'s <option>-1</> switch). - </para> - </step> - - <step> - <para> - Examine the contents of the restored <application>tsearch2</> - configuration tables (<structname>pg_ts_cfg</> and so on), and - create equivalent built-in text search configurations as needed. - You may drop the old configuration tables once you've extracted - all the useful information from them. - </para> - </step> - - <step> - <para> - Test your application. - </para> - </step> - </procedure> - - <para> - At a later time you may wish to rename application references - to the alias text search objects, so that you can eventually - uninstall the replacement <literal>tsearch2</literal> module. - </para> - - </sect2> - - <sect2> - <title>References</title> - <para> - Tsearch2 Development Site - <ulink url="http://www.sai.msu.su/~megera/postgres/gist/tsearch/V2/"></ulink> - </para> - </sect2> - -</sect1> |