我正在使用 http://wiki.openstreetmap.org/wiki/Nominatim/Installation 的指导在我自己的服务器上安装 nominatim ...
但是我在将国家/地区短语/代码添加到我的 pgsql 数据库时遇到了问题。 我正在使用上面链接中给出的以下命令执行此操作:
psql -d nominatim -f specialphrases_countries.sql
但是,我收到以下错误:
psql:specialphrases_countries.sql:1: ERROR: function make_standard_name(unknown) does not exist
LINE 1: select getorcreate_country(make_standard_name('uk'), 'gb');
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
psql:specialphrases_countries.sql:2: ERROR: function make_standard_name(unknown) does not exist
LINE 1: select getorcreate_country(make_standard_name('united states...
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
psql:specialphrases_countries.sql:3: ERROR: relation "country_name" does not exist
LINE 1: ...e_standard_name(country_code), country_code) from country_na...
^
psql:specialphrases_countries.sql:4: ERROR: relation "country_name" does not exist
LINE 1: ...try_name.name,ARRAY['name'])), country_code) from country_na...
^
psql:specialphrases_countries.sql:5: ERROR: relation "country_name" does not exist
LINE 1: ..._name.name,ARRAY['name:af'])), country_code) from country_na...
^
psql:specialphrases_countries.sql:6: ERROR: relation "country_name" does not exist
LINE 1: ..._name.name,ARRAY['name:ar'])), country_code) from country_na...
^
psql:specialphrases_countries.sql:7: ERROR: relation "country_name" does not exist
LINE 1: ..._name.name,ARRAY['name:br'])), country_code) from country_na...
^
psql:specialphrases_countries.sql:8: ERROR: relation "country_name" does not exist
LINE 1: ..._name.name,ARRAY['name:ca'])), country_code) from country_na...
^
psql:specialphrases_countries.sql:9: ERROR: relation "country_name" does not exist
LINE 1: ..._name.name,ARRAY['name:cs'])), country_code) from country_na...
^
psql:specialphrases_countries.sql:10: ERROR: relation "country_name" does not exist
LINE 1: ..._name.name,ARRAY['name:de'])), country_code) from country_na...
^
psql:specialphrases_countries.sql:11: ERROR: relation "country_name" does not exist
LINE 1: ..._name.name,ARRAY['name:en'])), country_code) from country_na...
^
psql:specialphrases_countries.sql:12: ERROR: relation "country_name" does not exist
LINE 1: ..._name.name,ARRAY['name:es'])), country_code) from country_na...
^
psql:specialphrases_countries.sql:13: ERROR: relation "country_name" does not exist
LINE 1: ..._name.name,ARRAY['name:et'])), country_code) from country_na...
^
psql:specialphrases_countries.sql:14: ERROR: relation "country_name" does not exist
LINE 1: ..._name.name,ARRAY['name:eu'])), country_code) from country_na...
^
psql:specialphrases_countries.sql:15: ERROR: relation "country_name" does not exist
LINE 1: ..._name.name,ARRAY['name:fa'])), country_code) from country_na...
^
psql:specialphrases_countries.sql:16: ERROR: relation "country_name" does not exist
LINE 1: ..._name.name,ARRAY['name:fi'])), country_code) from country_na...
^
psql:specialphrases_countries.sql:17: ERROR: relation "country_name" does not exist
LINE 1: ..._name.name,ARRAY['name:fr'])), country_code) from country_na...
^
psql:specialphrases_countries.sql:18: ERROR: relation "country_name" does not exist
LINE 1: ..._name.name,ARRAY['name:gl'])), country_code) from country_na...
^
psql:specialphrases_countries.sql:19: ERROR: relation "country_name" does not exist
LINE 1: ..._name.name,ARRAY['name:hr'])), country_code) from country_na...
^
psql:specialphrases_countries.sql:20: ERROR: relation "country_name" does not exist
LINE 1: ..._name.name,ARRAY['name:hu'])), country_code) from country_na...
^
psql:specialphrases_countries.sql:21: ERROR: relation "country_name" does not exist
LINE 1: ..._name.name,ARRAY['name:ia'])), country_code) from country_na...
^
psql:specialphrases_countries.sql:22: ERROR: relation "country_name" does not exist
LINE 1: ..._name.name,ARRAY['name:is'])), country_code) from country_na...
^
psql:specialphrases_countries.sql:23: ERROR: relation "country_name" does not exist
LINE 1: ..._name.name,ARRAY['name:it'])), country_code) from country_na...
^
psql:specialphrases_countries.sql:24: ERROR: relation "country_name" does not exist
LINE 1: ..._name.name,ARRAY['name:ja'])), country_code) from country_na...
^
psql:specialphrases_countries.sql:25: ERROR: relation "country_name" does not exist
LINE 1: ..._name.name,ARRAY['name:mk'])), country_code) from country_na...
^
psql:specialphrases_countries.sql:26: ERROR: relation "country_name" does not exist
LINE 1: ..._name.name,ARRAY['name:nl'])), country_code) from country_na...
^
psql:specialphrases_countries.sql:27: ERROR: relation "country_name" does not exist
LINE 1: ..._name.name,ARRAY['name:no'])), country_code) from country_na...
^
psql:specialphrases_countries.sql:28: ERROR: relation "country_name" does not exist
LINE 1: ..._name.name,ARRAY['name:pl'])), country_code) from country_na...
^
psql:specialphrases_countries.sql:29: ERROR: relation "country_name" does not exist
LINE 1: ..._name.name,ARRAY['name:ps'])), country_code) from country_na...
^
psql:specialphrases_countries.sql:30: ERROR: relation "country_name" does not exist
LINE 1: ..._name.name,ARRAY['name:pt'])), country_code) from country_na...
^
psql:specialphrases_countries.sql:31: ERROR: relation "country_name" does not exist
LINE 1: ..._name.name,ARRAY['name:ru'])), country_code) from country_na...
^
psql:specialphrases_countries.sql:32: ERROR: relation "country_name" does not exist
LINE 1: ..._name.name,ARRAY['name:sk'])), country_code) from country_na...
^
psql:specialphrases_countries.sql:33: ERROR: relation "country_name" does not exist
LINE 1: ..._name.name,ARRAY['name:sv'])), country_code) from country_na...
^
psql:specialphrases_countries.sql:34: ERROR: relation "country_name" does not exist
LINE 1: ..._name.name,ARRAY['name:uk'])), country_code) from country_na...
^
psql:specialphrases_countries.sql:35: ERROR: relation "country_name" does not exist
LINE 1: ..._name.name,ARRAY['name:vi'])), country_code) from country_na...
^
我不知道什么是“make_standard_name(unknown)”,如何创建它来解决“ERROR: function make_standard_name(unknown) does not exist”...
请提出建议。
最佳答案
函数 make_standard_name(text) 通过安装过程中的后续步骤添加到数据库:http://wiki.openstreetmap.org/wiki/Nominatim/Installation#Import_and_index_OSM_data
如果缺少此功能,则可能错过了该步骤,或者在该步骤中发生了错误。您需要先成功运行它,然后才能导入额外的国家/地区名称数据。
您可以尝试 ./util/setup.php --create-functions
来生成函数(而不是 ./util/setup.php --all
),但考虑到错误,您的数据库几乎肯定是无效的,如果继续,您将遇到其他问题。
关于postgresql - 错误 : function make_standard_name(unknown) does not exist while installing OSM-nominatim API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10680479/