У меня есть база данных PostgreSQL с именем mypsqldb
с таблицей с именем mypostgistable
. Это на образе Ubuntu 14.04, размещенном на Linode. Я выполнил эти команды из терминала.
sudo su - postgres
psql
\c mypsqldb
create extension postgis;
SELECT json_build_object('type','Feature','geometry',ST_AsGeoJSON(geom)::json) FROM mypostgistable;
Я получил эту ошибку: HINT: No function matches the given name and argument types. You might need to add explicit type casts.
Но когда я запускаю тот же запрос на своем настольном компьютере, на котором работает Debian 9, я не получаю сообщение об ошибке, и запрос успешно выполняется.
Я уже запустил sudo apt-get install && sudo apt-get upgrade
, а также sudo apt-get install postgresql postgis*
как на своем компьютере, так и на сервере Linode.
Вот выходные данные для каждой машины, когда я запускаю SELECT version();
.
Линод / Ubuntu 14.04: PostgreSQL 9.3.22 on x86_64-unknown-linux-gnu, compiled by gcc (Ubuntu 4.8.4-2ubuntu1~14.04.4) 4.8.4, 64-bit
.
Рабочий стол / Debian 9: PostgreSQL 9.6.7 on x86_64-pc-linux-gnu, compiled by gcc (Debian 6.3.0-18) 6.3.0 20170516, 64-bit
Почему запрос не выполняется на сервере Linode?