Установка pgadmin4 на Linux

12 марта 2021 г. 6:06

Установка pgadmin через docker

Docker позволяет легко запустить контейнер pgadmin. Возможно, это самый лёгкий способ установки pgadmin.

На мой взгляд ещё проще устанавливать сразу связку postgresql вместе с pgadmin, используя Docker. Вы можете взглянуть на мой репозиторий, в котором содержится инструкция по запуску postgresql и pgadmin: https://github.com/vivazzi/docker_pg_admin

Если вы решили отдельно поставить pgAdmin через Docker, то сначала нужно скачать образ:

docker pull dpage/pgadmin4

Затем уже можно запустить контейнер:

docker run -p 80:80 \
    -e 'PGADMIN_DEFAULT_EMAIL=mail@mail.com' \
    -e 'PGADMIN_DEFAULT_PASSWORD=my_password' \
    -d dpage/pgadmin4

Теперь в браузере по адресу localhost запустится pgadmin.

Установка через pipenv

Для более лёгкой установки pgAdmin через pipenv я написал инсталятор py_pg_admin, который устанавливает pgAdmin, создаёт короткую команду терминала и добавляет иконку в Меню Линукса.
Инсталятор py_pg_admin находится на гитхабе: https://github.com/vivazzi/py_pg_admin

Внимание: Для начала убедитесь, что у вас актуальная версия pip и pipenv:
Установка и обновление pip и pipenv
Иначе pipenv может пропустить ошибку несовместимости пакетов или не установить требуемые пакеты и pgAdmin может не запуститься.

Установка pgAdmin через pipenv, используя py_pg_admin

Прежде всего удалите pgadmin3 или pgadmin4, если вы пытались установить его через исходный код или apt:

sudo apt purge pgadmin3 pgadmin4
sudo apt autoremove

Теперь выполните следующие шаги:

1. Откройте терминал и склонируйте репозиторий куда-нибудь в свою домашнюю папку.

git clone https://github.com/vivazzi/py_pg_admin.git
cd py_pg_admin

2. (Опционально) Скопируйте local_settings_sample.py в local_settings.py и установите желаемые параметры. Установщик содержит несколько сохранённых конфигураций Pipfile-ов. Чтобы посмотреть доступные, введите:

python3 pre_install.py --help

3. Запустите pre_install.py и следуйте инструкциям:

python3 pre_install.py

Эта команда создаёт папку .venv в папке проекта для того, чтобы pipenv установил виртуальное окружение рядом с проектом. Также команда попытается добавить Pipfile, указанной версии в local_settings.py, если вы сами его не создавали.

4. Убедитесь, что у вас установлен pipenv >= 2020.11.15 (более старые версии могут пропускать требуемые зависимые пакеты). Проверьте ваш Pipfile (создайте ваш Pipfile, если хотите использовать другую версию pgAdmin) и установите пакеты:

pipenv sync

5. Запустите в терминале:

sudo python3 post_install.py

Теперь вы можете запускать pgAdmin в терминале: pgAdmin[major version]. Например:

pgadmin4

Для удобства вы можете использовать иконку в Меню Линукса в разделе Программирование, например: Меню\Программирование\pgAdmin 4

После запуска иконки будет открыт терминал со следующей инструкцией:

Starting pgAdmin 4. Please navigate to http://127.0.0.1:5050 in your browser.
Using production server...

Теперь вы можете открыть pgAdmin на странице http://127.0.0.1:5050 в вашем браузере.

Решение ошибок

Репозиторий https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/ не содержит файла Release

pgAdmin4-5.0 можно установить через apt. Следуя инструкции вы должны добавить репозиторий:

sudo sh -c 'echo "deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list

Но при этом может возникнуть ошибка отсутствия apt для вашей версии Линукс. Например, как это было с моим Linux Mint версии ulyssa:

Репозиторий «https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/ulyssa pgadmin4 Release» не содержит файла Release

Чтобы исправить это, сначала выберите доступную версию дистрибутива https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/. Например, для себя я выбрал groovy.

Затем откройте файл /etc/apt/sources.list.d/pgadmin4.list:

nano /etc/apt/sources.list.d/pgadmin4.list

И впишите вместо вашей версии Linux выбранную версию. Например, в моём случае я сделал так:

# Было
deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/ulyssa pgadmin4 main

# Стало
deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/groovy pgadmin4 main

ModuleNotFoundError: No module named 'cheroot'

При ошибке:

pgAdmin Command: "/usr/pgadmin4/venv/bin/python3 /usr/pgadmin4/web/pgAdmin4.py"
Traceback (most recent call last):
  File "../web/pgAdmin4.py", line 16, in <module>
    from cheroot.wsgi import Server as CherootServer
ModuleNotFoundError: No module named 'cheroot'

Установите cheroot:

pipenv install cheroot

Command 'krb5-config --libs gssapi' returned non-zero exit

При ошибке:

subprocess.CalledProcessError: Command 'krb5-config --libs gssapi' returned non-zero exit status 1

Нужно установить libkrb5-dev и gssapi:

$ sudo ln -s /usr/bin/krb5-config.mit /usr/bin/krb5-config
$ sudo ln -s /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 /usr/lib/libgssapi_krb5.so
$ sudo apt-get install python-pip libkrb5-dev
$ sudo pip install gssapi

ValueError: User model must contain fs_uniquifier as of 4.0.0

При установке pgAdmin4-4.29 через pip или pipenv может возникнуть ошибка:

ValueError: User model must contain fs_uniquifier as of 4.0.0

Дело в том, что устанавливается версия Flask-Security несовместимая с версией Flask 1.0.2. Добавьте в requirements.txt или Pipfile подходящую версию Flask-Security, например, так:

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
pgadmin4 = {file = "https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v4.29/pip/pgadmin4-4.29-py3-none-any.whl"}
flask-security-too = "==3.4.5"

[dev-packages]

[requires]
python_version = "3.8"

Оцените статью

5 из 5 (всего 2 оценки)

captcha
Отмеченные звёздочкой поля ( * ) являются обязательными для заполнения.

Спасибо за ваш отзыв!

После нажатия кнопки "Отправить" ваше сообщение будет доставлено мне на почту.

Автор статьи

Артём Мальцев

Веб-разработчик, владеющий знаниями языка программирования Python, фреймворка Django, системы управления содержимым сайта Django CMS, платформы для создания интернет-магазина Django Shop и многих различных приложений, использующих эти технологии.

Права на использование материала, расположенного на этой странице https://vivazzi.pro/ru/it/install-pgadmin4-linux/:

Разрешается копировать материал с указанием её автора и ссылки на оригинал без использования параметра rel="nofollow" в теге <a>. Использование:

Автор статьи: Артём Мальцев
Ссылка на статью: <a href="https://vivazzi.pro/ru/it/install-pgadmin4-linux/">https://vivazzi.pro/ru/it/install-pgadmin4-linux/</a>

Больше: Правила использования сайта

Представляю вашему вниманию книгу, написанную моим близким другом Максимом Макуриным: Секреты эффективного управления ассортиментом.

Книга предназначается для широкого круга читателей и, по мнению автора, будет полезна специалистам отдела закупок и логистики, категорийным и финансовым менеджерам, менеджерам по продажам, аналитикам, руководителям и директорам, в компетенции которых принятие решений по управлению ассортиментом.

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

Вы можете оставить комментарий как незарегистрированный пользователь.

Но зарегистрировавшись, вы сможете:

  • получать оповещения об ответах
  • просматривать свои комментарии
  • иметь возможность использовать все функции разработанных сервисов

Для комментирования от своего имени войдите или зарегистрируйтесь на сайте Vuspace

Отправить

На данный момент нет специального поиска, поэтому я предлагаю воспользоваться обычной поисковой системой, например, Google, добавив "vivazzi" после своего запроса.

Попробуйте

Выберите валюту для отображения денежных единиц