Full-Text Search

TEXT SEARCH CONFIGURATION, DICTIONARY, PARSER, and TEMPLATE declarations.

TEXT SEARCH CONFIGURATION

SCHEMA public {
    TEXT SEARCH CONFIGURATION english_unaccented (COPY = pg_catalog.english) {
        MAPPING FOR hword, hword_part, word
            WITH unaccent, english_stem;
    }
}
-- emits
CREATE TEXT SEARCH CONFIGURATION "public"."english_unaccented"
    (COPY = pg_catalog.english);

ALTER TEXT SEARCH CONFIGURATION "public"."english_unaccented"
    ALTER MAPPING FOR hword, hword_part, word
    WITH unaccent, english_stem;

TEXT SEARCH DICTIONARY

SCHEMA public {
    TEXT SEARCH DICTIONARY english_ispell (
        TEMPLATE  = ispell,
        DictFile  = english,
        AffFile   = english,
        StopWords = english
    );
}
-- emits
CREATE TEXT SEARCH DICTIONARY "public"."english_ispell" (
    TEMPLATE  = ispell,
    DictFile  = english,
    AffFile   = english,
    StopWords = english
);

TEXT SEARCH PARSER

SCHEMA public {
    TEXT SEARCH PARSER my_parser (
        START    = prsd_start,
        GETTOKEN = prsd_nexttoken,
        END      = prsd_end,
        LEXTYPES = prsd_lextype,
        HEADLINE = prsd_headline
    );
}
-- emits
CREATE TEXT SEARCH PARSER "public"."my_parser" (
    START    = prsd_start,
    GETTOKEN = prsd_nexttoken,
    END      = prsd_end,
    LEXTYPES = prsd_lextype,
    HEADLINE = prsd_headline
);

TEXT SEARCH TEMPLATE

SCHEMA public {
    TEXT SEARCH TEMPLATE ispell_template (
        LEXIZE = dispell_lexize,
        INIT   = dispell_init
    );
}
-- emits
CREATE TEXT SEARCH TEMPLATE "public"."ispell_template" (
    LEXIZE = dispell_lexize,
    INIT   = dispell_init
);

Diffing behaviour

ObjectChangeSQLSafety
ConfigurationAdd/change mappingALTER TEXT SEARCH CONFIGURATION ALTER MAPPINGSAFE
ConfigurationChange template (COPY)DROP + CREATEDESTRUCTIVE
DictionaryAny option changeALTER TEXT SEARCH DICTIONARYSAFE
Parser / TemplateAny changeDROP + CREATEDESTRUCTIVE