Обновился графический интерфейс для управления СУБД 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/pgadmin/pgadmin4/v1.5/pip/pgadmin4-1.5-py2.py3-none-any.whl
pip install wheel flask
pip install pgadmin4*.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
Это всё. Удачи!