Как установить pgadmin 4 ubuntu

Обновлено: 04.07.2024

pgAdmin – это открытая платформа администрирования и разработки для PostgreSQL и связанных с ней систем управления базами данных. Написанная на Python и jQuery, эта платформа поддерживает все функции PostgreSQL. Вы можете использовать pgAdmin для выполнения любых задач: от написания базовых SQL-запросов до мониторинга ваших баз данных и настройки расширенных архитектур БД.

Данный мануал поможет установить и настроить последнюю версию pgAdmin на сервере Ubuntu 18.04, получить доступ к pgAdmin с помощью браузера и подключить его к БД PostgreSQL на сервере.

Требования

  • Сервер Ubuntu 18.04 с пользователем sudo и настроенным брандмауэром ufw. Все это описано в этом мануале.
  • Веб-сервер Apache, установленный и настроенный по этому мануалу.
  • Система PostgreSQL. Чтобы установить ее на свой сервер, читайте этот мануал. Не забудьте создать новую роль и базу данных – они понадобятся вам для подключения pgAdmin к вашему экземпляру PostgreSQL.
  • Python и venv. Чтобы установить эти инструменты и активировать виртуальную среду, читайте этот мануал.

1: Установка pgAdmin и его зависимостей

На момент написания этой статьи самой последней версией pgAdmin является 4, а самой последней версией, доступной через официальные репозитории Ubuntu, является pgAdmin 3. Однако pgAdmin 3 больше не поддерживается, и сопроводители проекта рекомендуют установить pgAdmin 4. Здесь мы рассмотрим процесс установки последней версии pgAdmin 4 в виртуальной среде (как рекомендовано командой разработчиков проекта) и установки его зависимостей с помощью apt.

Для начала обновите индекс пакетов:

sudo apt update

Далее установите зависимости проекта. К ним относятся libgmp3-dev (арифметическая библиотека с увеличенной точностью), libpq-dev (включает заголовочные файлы и статическую библиотеку, которая помогает взаимодействовать с бэкэндом PostgreSQL) и libapache2-mod-wsgi-py3, (модуль Apache, который позволяет размещать веб-приложения на основе Python в Apache).

sudo apt install libgmp3-dev libpq-dev libapache2-mod-wsgi-py3

После этого создайте несколько каталогов, в которых pgAdmin будет хранить данные сеансов, данные хранилища и логи:

sudo mkdir -p /var/lib/pgadmin4/sessions
sudo mkdir /var/lib/pgadmin4/storage
sudo mkdir /var/log/pgadmin4

Затем передайте права на эти каталоги пользователю и группе без полномочий root. Это необходимо, поскольку в настоящее время они принадлежат пользователю root, но права на виртуальную среду (где будет установлен pgAdmin) принадлежат вашему пользователю без прав root, и процесс установки включает создание некоторых файлов в этих каталогах. Однако после установки нужно будет передать права на каталоги пользователю и группе www-data, чтобы их можно было обслуживать в Интернете:

sudo chown -R 8host:8host /var/lib/pgadmin4
sudo chown -R 8host:8host /var/log/pgadmin4

Затем откройте свою виртуальную среду. Перейдите в каталог, в котором находится ваша среда, и активируйте ее. Следуя соглашениям об именах этого мануала Python 3, мы перейдем в каталог environments и активируем среду my_env:

cd environments/
source my_env/bin/activate

После этого загрузите исходный код pgAdmin 4 на свой компьютер. Чтобы найти последнюю версию исходного кода, перейдите на страницу загрузки pgAdmin 4 и кликните по ссылке на последнюю версию (на момент написания это версия 3.4). Вы попадете на страницу загрузок на веб-сайте PostgreSQL. Оказавшись там, скопируйте ссылку на файл, которая заканчивается на .whl – это стандартный формат, используемый для дистрибутивов Python. Затем вернитесь к своему терминалу и выполните следующую команду wget, убедившись, что указали свою ссылку, скопированную с сайта PostgreSQL. Это загрузит файл .whl на ваш сервер.

Далее устанавливаем пакет wheel , реализацию стандарта упаковки. Этот пакет, являющийся библиотекой Python, служит расширением для создания wheel-пакетов и включает инструмент командной строки для работы с файлами .whl:

python -m pip install wheel

Затем установите пакет pgAdmin 4 с помощью следующей команды:

python -m pip install pgadmin4-3.4-py2.py3-none-any.whl

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

2: Настройка pgAdmin 4

Теперь нужно предоставить pgAdmin права и выполнить конфигурации, необходимые для правильной работы веб-интерфейса.

Основной конфигурационный файл pgAdmin – это config.py, он читается перед любым другим файлом конфигурации. Его содержимое можно использовать в качестве ориентира для дальнейшей настройки других файлов pgAdmin, но во избежание непредвиденных ошибок не следует редактировать сам файл config.py. Мы добавим некоторые изменения конфигурации в новый файл по имени config_local.py, который будет читаться после основного.

Создайте новый файл:

Добавьте в него такое содержимое:

LOG_FILE = '/var/log/pgadmin4/pgadmin4.log'
SQLITE_PATH = '/var/lib/pgadmin4/pgadmin4.db'
SESSION_DB_PATH = '/var/lib/pgadmin4/sessions'
STORAGE_DIR = '/var/lib/pgadmin4/storage'
SERVER_MODE = True

Вот что делают эти пять директив:

  • LOG_FILE: определяет файл, в котором будут храниться логи pgAdmin.
  • SQLITE_PATH: pgAdmin сохраняет пользовательские данные в базе данных SQLite, и эта директива указывает pgAdmin на эту базу данных. Поскольку этот файл находится в постоянном каталоге /var/lib/pgadmin4/, ваши пользовательские данные не будут потеряны после обновления.
  • SESSION_DB_PATH: указывает, какой каталог будет использоваться для хранения данных сеанса.
  • STORAGE_DIR: определяет, где pgAdmin будет хранить другие данные, такие как резервные копии и сертификаты безопасности.
  • SERVER_MODE: если для этой директивы установлено значение True, pgAdmin будет работать в режиме сервера, а не в режиме рабочего стола.

Обратите внимание, что каждый из этих путей к файлам указывает на каталоги, созданные в разделе 1.

После добавления этих строк сохраните и закройте файл (нажмите Ctrl + X, затем Y и Enter). С этими настройками запустите сценарий установки pgAdmin, чтобы создать учетные данные для входа:

После выполнения этой команды вы увидите запрос на ввод адреса электронной почты и пароля. Они будут использоваться в качестве ваших учетных данных при последующем доступе к pgAdmin, поэтому обязательно запомните или запишите то, что вы вводите здесь:

После этого отключите виртуальную среду:

Напомним пути к файлам, которые вы указали в файле config_local.py. Эти файлы хранятся в каталогах, созданных вами в разделе 1, которые в настоящее время принадлежат вашему пользователю без привилегий root. Однако они должны быть доступны пользователю и группе, через которых запущен ваш веб-сервер. По умолчанию в Ubuntu 18.04 это пользователь и группа www-data. Теперь нужно предоставить право собственности группе и пользователю www-data:

sudo chown -R www-data:www-data /var/lib/pgadmin4/
sudo chown -R www-data:www-data /var/log/pgadmin4/

Теперь pgAdmin полностью настроен. Однако программа еще не обслуживается вашим сервером, поэтому она остается недоступной. Далее нужно настроить Apache для обслуживания pgAdmin, чтобы вы могли получить доступ к пользовательскому интерфейсу через браузер.

3: Настройка Apache

Перейдите в корневой каталог:

Затем создайте новый файл в каталоге /sites-available/ по имени pgadmin4.conf. Это будет файл виртуального хоста вашего сервера:

sudo nano /etc/apache2/sites-available/pgadmin4.conf

Добавьте в этот файл следующее содержимое, обязательно обновив выделенные красным фрагменты (укажите вместо них свои данные).

<VirtualHost *>
ServerName your_server_ip
WSGIDaemonProcess pgadmin processes=1 threads=25 python-home=/home/8host/environments/my_env
WSGIScriptAlias / /home/8host/environments/my_env/lib/python3.6/site-packages/pgadmin4/pgAdmin4.wsgi
<Directory "/home/8host/environments/my_env/lib/python3.6/site-packages/pgadmin4/">
WSGIProcessGroup pgadmin
WSGIApplicationGroup %
Require all granted
</Directory>
</VirtualHost>

Сохраните и закройте файл. Затем с помощью скрипта a2dissite отключите стандартный виртуальный хост, 000-default.conf:

sudo a2dissite 000-default.conf

Затем используйте скрипт a2ensite, чтобы включить виртуальный хост pgadmin4.conf. Это создаст символическую ссылку из виртуального хоста в каталоге /sites-available/ на каталог /sites-enabled/.

sudo a2ensite pgadmin4.conf

Теперь проверьте синтаксис конфигурации:

Если ваш файл конфигурации в порядке, вы увидите Syntax ОК. Если вывод сообщает об ошибке, откройте файл pgadmin4.conf и проверьте правильность вашего IP-адреса и пути к файлам, затем повторите configtest.

Когда в выводе будет Syntax ОК, перезапустите сервис Apache, чтобы он прочитал новый файл виртуального хоста:

sudo systemctl restart apache2

Теперь pgAdmin установлен и полностью настроен. Далее мы рассмотрим, как получить доступ к pgAdmin из браузера, прежде чем подключать его к базе данных PostgreSQL.

4: Доступ к pgAdmin

На локальном компьютере откройте веб-браузер и перейдите по IP-адресу вашего сервера:

Вам будет представлен экран входа в систему:

pgAdmin 4 Login
Email Address
Password
Login
Language English

Введите учетные данные, которые вы выбрали в разделе 2, и вы попадете на приветственный экран pgAdmin.

pgAdmin version 4
Management Tools for PostgreSQL

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

5: Настройка пользователя PostgreSQL

Если вы следовали мануалу по PostgreSQL из раздела Требования, на вашем сервере уже установлена система PostgreSQL с новой ролью суперпользователя и настроенной базой данных.

По умолчанию в PostgreSQL вы аутентифицируетесь как пользователь базы данных методом «Identification Protocol» или «ident». Этот метод подразумевает, что PostgreSQL берет имя пользователя Ubuntu и использует его в качестве имени пользователя базы данных. Во многих случаях это может обеспечить большую безопасность, но также может вызвать проблемы – например, если вы хотите, чтобы к одной из ваших баз данных подключалась внешняя программа типа pgAdmin. Чтобы решить эту проблему, нужно установить пароль для этой роли PostgreSQL, что позволит pgAdmin подключаться к вашей базе данных.

Откройте командную строку PostgreSQL в роли суперпользователя.

sudo -u 8host psql

Из командной строки PostgreSQL обновите профиль пользователя, чтобы выбрать надежный пароль:

ALTER USER 8host PASSWORD 'password';

Затем выйдите из командной строки PostgreSQL:

Вернитесь к интерфейсу pgAdmin 4 в вашем браузере и найдите меню Browser с левой стороны. Щелкните правой кнопкой мыши на Servers, чтобы открыть контекстное меню, наведите курсор мыши на Create и выберите Server….

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

Во вкладке General введите имя этого сервера. Это может быть любое имя, но лучше выбрать что-то описательное. В данном примере сервер называется 8host-server-1.

Далее откройте вкладку Connection. В поле Host name/address введите localhost. В поле по умолчанию Port должен быть установлен номер 5432, что подходит для этой настройки (это порт по умолчанию для PostgreSQL).

В поле Maintenance database введите имя базы данных, к которой вы хотите подключиться. Обратите внимание, что эта база данных уже должна быть создана на вашем сервере. Затем введите имя пользователя и пароль PostgreSQL, которые вы выбрали ранее, в поля Username и Password соответственно.

Вы успешно подключили pgAdmin4 к своей базе данных PostgreSQL. Теперь практически все, что вы делали из командной строки PostgreSQL, вы можете делать через панель управления pgAdmin. Чтобы проиллюстрировать это, мы создадим пример таблицы и заполним ее некоторыми тестовыми данными.

6: Создание таблицы через панель управления pgAdmin

В панели инструментов pgAdmin найдите меню Browser в левой части окна. Нажмите на знак плюс рядом с Servers (1), чтобы развернуть древовидное меню. Затем нажмите знак плюса слева от сервера, который вы добавили в предыдущем разделе (в нашем примере он называется 8host-server-1), затем разверните Databases, выберите имя добавленной вами базы данных (в нашем примере 8host), а затем Schemas (1). Вы должны увидеть древовидное меню.

Кликните правой кнопкой мыши на элемент списка Tables, затем наведите курсор на Create и нажмите Table….

Это откроет окно Create-Table. Во вкладке General этого окна введите имя таблицы. Вы можете выбрать любое имя, но для простоты мы назовем ее table-01.

Затем перейдите во вкладку Columns и нажмите на значок «+» в правом верхнем углу, чтобы добавить несколько столбцов. При добавлении столбца необходимо указать имя и тип данных (Name и Data type), также может потребоваться выбрать длину (Length, если этого требует тип данных, который вы выбрали).

Кроме того, в официальной документации PostgreSQL говорится, что обычно рекомендуется добавлять в таблицу первичный ключ. Первичный ключ – это ограничение, определяющее конкретный столбец или набор столбцов, которые можно использовать в качестве специального идентификатора для строк в таблице. Это не является обязательным требованием, но если вы хотите выбрать один или несколько столбцов в качестве первичного ключа, щелкните переключатель справа с No на Yes.

Вы создали таблицу и добавили в нее пару столбцов. Однако столбцы еще не содержат никаких данных. Чтобы добавить данные в новую таблицу, щелкните правой кнопкой мыши на имя таблицы в меню Browser, наведите курсор на Scripts и нажмите INSERT Script.

Это откроет новую панель. Вверху вы увидите частично заполненный оператор INSERT с соответствующими именами таблиц и столбцов. Замените вопросительные знаки (?) любыми фиктивными данными, убедившись, что добавляемые вами данные соответствуют типу каждого столбца. Обратите внимание, вы также можете добавить несколько строк данных: для этого поместите каждую строку в новый набор скобок, разделив их запятой, как показано в следующем примере.

INSERT INTO public."table-01"(
col1, col2, col3)
VALUES ('Juneau', 14, 337), ('Bismark', 90, 2334), ('Lansing', 51, 556);

Нажмите на значок молнии (⚡), чтобы выполнить INSERT. Чтобы просмотреть таблицу и все данные в ней, еще раз щелкните правой кнопкой мыши на имя вашей таблицы в меню Browser, наведите курсор на View/Edit Data и выберите All Rows.

Откроется еще одна новая панель, в нижней части которой во вкладке Data Output можно просмотреть все данные, хранящиеся в этой таблице.

Вы создали таблицу и заполнили ее некоторыми данными через веб-интерфейс pgAdmin. Конечно, это только один метод создания таблицы через pgAdmin. Например, можно также создать и заполнить таблицу с помощью SQL вместо GUI интерфейса.

Заключение

В этом мануале вы узнали, как установить pgAdmin 4 в виртуальной среде Python, настроить и обслуживать его с помощью Apache и как подключить его к базе данных PostgreSQL. Кроме того, в этом мануале был описан один метод создания и заполнения таблицы, но pgAdmin можно использовать не только для создания и редактирования таблиц.

Чтобы найти дополнительную информацию о том, как получить максимальную отдачу от pgAdmin, ознакомьтесь с документацией проекта. Вы также можете узнать больше о PostgreSQL в нашем Информатории.

Все работы на нашем сервере мы будем производить под учётной записью, имеющей привилегии sudo . Также, на нашем сервере установлен и настроен брандмауэр UFW .

Установка PostgreSQL

Поскольку PostgreSQL устанавливается из стандартных репозиториев Ubuntu, для запуска установки подключитесь к вашему серверу под учётной записью, входящей в группу sudo , и наберите в командной строке:

После завершения установки вы можете убедиться, что служба PostgreSQL активна. Для чего в командной строке наберите:

Проверка активности PostgreSQL - как установить PostgreSQL и pgAdmin4 в Ubuntu 20.04

Также, посмотрите, включена ли служба:

Проверка запуска PostgreSQL - как установить PostgreSQL и pgAdmin4 в Ubuntu 20.04

И наконец, вы можете увидеть статус службы PostgreSQL:

Проверка статуса PostgreSQL - как установить PostgreSQL и pgAdmin4 в Ubuntu 20.04

После чего, убедитесь, что PostgreSQL-сервер готов принимать подключения от клиентов:

Проверка готовности PostgreSQL - как установить PostgreSQL и pgAdmin4 в Ubuntu 20.04

Создание базы данных в PostgreSQL

Чтобы создать новую базу данных, вы должны получить доступ к программной оболочке PostgreSQL. Во-первых, подключитесь к системе с помощью учётной записи postgres :

Подключение пользователем postgres

Подключившись, выполните команду psql :

Запуск команды psql

Добавление пользователя

Следующая команда создаст базу данных, которую мы назовём, например, bobdb :

Создание базы данных

Теперь, назначьте своему пользователю все права сразу на вашу базу данных. В нашем примере это будет выглядеть так:

Назначение пользователю прав

Чтобы покинуть оболочку, наберите:

Выход из оболочки

И теперь, можно отключить от системы пользователя postgres :

Отключение пользователя postgres

Настройка клиентской аутентификации PostgreSQL

СУБД PostgreSQL использует клиентскую аутентификацию для того, чтобы решать, какая учётная запись к какой базе данных и с какого хоста может подключаться. Это определяется настройками конфигурационного файла клиентской аутентификации. В Ubuntu таким файлом является файл pg_hba.conf . Он располагается в директории /etc/postgresql/12/main/ .

Откройте этот файл для редактирования, например, с помощью текстового редактора nano :

PostgreSQL использует много типов методов клиентской аутентификации, таких как peer, ident, password или md5. Тип md5 является наиболее безопасным и рекомендуемым по причине того, что он требует от клиента использовать для аутентификации пароли с двойным md5-хешированием. Поэтому нам остаётся лишь убедиться, что в строках ниже указан именно метод md5:

Если вы произвели в конфигурационном файле какие-либо изменения, не забудьте сохранить их при закрытии файла. В nano для этого необходимо нажать Ctrl X , затем Y и Enter . После чего, перезапустите службу:

Установка pgAdmin4

Пакет pgAdmin4 не доступен для установки из официальных репозиториев Ubuntu. Поэтому мы будем устанавливать его из репозитория pgAdmin4 APT . Для этого сначала необходимо установить данный репозиторий.

Добавьте публичный ключ для репозитория и создайте его конфигурационный файл. Для чего наберите следующие команды:

Затем запустите установку pgAdmin4:

Работа скрипта setup-web.sh

В процессе установки скрипт перезапустит службу Apache2 для того, чтобы вступили в силу произведённые изменения.

После того, как скрипт закончит свою работу, вам нужно будет добавить разрешение для Apache2 на доступ через брандмауэр. Чтобы сделать это, наберите:

Запуск брандмауэра UFW

Убедитесь, что служба Apache2 включена в список разрешённых на брандмауэре вашего сервера:

Проверка статуса брандмауэра UFW

Настройка доступа через веб-интерфейс

Чтобы получить доступ к веб-интерфейсу pgAdmin4, откройте браузер и введите адрес в строке навигации:

После этого вы увидите страницу для подключения к pgAdmin4. Для входа используйте адрес электронной почты и пароль, который вы вводили при работе скрипта setup-web.sh :

В случае успешной авторизации, вы попадёте на панель веб-приложения pgAdmin4. Там, вы можете подключиться к своему серверу PostgreSQL, нажав на ярлык Add New Server:

Стартовая страница pgAdmin4

Далее, заполните данные нового сервера на закладке General и перейдите на закладку Connection :

Добавление сервера

Добавление сервера - как установить PostgreSQL и pgAdmin4 в Ubuntu 20.04

Если введённые учётные данные корректны, вы попадёте в панель управления pgAdmin4. Здесь, вы даже можете найти ту базу данных, которую вы создавали при настройке PostgreSQL. В нашем примере это была база данных bobdb .

Панель управления pgAdmin4 - как установить PostgreSQL и pgAdmin4 в Ubuntu 20.04

Таким образом, мы установили СУБД PostgreSQL, создали там учётную запись, базу данных и добавили созданному пользователю набор полномочий по отношению к созданной базе. После чего, мы подключились к СУБД PostgreSQL при помощи веб-интерфейса pgAdmin4. Основой всего нам послужил виртуальный выделенный сервер (VPS), работающий под управлением операционной системы Ubuntu 20.04.


Из этого руководства вы узнаете, как установить pgAdmin4 в Ubuntu 18.04 LTS.

Необходимые условия

Прежде чем продолжить, убедитесь, что у вас установлена база данных PostgreSQL на сервере Ubuntu 18.04 LTS

По умолчанию PostgreSQL работает на порту 5432. Чтобы убедиться в этом, выполните команду netstat, как показано ниже

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

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

Затем выполните команду ниже, чтобы установить pgAdmin4.

Это также установит множество других дополнительных пакетов программного обеспечения и зависимостей.

Пакет pgadmin4-apache2 будет интегрирован с pgAdmin4 и веб-сервером Apache2.

Во время этой настройки вам будет предложено ввести адрес электронной почты.

Укажите предпочитаемый адрес электронной почты

Затем укажите пароль, который вы собираетесь использовать при входе в систему, и нажмите «ОК».

После этого установка будет продолжена и завершена.

На данный момент вы успешно установили pgAdmin4 в вашей системе.

Подключение к PostgreSQL через pgAdmin4

Теперь, когда вы успешно установили pgAdmin4 в своей системе Ubuntu, вы можете подключиться к PostgreSQL, просмотрев IP-адрес вашего сервера или имя домена, за которым следует суффикс / pgAdmin4 в URL.

В моем случае URL моего сервера

Вам будет представлена страница входа в систему, как показано ниже

Укажите адрес электронной почты и пароль, которые вы указали ранее в процессе установки, и нажмите кнопку «login».


Это приведет вас к панели инструментов PgAdmin4, как показано ниже.

Замечательно! Если вы зашли так далеко, вы смогли установить pgAdmin4 в Ubuntu 18.04 LTS.

pgAdmin — это платформа с открытым исходным кодом для администрирования и разработки для PostgreSQL и связанных с ней систем управления базами данных. Платформа написана на Python и jQuery и поддерживает все функции PostgreSQL. Вы можете использовать pgAdmin для любых операций, начиная с записи базовых SQL-запросов и заканчивая осуществлением мониторинга ваших баз данных и настройки продвинутых архитектур баз данных.

В этом руководстве мы обсудим процесс установки и настройки последней версии pgAdmin на сервере Ubuntu 18.04, получим доступ к pgAdmin через браузер и подключим платформу к базе данных PostgreSQL на вашем сервере.

Предварительные требования

Для данного курса обучения вам потребуется следующее:

  • Сервер на Ubuntu 18.04. Этот сервер должен иметь пользователя без прав root с привилегиями sudo, а также брандмауэр с ufw . Ознакомьтесь с нашим руководством по первоначальной настройке сервера для Ubuntu 18.04 для получения дополнительных сведений.
  • Веб-сервер Apache, установленный на вашем сервере. Для настройки веб-сервера воспользуйтесь нашим руководством по установке веб-сервера Apache на Ubuntu 18.04.
  • PostgreSQL, установленная на сервере. Вы можете воспользоваться нашим руководством по установке и использованию PostgreSQL на Ubuntu 18.04 для выполнения установки. Перед выполнением инструкций данного руководства создайте новую роль и базу данных, потому что они потребуются вам при подключении pgAdmin к экземпляру PostgreSQL.
  • Python 3 и venv , установленные на сервере. Следуйте указаниям руководства Установка Python 3 и настройка среды для разработки на сервере Ubuntu 18.04, чтобы установить эти инструменты и настроить виртуальную среду.

Шаг 1 — Установка pgAdmin и необходимых зависимостей

На момент написания самой последней версией pgAdmin является pgAdmin 4, хотя самая последняя версия, доступная в репозитории Ubuntu, — это pgAdmin 3. pgAdmin 3 уже не поддерживается, и сопровождающие проект специалисты рекомендуют устанавливать pgAdmin 4. В данном руководстве мы будем рассматривать процесс установки последней версии pgAdmin 4 в виртуальной среде (согласно рекомендациям команды разработки проекта) и установки ее зависимостей с помощью apt .

Для начала обновите индекс пакетов вашего сервера, если вы не делали этого последнее время.

Затем установите следующие зависимости. Список зависимостей включает libgmp3-dev , библиотеку арифметических операций с многократно увеличенной точностью; libpq-dev с файлами заголовков и статической библиотекой, которая помогает осуществлять коммуникации с бекэндом PostgreSQL; и libapache2-mod-wsgi-py3 , модуль Apache, который позволяет вам размещать внутри Apache веб-приложения на Python:

После этого создайте несколько директорий, где pgAdmin будет хранить данные сессий, данные хранилища и журналы:

Затем измените владельца этих директорий на вашего пользователя без прав root и группу. Это необходимо, потому что первоначально они принадлежат вашему root-пользователю, но мы будем устанавливать pgAdmin из виртуальной среды, принадлежащей вашему пользователю без прав root, а процесс установки подразумевает создание ряда файлов внутри этих директорий. После завершения установки мы изменим владельца на пользователя www-data и группу, чтобы директорию можно было использовать через сеть:

Затем откройте вашу виртуальную среду. Перейдите в директорию, в которой находится ваша среда программирования, и активируйте ее. Согласно соглашениям о наименованиях из обязательного руководства Python 3, мы перейдем в директорию environments и активируем среду my_env :

Далее установите пакет wheel , базовую реализацию стандарта пакетов wheel. Будучи библиотекой Python, данный пакет служит расширением для сборки пакетов wheel и содержит инструмент для работы с командной строкой, который позволяет выполнять различные действия с файлами .whl :

Затем установите пакет pgAdmin 4 с помощью следующей команды:

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

Шаг 2 — Настройка pgAdmin 4

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

Основной файл конфигурации pgAdmin с именем config.py считывается перед любым другим файлом конфигурации. Его содержание можно использовать в качестве отправной точки для последующих настроек конфигурации, которые можно указать в других файлах конфигурации pgAdmin, но чтобы избежать непредвиденных ошибок, вы не должны редактировать файл config.py самостоятельно. Мы внесем некоторые изменения конфигурации в новый файл с именем config_local.py , который будет считываться непосредственно после основного файла.

Создайте этот файл сейчас, используя текстовый редактор. Мы будем использовать nano :

В вашем редакторе добавьте следующее содержание:

environments/my_env/lib/python3.6/site-packages/pgadmin4/config_local.py

Вот что делают эти пять директив:

  • LOG_FILE : данная директива определяет файл, в котором будут храниться журналы pgAdmin.
  • SQLITE_PATH : pgAdmin хранит данные о пользователях в базе данных SQLite, и эта директива указывает программному обеспечению PgAdmin на базу данных конфигурации. Поскольку этот файл находится в постоянной директории /var/lib/pgadmin4 , ваши пользовательские данные после обновления не будут потеряны.
  • SESSION_DB_PATH : указывает, какая директория будет использоваться для хранения данных сеанса.
  • STORAGE_DIR : определяет, где pgAdmin будет хранить другие данные, например резервные копии и сертификаты безопасности.
  • SERVER_MODE : установка значения True для этой директивы говорит о том, что pgAdmin должен запускаться в режиме сервера, а не в режиме настольного компьютера.

Обратите внимание, что каждый из этих путей файла указывает на директории, созданные на шаге 1.

После добавления этих строк сохраните и закройте файл (нажмите CTRL + X , а затем нажмите Y и ENTER ). После внесения этих изменений запустите скрипт установки pgAdmin, чтобы задать учетные данные для входа:

После запуска этой команды вы увидите запрос на ввод адреса электронной почты и пароля. Они будут служить вашими учетными данными для последующего доступа к pgAdmin, обязательно запомните их или запишите:

После этого необходимо деактивировать вашу виртуальную среду:

Воспользуйтесь путями файла, которые вы указали в файле config_local.py . Эти файлы хранятся в директориях, созданных на шаге 1, которые в настоящее время принадлежат вашему пользователю без прав root. Однако они должны быть доступны для пользователя и группы, которые запускают ваш веб-сервер. По умолчанию в Ubuntu 18.04 это пользователь и группа www-data, поэтому необходимо обновить разрешения для следующих директорий, чтобы предоставить www-data нужные права владения:

После этого настройку pgAdmin можно считать выполненной. Однако программа еще не обслуживается на вашем сервере, поэтому она остается недоступной. Для устранения данной проблемы мы настроим Apache для обслуживания pgAdmin, чтобы вы могли получить доступ к интерфейсу пользователя через браузер.

Шаг 3 — Настройка Apache

Веб-сервер Apache использует виртуальные хосты для инкапсуляции данных конфигурации и размещения сразу нескольких доменов на одном сервере. Если вы выполнили указания предварительного руководства для Apache, у вас уже может быть настроен пример виртуального хоста с именем your_domain.conf , но на этом шаге мы создадим новый хост, откуда мы сможем обслуживать веб-интерфейс pgAdmin.

Сначала убедитесь, что вы находитесь в директории root:

Затем создайте новый файл в вашей директории /sites-available/ с именем pgadmin4.conf . Это будет файл виртуального хоста вашего сервера:

Добавьте следующее содержимое в файл, заменив выделенные части в соответствии с вашей собственной конфигурацией:

Сохраните и закройте файл виртуального хоста. Затем воспользуйтесь скриптом a2dissite для отключения файла виртуального хоста по умолчанию, 000-default.conf :

Примечание: если вы выполнили требования предварительного руководства Apache, вы должны были отключить 000-default.conf и настроить пример файла конфигурации виртуального хоста (с именем your_domain.conf согласно требованиям). В этом случае вам нужно будет отключить файл виртуального хоста your_domain.conf с помощью следующей команды:

Затем воспользуйтесь скриптом a2ensite , чтобы активировать ваш файл виртуального хоста pgadmin4.conf . В результате будет создана символьная ссылка из файла виртуального хоста в директории /sites-available/ в директорию /sites-enabled/ :

После этого проверьте на правильность синтаксис вашего файла конфигурации:

После появления вывода Syntax OK перезапустите службу Apache, чтобы она смогла прочитать ваш новый файл виртуального хоста:

pgAdmin теперь полностью установлен и настроен. Теперь мы перейдем к тому, как организовать доступ к pgAdmin из браузера, прежде чем подключать его к базе данных PostgreSQL.

Шаг 4 — Доступ к pgAdmin

На вашем локальном компьютере откройте предпочитаемый браузер и откройте IP-адрес вашего сервера:

После этого вы увидите экран входа, аналогичный следующему экрану:

Экран входа pgAdmin

Введите учетные данные для входа, заданные на шаге 2, после чего вы попадете на приветственный экран pgAdmin:

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

Шаг 5 — Настройка вашего пользователя PostgreSQL

Если вы выполнили указания предварительного руководства PostgreSQL, вы уже должны были установить PostgreSQL на ваш сервер с правами суперпользователя и настроенной базой данных.

По умолчанию в PostgreSQL вы выполняете аутентификацию пользователей базы данных с помощью “протокола идентификации” (или ident), т. е. метода аутентификации. В рамках этого процесса PostgreSQL берет имя пользователя клиента Ubuntu и использует его в качестве разрешенного пользователя базы данных. Это позволяет обеспечить более высокий уровень безопасности во многих случаях, но также может стать причиной проблем в случаях, когда вам может потребоваться подключить внешнюю программу, например, pgAdmin, к вашей базе данных. Для устранения этой проблемы мы зададим пароль для данной роли PostgreSQL, который позволит pgAdmin подключиться к вашей базе данных.

В вашем терминале откройте командную строку PostgreSQL с помощью вашего суперпользователя:

Из командной строки PostgreSQL обновите профиль пользователя, чтобы задать более надежный пароль:

Закройте командную строку PostgreSQL:

Теперь вернитесь в интерфейс pgAdmin 4 в вашем браузере и найдите меню Browser (Браузер) с левой стороны. Нажмите правой кнопкой мыши на пункт Servers (Серверы), чтобы открыть контекстное меню, наведите курсор мыши на пункт Create (Создать) и нажмите Server… (Сервер…).

Контекстное меню создания сервера

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

На вкладке General (Общее) введите имя этого сервера. Это может быть любое имя по вашему желанию, но вы можете использовать описательное имя. В нашем примере сервер называется Sammy-server-1 .

Создание сервера — вкладка General

Затем нажмите на вкладку Connection (Подключение). В поле Host name/address (Имя хоста/адрес) введите localhost . В поле Port (Порт) необходимо задать значение 5432 по умолчанию, которое будет работать для этой настройки, поскольку это порт, используемый для PostgreSQL по умолчанию.

В поле Maintenance database (Поддержание базы данных) введите имя базы данных, к которой вы хотите подключиться. Обратите внимание, что эта база данных должна быть уже создана на вашем сервере. Затем введите имя пользователя и пароль PostgreSQL, которые вы настроили ранее в полях Username (Имя пользователя) и Password (Пароль).

Создание сервера — вкладка Connection

Вы успешно подключили pgAdmin4 к базе данных PostgreSQL. С помощью панели управления pgAdmin вы можете делать все, что вы можете делать с помощью командной строки PostgreSQL. Для иллюстрации этого факты мы создадим пример таблицы и заполним ее с помощью примера данных через веб-интерфейс.

Шаг 6 — Создание таблицы в панели pgAdmin

В панели управления pgAdmin найдите меню Browser (Браузер) с левой стороны окна. Нажмите на значок плюс (+) рядом с пунктом Servers (Серверы), чтобы развернуть дерево меню внутри. Далее нажмите значок плюс слева от сервера, добавленного на предыдущем шаге (Sammy-server-1 в нашем примере), затем разверните пункт Databases (Базы данных), имя базы данных, добавленной вами (sammy в нашем примере), а затем Schemas (1) (Схемы (1)). Вы должны увидеть следующее дерево меню:

Развернутое дерево меню Browser

Нажмите правой кнопкой на пункт списка Tables (Таблицы), затем наведите курсор на пункт Create (Создать) и нажмите Table…(Таблица…).

Контекстное меню создания таблицы

В результате будет открыто окно Create-Table (Создать - Таблица). На вкладке General (Общее) этого окна введите имя таблицы. Это может быть любое имя, но чтобы не усложнять, мы назовем ее table-01.

Создание таблицы — вкладка General

Перейдите на вкладку Columns (Столбцы) и нажмите знак + в правом верхнем углу окна, чтобы добавить столбцы. При добавлении столбца вам нужно указать его Name (Имя) и Data type (Тип данных), после чего вам может потребоваться указать параметр Length (Длина), если это требуется для типа данных, который вы выбрали.

Кроме того, в официальной документации PostgreSQL указано, что добавление главного ключа в таблицу является рекомендованной практикой. Главный ключ — это препятствие, указывающее конкретный столбец или набор столбцов, которые можно использовать в качестве специального идентификатора для строк в таблице. Это не обязательное требование, но если вы хотите задать один или несколько столбцов в качестве главного ключа, переведите переключатель с правого края из положения No (Нет) в положение Yes (Да).

Создание таблицы — вкладка столбцов с включенным главным ключом

К этому моменту вы создали таблицу и добавили несколько столбцов. Однако столбцы не содержат данных. Для добавления данных в вашу новую таблицу нажмите правой кнопкой мыши на имя таблицы в меню Browser (Браузер), наведите курсор на пункт Scripts (Скрипты) и нажмите INSERT Script (ВСТАВИТЬ скрипт).

Контекстное меню INSERT Script

В результате будет открыта новая панель на панели управления. В самом верху вы увидите частично выполненная конструкция INSERT (ВСТАВКА) с соответствующими названиями таблицы и столбцов. Теперь необходимо заменить знаки вопроса (?) на любые данные, убедившись, что данные, которые вы добавляете, соответствуют типам данных, которые вы выбрали для каждого столбца. Обратите внимание, что вы можете добавить несколько строк данных, помещая каждую строку внутри набора скобок и разделяя скобки запятыми, как показано в следующем примере.

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

Пример конструкции INSERT

Нажмите значок молнии (⚡) для запуска выполнения конструкции INSERT . Чтобы просмотреть таблицу и все данные внутри ее, снова нажмите правой кнопкой мыши на имени таблицы в меню Browser (Браузер), наведите курсор на View/Edit Data (Просмотр/редактирование данных) и выберите All Rows​​​ (Все ряды).

Контекстное меню просмотра/редактирования данных, все ряды

В результате будет открыта новая панель, ниже которой, на вкладке Data Output (Вывод данных) нижней панели вы можете просмотреть все данные, хранящиеся в таблице.

Просмотр данных - пример вывода данных

Поздравляем, вы успешно создали таблицу и заполнили ее данными с помощью веб-интерфейса pgAdmin. Разумеется, это только один из методов, которые вы можете использовать для создания таблицы с помощью pgAdmin. Например, вы можете также создать и заполнить таблицу с помощью SQL вместо метода, подразумевающего использование графического интерфейса, описанного на этом шаге.

Заключение

В этом руководстве вы научились устанавливать pgAdmin 4 из виртуальной среды Python, настраивать эту платформу, выполнять подключение к веб-серверу Apache и узнали, как подключить ее к базе данных PostgreSQL. Кроме того, в этом руководстве описан один метод, который можно использовать для создания и заполнения таблицы, но pgAdmin можно использовать далеко не только для создания и редактирования таблиц.

Дополнительную информацию о том, как получить максимум от всех функций pgAdmin см. в документации проекта. Также вы можете узнать больше о PostgreSQL, ознакомившись с руководствами сообщества по этой теме.

Читайте также: