ALTER_TEXT_SEARCH_DICTIONARY(7pg16)

πŸ“¦ version 16.15, in opensuse-leap 16.0

okay so bestie, welcome to the ALTER TEXT SEARCH DICTIONARY glow-up zone πŸ’– this page is from the PostgreSQL 16.15 Documentation, and the manual name is ALTER_TEXT_SEARCH_DICTIONARY(7pg16) β€” yes, she has a long name, but she is iconic. We're about to change a text search dictionary's whole definition, and no cap, it's giving admin main character energy. 🫢

πŸŽ€ NAME πŸŽ€

ALTER_TEXT_SEARCH_DICTIONARY is literally here to change the definition of a text search dictionary. That's the whole assignment. πŸ’…

✨ SYNOPSIS ✨

Here's the shape of it, bestie β€” copy these exactly, because syntax is not the moment to freestyle:

ALTER TEXT SEARCH DICTIONARY name (
    option [ = value ] [, ... ]
)
ALTER TEXT SEARCH DICTIONARY name RENAME TO new_name
ALTER TEXT SEARCH DICTIONARY name OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
ALTER TEXT SEARCH DICTIONARY name SET SCHEMA new_schema

πŸ’– DESCRIPTION πŸ’–

ALTER TEXT SEARCH DICTIONARY changes the definition of a text search dictionary. You can switch up the dictionary's template-specific options, or change the dictionary's name or owner. It's giving small edit, big consequences. 😭

bestie, permission check: you must be the owner of the dictionary to use ALTER TEXT SEARCH DICTIONARY. No owner, no slay. πŸ’…

🌸 PARAMETERS 🌸

Here's the cast of characters:

  • name β€” the name of an existing text search dictionary, optionally schema-qualified. Important: she already exists. πŸ’–
  • option β€” the name of a template-specific option to be set for this dictionary. Yes, template-specific.
  • value β€” the new value to use for a template-specific option. If the equal sign and value are omitted, then any previous setting for the option is removed from the dictionary, allowing the default to be used. Very "delete the old fit, let the default choose".
  • new_name β€” the new name of the text search dictionary.
  • new_owner β€” the new owner of the text search dictionary.
  • new_schema β€” the new schema for the text search dictionary.

And one more note, because order is fake: template-specific options can appear in any order. πŸ’«

πŸ¦‹ EXAMPLES πŸ¦‹

First up: changing the stopword list for a Snowball-based dictionary. Other parameters remain unchanged. πŸ“

ALTER TEXT SEARCH DICTIONARY my_dict ( StopWords = newrussian );

Next one changes the language option to dutch, and removes the stopword option entirely. Bye, stopwords! πŸ‘‹

ALTER TEXT SEARCH DICTIONARY my_dict ( language = dutch, StopWords );

Then we have the iconic trick: this command β€œupdates” the dictionary's definition without actually changing anything. It's literally the definition of "fake it till you make it." 😭

ALTER TEXT SEARCH DICTIONARY my_dict ( dummy );

(Why does this work? The reason is that the option removal code doesn't complain if there is no such option.) This trick is useful when changing configuration files for the dictionary: the ALTER will force existing database sessions to re-read the configuration files, which otherwise they would never do if they had read them earlier. That's the tea, and it's useful tea. 🫢

⚑ COMPATIBILITY ⚑

The SQL standard is not serving this one: there is no ALTER TEXT SEARCH DICTIONARY statement in the SQL standard. Periodt. πŸ’€

πŸ‘‘ SEE ALSO πŸ‘‘

Adorable. That's the whole page. Sending kisses from the PostgreSQL 16.15 docs, footer date 2026 β€” bye bestie, go alter responsibly πŸ’‹βœ¨

πŸ“¦ where this page comes from