Skip to content

Instantly share code, notes, and snippets.

@fragoulis
Last active June 10, 2022 11:19
Show Gist options
  • Star 17 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save fragoulis/9914900 to your computer and use it in GitHub Desktop.
Save fragoulis/9914900 to your computer and use it in GitHub Desktop.
Postgres unaccent rules for greek characters
À A
Á A
 A
à A
Ä A
Å A
Æ A
à a
á a
â a
ã a
ä a
å a
æ a
Ā A
ā a
Ă A
ă a
Ą A
ą a
Ç C
ç c
Ć C
ć c
Ĉ C
ĉ c
Ċ C
ċ c
Č C
č c
Ď D
ď d
Đ D
đ d
È E
É E
Ê E
Ë E
è e
é e
ê e
ë e
Ē E
ē e
Ĕ E
ĕ e
Ė E
ė e
Ę E
ę e
Ě E
ě e
Ĝ G
ĝ g
Ğ G
ğ g
Ġ G
ġ g
Ģ G
ģ g
Ĥ H
ĥ h
Ħ H
ħ h
Ĩ I
Ì I
Í I
Î I
Ï I
ì i
í i
î i
ï i
ĩ i
Ī I
ī i
Ĭ I
ĭ i
Į I
į i
İ I
ı i
IJ I
ij i
Ĵ J
ĵ j
Ķ K
ķ k
ĸ k
Ĺ L
ĺ l
Ļ L
ļ l
Ľ L
ľ l
Ŀ L
ŀ l
Ł L
ł l
Ñ N
ñ n
Ń N
ń n
Ņ N
ņ n
Ň N
ň n
ʼn n
Ŋ N
ŋ n
Ò O
Ó O
Ô O
Õ O
Ö O
ò o
ó o
ô o
õ o
ö o
Ō O
ō o
Ŏ O
ŏ o
Ő O
ő o
ΠE
œ e
Ø O
ø o
Ŕ R
ŕ r
Ŗ R
ŗ r
Ř R
ř r
ß S
Ś S
ś s
Ŝ S
ŝ s
Ş S
ş s
Š S
š s
Ţ T
ţ t
Ť T
ť t
Ŧ T
ŧ t
Ù U
Ú U
Û U
Ü U
ù u
ú u
û u
ü u
Ũ U
ũ u
Ū U
ū u
Ŭ U
ŭ u
Ů U
ů u
Ű U
ű u
Ų U
ų u
Ŵ W
ŵ w
Ý Y
ý y
ÿ y
Ŷ Y
ŷ y
Ÿ Y
Ź Z
ź z
Ż Z
ż z
Ž Z
ž z
ё е
Ё Е
Ἀ Α
Ἁ Α
Ἂ Α
Ἃ Α
Ἄ Α
Ἅ Α
Ἆ Α
Ἇ Α
ᾈ Α
ᾉ Α
ᾊ Α
ᾋ Α
ᾌ Α
ᾍ Α
ᾎ Α
ᾏ Α
Ᾰ Α
Ᾱ Α
Ὰ Α
Ά Α
ᾼ Α
ἀ α
ἁ α
ἂ α
ἃ α
ἄ α
ἅ α
ἆ α
ἇ α
ᾀ α
ᾁ α
ᾂ α
ᾃ α
ᾄ α
ᾅ α
ᾆ α
ᾇ α
ᾰ α
ᾱ α
ᾲ α
ᾳ α
ᾴ α
ᾶ α
ᾷ α
ὰ α
ά α
ἐ ε
ἑ ε
ἒ ε
ἓ ε
ἔ ε
ἕ ε
Ἐ Ε
Ἑ Ε
Ἓ Ε
Ἔ Ε
Ἕ Ε
ὲ ε
έ ε
Ὲ Ε
Έ Ε
ἠ η
ἡ η
ἢ η
ἣ η
ἤ η
ἥ η
ἦ η
ἧ η
Ἠ Η
Ἡ Η
Ἢ Η
Ἣ Η
Ἤ Η
Ἥ Η
Ἦ Η
Ἧ Η
ὴ η
ή η
ᾐ η
ᾑ η
ᾒ η
ᾓ η
ᾔ η
ᾕ η
ᾖ η
ᾗ η
ᾘ Η
ᾙ Η
ᾚ Η
ᾛ Η
ᾜ Η
ᾝ Η
ᾞ Η
ᾟ Η
ῂ η
ῃ η
ῄ η
ῆ η
ῇ η
Ὴ Η
Ή Η
ῌ Η
ἰ ι
ἱ ι
ἲ ι
ἳ ι
ἴ ι
ἵ ι
ἶ ι
ἷ ι
Ἰ Ι
Ἱ Ι
Ἲ Ι
Ἳ Ι
Ἴ Ι
Ἵ Ι
Ἶ Ι
Ἷ Ι
ὶ ι
ί ι
ῐ ι
ῑ ι
ῒ ι
ΐ ι
ῖ ι
ῗ ι
ϊ ι
Ῐ Ι
Ῑ Ι
Ὶ Ι
Ί Ι
Ϊ Ι
ὀ ο
ὁ ο
ὂ ο
ὃ ο
ὄ ο
ὅ ο
ὸ ο
ό ο
Ὀ Ο
Ὁ Ο
Ὂ Ο
Ὃ Ο
Ὄ Ο
Ὅ Ο
Ό Ο
ϋ υ
ὐ υ
ὑ υ
ὒ υ
ὓ υ
ὔ υ
ὕ υ
ὖ υ
ὗ υ
ὺ υ
ύ υ
ῠ υ
ῡ υ
ῢ υ
ΰ υ
ῦ υ
ῧ υ
Ὑ Υ
Ὓ Υ
Ὕ Υ
Ὗ Υ
Ῠ Υ
Ῡ Υ
Ὺ Υ
Ύ Υ
Ϋ Υ
ῤ ρ
ῥ ρ
Ῥ Ρ
ὠ ω
ὡ ω
ὢ ω
ὣ ω
ὤ ω
ὥ ω
ὦ ω
ὧ ω
ὼ ω
ώ ω
ᾠ ω
ᾡ ω
ᾢ ω
ᾣ ω
ᾤ ω
ᾥ ω
ᾦ ω
ᾧ ω
ῲ ω
ῳ ω
ῴ ω
ῶ ω
ῷ ω
Ὠ Ω
Ὡ Ω
Ὢ Ω
Ὣ Ω
Ὤ Ω
Ὥ Ω
Ὦ Ω
Ὧ Ω
ᾨ Ω
ᾩ Ω
ᾪ Ω
ᾫ Ω
ᾬ Ω
ᾭ Ω
ᾮ Ω
ᾯ Ω
Ὼ Ω
Ώ Ω
ῼ Ω
ς σ
@fragoulis
Copy link
Author

In the paradigm below, replace 9.2 with your own version. Also, the path where the rule file is might be different depending on distro and version.

Before running these you should install the unaccent module by running

CREATE EXTENSION IF NOT EXISTS unaccent
cd /usr/share/postgresql/9.2/tsearch_data
sudo mv unaccent.rules unaccent.rules.original
sudo wget https://gist.githubusercontent.com/jfragoulis/9914900/raw/unaccent.rules
sudo service postgresql restart

@pontikis
Copy link

thanks for sharing

@pontikis
Copy link

Four letters (Έ Ή Ί Ύ) are appearing twice. See the follow warnings. Probably you want to correct them.

2014-06-28 13:24:30 EEST WARNING:  duplicate TO argument, use first one
2014-06-28 13:24:30 EEST CONTEXT:  line 251 of configuration file "/usr/share/postgresql/9.3/tsearch_data/unaccent.rules": "ΈΕ
    "
    SQL function "f_unaccent" statement 1
2014-06-28 13:24:30 EEST WARNING:  duplicate TO argument, use first one
2014-06-28 13:24:30 EEST CONTEXT:  line 294 of configuration file "/usr/share/postgresql/9.3/tsearch_data/unaccent.rules": "ΉΗ
    "
    SQL function "f_unaccent" statement 1
2014-06-28 13:24:30 EEST WARNING:  duplicate TO argument, use first one
2014-06-28 13:24:30 EEST CONTEXT:  line 325 of configuration file "/usr/share/postgresql/9.3/tsearch_data/unaccent.rules": "ΊΙ
    "
    SQL function "f_unaccent" statement 1
2014-06-28 13:24:30 EEST WARNING:  duplicate TO argument, use first one
2014-06-28 13:24:30 EEST CONTEXT:  line 367 of configuration file "/usr/share/postgresql/9.3/tsearch_data/unaccent.rules": "ΎΥ
    "
    SQL function "f_unaccent" statement 1
2014-06-28 13:24:30 EEST LOG:  duration: 100.038 ms

@mpasternak
Copy link

Thanks for sharing this one!

@fragoulis
Copy link
Author

The duplicate letters have been corrected so you know.

@fragoulis
Copy link
Author

Added ς -> σ

@sixtyfive
Copy link

Do any of you by any chance know how to get removal of characters by way of unaccent working? According to the docs, a single character on its own line should get removed. But the only thing that works is replacement with a second character...

@kstratis
Copy link

kstratis commented Sep 27, 2017

Thanks @jfragoulis!
Both the gist and the instructions on how to set it up are super useful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment