Роман Теличко

Заметки веб-разработчика/админа

Установка pgAdmin4 в Ubuntu 16.04

// | 4446 просмотров | комментариев (0)

pgAdmin4Обновился графический интерфейс для управления СУБД PostgreSQL — pgAdmin 4. Будем надеяться что новая версия не будет так сильно «сыпаться» 🙂
Пока ещё нет ни deb-пакета, ни ссылок на репозиторий, но попробовать уже хочется 🙂

Так что сегодня я расскажу как поставить pgAdmin4 в режиме клиента (pgAdmin4 Desktop)

Для начала нам необходимо установить пакеты Python 3, для создания виртуальной среды, в которой и будет всё работать:

sudo apt install python3-dev python3-venv python-pip postgresql-common libpq-dev wget

Создаём виртуальную среду и активируем её:

cd ~
pyvenv-3.5 .pgadmin4
cd ~/.pgadmin4/
source bin/activate

Скачиваем пакет:

wget https://ftp.postgresql.org/pub/pgadmin3/pgadmin4/v1.1/pip/pgadmin4-1.1-py3-none-any.whl
pip install wheel
pip install pgadmin4-1.1-py3-none-any.whl

Заменяем в файле ~/.pgadmin4/lib/python3.5/site-packages/pgadmin4/config.py строку

SERVER_MODE = True

на следующее

SERVER_MODE = False

Запускаем инсталлятор, что создаст в домашней папке базу настроек:

python ~/.pgadmin4/lib/python3.5/site-packages/pgadmin4/setup.py

Проверяем что всё работает, запустив в ручном режиме из консоли:

python ~/.pgadmin4/lib/python3.5/site-packages/pgadmin4/pgAdmin4.py

Результат можно будет посмотреть в браузере: https://localhost:5050

Из консоли запускать — это конечно хорошо, но хотелось бы чтобы запускалось в виде сервиса само.
Для этого создаём файл сервиса

sudo vi /etc/systemd/system/pgadmin4.service

со следующим содержанием:

[Unit]
Description=Pgadmin4 Service  
After=network.target

[Service]
User=rt
Group=rt
WorkingDirectory=/home/rt/.pgadmin4/
Environment="PATH=/home/rt/.pgadmin4/bin"
ExecStart="/home/rt/.pgadmin4/lib/python3.5/site-packages/pgadmin4/pgAdmin4.py"
PrivateTmp=true

[Install]
WantedBy=multi-user.target

Примечание: пользователь у меня называется rt

И отредактируем сам файл запуска ~/.pgadmin4/lib/python3.5/site-packages/pgadmin4/pgAdmin4.py, добавив первой строчкой следующую запись:

#!/usr/bin/env python

А также необходимо дать право исполнения этому файлу:

chmod +x ~/.pgadmin4/lib/python3.5/site-packages/pgadmin4/pgAdmin4.py

Теперь перегружаем systemd и включаем как сервис:

sudo systemctl daemon-reload
sudo systemctl enable pgadmin4

Запускаем наш pgAdmin4:

sudo systemctl start pgadmin4 && sudo systemctl status pgadmin4

Теперь pgAdmin4 будет запускаться при старте системы сам и доступен по URL https://localhost:5050

Это всё. Удачи!

pgadmin4-debugger

pgadmin4-properties