Как установить pgAdmin 4 в режиме рабочего стола на Ubuntu


108

Как установить pgAdmin 4 в режиме рабочего стола? В документации подробно описан только режим сервера.


Конечно, версия докера была намного более простым и быстрым способом установки PGAdmin4. Я потратил много времени, чтобы сделать это старым способом, который был в файле readme. В этом случае доступ к нему осуществляется через окно браузера, укажите его на 0.0.0.0:5050, и он получится действительно хорошим. Он загружается довольно быстро, НО, когда я пытаюсь создать сервер на нем, он все время говорит, что Postgresql НЕ работает, однако в PGAdmin3 Postgresql работает нормально. Прочитал много комментариев о том, что это плохой продукт, поэтому используйте его на свой страх и риск !!!
Джеральд Браун


2
Только pgadmin3 доступен в apt (Ubuntu 16.04). Есть идеи, как открыть запрос к Canonical о включении pgadmin4 в пакеты apt? Каков процесс запроса «приложения» для включения в менеджер пакетов?
Алик Эльзин-килака

@ AlikElzin-kilaka - проверьте мой ответ ниже для подходящего подхода.
Мухамед Хусейнбашич

Если кто-то просто хочет pgAdmin3, вы можете просто установить его с помощью приложения Ubuntu Software, которое есть во всех установках Ubuntu.
Кайл Бриденстайн

Ответы:


154

Для pgAdmin 4 v4.12 в Ubuntu , согласно странице загрузки :

Установите зависимости, создайте виртуальную среду, загрузите, установите и настройте

Использование Python2.x

sudo apt-get install virtualenv python-pip libpq-dev python-dev

cd
virtualenv pgadmin4
cd pgadmin4
source bin/activate

pip install https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v4.12/pip/pgadmin4-4.12-py2.py3-none-any.whl

Использование Python3.6 (предпочтительно, чтобы избежать проблем, связанных с кодированием)

sudo apt-get install virtualenv python3-pip libpq-dev python3-dev

cd
virtualenv -p python3 pgadmin4
cd pgadmin4
source bin/activate

pip3 install https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v4.12/pip/pgadmin4-4.12-py2.py3-none-any.whl

конфигурировать

Переопределите пути по умолчанию и установите его в однопользовательский режим в локальном файле конфигурации :

nano lib/python2.7/site-packages/pgadmin4/config_local.py

Для Python3.x:

nano lib/python3.6/site-packages/pgadmin4/config_local.py

Написать:

import os
DATA_DIR = os.path.realpath(os.path.expanduser(u'~/.pgadmin/'))
LOG_FILE = os.path.join(DATA_DIR, 'pgadmin4.log')
SQLITE_PATH = os.path.join(DATA_DIR, 'pgadmin4.db')
SESSION_DB_PATH = os.path.join(DATA_DIR, 'sessions')
STORAGE_DIR = os.path.join(DATA_DIR, 'storage')
SERVER_MODE = False

Бегать

python lib/python2.7/site-packages/pgadmin4/pgAdmin4.py

Для Python3.x:

python3 lib/python3.6/site-packages/pgadmin4/pgAdmin4.py

Доступ

Доступ по адресу http: // localhost: 5050

Выход

Выход с помощью Ctrl-C

Запустить снова

cd ~/pgadmin4
source bin/activate
python lib/python2.7/site-packages/pgadmin4/pgAdmin4.py

Для Python3.6

#!/bin/bash
cd ~/pgadmin4
source bin/activate
python3 lib/python3.6/site-packages/pgadmin4/pgAdmin4.py

Сделать ярлык

touch ~/pgadmin4/pgadmin4
chmod +x ~/pgadmin4/pgadmin4
nano ~/pgadmin4/pgadmin4

Написать:

#!/bin/bash
cd ~/pgadmin4
source bin/activate
python lib/python2.7/site-packages/pgadmin4/pgAdmin4.py

Для Python3.6

#!/bin/bash
cd ~/pgadmin4
source bin/activate
python3 lib/python3.6/site-packages/pgadmin4/pgAdmin4.py

Теперь вы можете просто запустить его с помощью более простой команды:

~/pgadmin4/pgadmin4

Пользователи Python3

Замените [x] в Python3.6 на соответствующую версию.

Конфликт с конфигурацией pgAdmin 3

pgAdmin 4не запустится в среде, где pgAdmin 3ранее был установлен и использовался из-за несовместимой конфигурации в .pgadminкаталоге. Самое простое решение - либо очистить этот каталог, либо настроить, config_local.pyчтобы он указывал на новый чистый .pgadmin4каталог.


404 на этом сайте.
Черепахи милые

5
Я хотел бы добавить это, чтобы я мог быстро запустить его, я добавил это в мой ~ / .bashrc: alias pgadmin = "source ~ / pgadmin4 / bin / activ && python ~ / pgadmin4 / lib / python2.7 / site- packages / pgadmin4 / pgAdmin4.py "Таким образом, я могу просто набрать pgadmin, и он запустится, как будто он ДОЛЖЕН быть из коробки. Ты слушаешь пгадмин?
light24bulbs

1
Вот правильная ссылка для FTP v2.1: ftp.postgresql.org/pub/pgadmin/pgadmin4/v2.1/pip/…
Ghouti

1
Может ли python3 lib/python3.6/site-packages/pgadmin4/pgAdmin4.pyбыть удалена / заменена жесткая ссылка на зависимость python3.6 ? Таким образом, ответ будет более надежным.
paul23

1
В Ubuntu 19.04, которая поставляется с Python 3.7, каждый раз меняйте местами 3.6 и 3.7 в инструкциях Python 3.x.
Карл Рихтер

49

Другой вариант - использовать докер и изображение докера, предоставленное thaJeztah - https://github.com/thaJeztah/pgadmin4-docker

$ docker run --rm -p 5050:5050 thajeztah/pgadmin4

Затем для доступа к экземпляру БД PostgreSQL из pgadmin4 вы должны использовать IP-адрес хоста вместо localhost и 127.0.0.1, поскольку Docker отобразит их в самом контейнере.

IP-адрес подключенного к базе данных экземпляра может быть найден в 2 этапа:

  • найдите идентификатор контейнера вашей БД с помощью:

    docker ps

  • осмотрите имя контейнера, чтобы найти его ip с помощью:

    docker inspect <ID from previous step>

Вы ищете что-то вроде «IP-адрес»: «172.18.0.3»


1
Как вы можете заставить его видеть докеризированный postgres? localhost / 127.0.0.1 / идентификатор контейнера не работает для меня.
ampofila

1
Можем ли мы установить статический IP-адрес, то есть нам не нужно обновлять наше приложение, чтобы оно указывало на новый IP-адрес док-контейнера каждый раз, когда мы перезапускаем его
Nam G VU

Хорошо, добавлен ярлык приложения хрома, и это почти похоже на
возврат

Другой способ подключения базы данных хоста: stackoverflow.com/questions/24319662/…
qmn1711

47

На Ubuntu 16.04 вы можете установить pgadmin4с

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
sudo apt install wget ca-certificates
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add 
sudo apt update
sudo apt install pgadmin4

Я проверил это 16.04.

источник для вышеуказанного подхода


Хорошо, еще одна вещь, которую я хочу знать, как мне начать, если я установил его на сервере.
Ахилендра

1
Для дистрибутивов на основе Ubuntu, таких как Mint, вы можете заменить $(lsb_release -cs)его версией Ubuntu, на которой он основан. Например, Mint Sarah (версия 18) основана на Xenial и выглядит следующим образом:sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
aggregate1166877

3
Похоже, окончательное решение, по крайней мере для Ubuntu + 16.xx. Спасибо !
Луисб
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.