While installing Nominatim(OSM geocoding service) I stumbled upon this issue:
https://github.com/openstreetmap/Nominatim/issues/1097#issue-341799919
The function "transliteration" has been properly created during the installation processes according to the following
template:
https://github.com/openstreetmap/Nominatim/blob/v3.1.0/sql/functions.sql#L25
The strange thing is that i'm able to execute the function while background analyzation of the table "placex"
repeatedlyfails with the following error:
2018-07-17 06:59:35.908 UTC [30641] ERROR: function transliteration(text) does not exist at character 23
2018-07-17 06:59:35.908 UTC [30641] HINT: No function matches the given name and argument types. You might need to add
explicittype casts.
2018-07-17 06:59:35.908 UTC [30641] QUERY: SELECT gettokenstring(transliteration(name))
2018-07-17 06:59:35.908 UTC [30641] CONTEXT: PL/pgSQL function public.make_standard_name(text) line 5 at assignment
automatic analyze of table "nominatim.public.placex"
I can execute the same function without an error in a psql session though:
# psql -d nominatim -U www-data -c "SELECT transliteration('some w€êîrd text')"
transliteration
-----------------
some weird text
(1 row)
Restarting the database stops the anaylze errors from occurring.
Postgres: 10.4
Postgis: 2.4
Nominatim: 3.1.0
--
Best regards
Thomas Butz