Не удается обновить postgis 2.5 до 3.0.1 для postgresql 11 на ubuntu

#postgis

#postgis

Вопрос:

Мне нужно обновить мой PostgreSQL 11 до PostgreSQL 12 с PostGIT 2.5 до 3.0.1.

Я попытался установить PostGIS 3 для PostgreSQL 11 на сервере Ubuntu, чтобы сначала обновить PostGIS, прежде чем обновлять PostgreSQL.

Я запускаю

 apt-get install postgresql-10-postgis-3
  

и получаю ошибку:

 The following NEW packages will be installed:
  postgresql-10-postgis-3 postgresql-10-postgis-3-scripts
0 upgraded, 2 newly installed, 0 to remove and 403 not upgraded.
Need to get 1,883 kB of archives.
After this operation, 30.0 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://apt.postgresql.org/pub/repos/apt xenial-pgdg/main amd64 postgresql-10-postgis-3-scripts all 3.0.1 dfsg-4.pgdg16.04 1 [1,052 kB]
Get:2 http://apt.postgresql.org/pub/repos/apt xenial-pgdg/main amd64 postgresql-10-postgis-3 amd64 3.0.1 dfsg-4.pgdg16.04 1 [831 kB]
Fetched 1,883 kB in 19s (97.0 kB/s)                                            
Selecting previously unselected package postgresql-10-postgis-3-scripts.
(Reading database ... 175146 files and directories currently installed.)
Preparing to unpack .../postgresql-10-postgis-3-scripts_3.0.1 dfsg-4.pgdg16.04 1_all.deb ...
Unpacking postgresql-10-postgis-3-scripts (3.0.1 dfsg-4.pgdg16.04 1) ...
dpkg: error processing archive /var/cache/apt/archives/postgresql-10-postgis-3-scripts_3.0.1 dfsg-4.pgdg16.04 1_all.deb (--unpack):
 trying to overwrite '/usr/share/postgresql/10/applications/shp2pgsql-gui.desktop', which is also in package postgresql-10-postgis-2.5-scripts 2.5.4 dfsg-1.pgdg16.04 1
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Selecting previously unselected package postgresql-10-postgis-3.
Preparing to unpack .../postgresql-10-postgis-3_3.0.1 dfsg-4.pgdg16.04 1_amd64.deb ...
Unpacking postgresql-10-postgis-3 (3.0.1 dfsg-4.pgdg16.04 1) ...
Processing triggers for postgresql-common (216.pgdg16.04 1) ...
Building PostgreSQL dictionaries from installed myspell/hunspell packages...
  en_us
Removing obsolete dictionary files:
Errors were encountered while processing:
 /var/cache/apt/archives/postgresql-10-postgis-3-scripts_3.0.1 dfsg-4.pgdg16.04 1_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
  

Кто-нибудь сталкивался с такой проблемой? Приветствуется любая подсказка.

Комментарии:

1. Возможно, вам сначала нужно удалить 2.5?

2. Здравствуйте, Лоренц, как вы сказали, я сначала удалил postgis 2.5, используя apt-get —purge для удаления postgis 2-5. И установил postgis 3.0. Теперь я могу установить postgis 3. Однако не удается обновить postgis до версии 3.0 в существующей базе данных. ИЗМЕНИТЕ РАСШИРЕНИЕ postgis НА «3.0.1»; Я получил ошибку, ERROR: не удалось получить доступ к файлу «$ libdir / postgis-2.5»: Нет такого файла или контекста каталога: функция PL / pgSQL _postgis_drop_function_if_needed(текст, text) строка 6 в ДЛЯ более чем ВЫБРАННЫХ строк Состояние SQL: 58P01

3. Спасибо Лоренц за ваш намек. Сначала я удалил postgis 2-5, затем попытался установить postgis 3. и это сработало. Я получил ошибку, указанную выше, при обновлении расширения, однако я решил ее, скопировав файл postgis в ту же папку со старым именем. cp / usr / lib/ postgresql / 11 / lib / postgis-3.so / usr / lib / postgresql / 11 / lib / postgis-2.5.so и то же самое для postgis_topology. итак, файл

4. Спасибо, Лоренц, теперь моя проблема решена.

5. Правильно, это то, что рекомендует документация.