Ошибка «django.db.utils.NutSupportedError: расширение 'postgis' недоступно» выдается, несмотря на то, что postgis устаноPython

Программы на Python
Ответить
Anonymous
 Ошибка «django.db.utils.NutSupportedError: расширение 'postgis' недоступно» выдается, несмотря на то, что postgis устано

Сообщение Anonymous »

Я пытаюсь перенести изменения модели, внесенные в мою кодовую базу, на сервер PostgreSQL (PostgreSQL 18.1 для x86_64-linux, скомпилированный gcc-11.4.0, 64-разрядная версия), но каждый раз, когда я это делаю, выдается эта ошибка. В частности, последовательность миграции выдает ошибку при чтении файла /home/[username]/[project]/[project_directory]/newenv/lib/python3.10/site-packages/django/db/backends/utils.py при возврате self.cursor.execute(sql). (Примечание: системная среда — Linux DESKTOP-7C9U6H4 6.6.87.2-microsoft-standard-WSL2).
Вызываемая функция выглядит следующим образом:
def _execute(self, sql, params, *ignored_wrapper_args):
# Raise a warning during app initialization (stored_app_configs is only
# ever set during testing).
if not apps.ready and not apps.stored_app_configs:
warnings.warn(self.APPS_NOT_READY_WARNING_MSG, category=RuntimeWarning)
self.db.validate_no_broken_transaction()
with self.db.wrap_database_errors:
if params is None:
# params default might be backend specific.
return self.cursor.execute(sql)
else:
return self.cursor.execute(sql, params)

В настройках моего проекта мой словарь баз данных выглядит следующим образом:
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': '[name]',
'USER': '[user]',
'PASSWORD': '',
'HOST': '127.0.0.1', # localhost
'PORT': '5432',
}
}

Когда я пытаюсь ввести команду CREATE, расширение postgis; на стороне базы данных (сервер расположен в /usr/local/pgsql/data) я получаю следующую ошибку: ОШИБКА: расширение «postgis» недоступно. Подсказка: расширение сначала необходимо установить в системе, где работает PostgreSQL.
Мне неясно, почему расширение недоступно, поскольку я уже запустил его (в локальной виртуальной среде моего проекта)
sudo apt install postgis

sudo apt install postgresql-18

sudo apt install ca-certificates gnupg

curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/apt.postgresql.org.gpg >/dev/null

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

Когда я запускаю apt search postgis, эти элементы появляются для postgresql-18
postgresql-18-postgis-3/jammy-pgdg-testing,jammy-pgdg,now 3.6.1+dfsg-1.pgdg22.04+1 amd64 [installed,automatic]
Geographic objects support for PostgreSQL 18

postgresql-18-postgis-3-dbgsym/jammy-pgdg-testing,jammy-pgdg 3.6.1+dfsg-1.pgdg22.04+1 amd64
debug symbols for postgresql-18-postgis-3

postgresql-18-postgis-3-scripts/jammy-pgdg-testing,jammy-pgdg,now 3.6.1+dfsg-1.pgdg22.04+1 all [installed,automatic]
Geographic objects support for PostgreSQL 18 -- SQL scripts


Подробнее здесь: https://stackoverflow.com/questions/798 ... -error-bei
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»