Pgadmin 4 как пользоваться
Перейти к содержимому

Pgadmin 4 как пользоваться

  • автор:

Pgadmin 4 как пользоваться

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

pgAdmin в Windows

После этого нам откроется следующая программа pgAdmin. При открытии также отображится окно для ввода пароля для подключения к серверу Postgres:

Логин в pgAdmin

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

После успешного логина нам откроется содержимое сервера:

Базы данных в pgAdmin

В частности, в узле Databases мы можем увидеть все имеющиеся базы данных. По умолчанию здесь есть только одна база данных — postgres.

Также в правой части мы можем увидеть узел Login/Group Roles , который предназначен для управления пользователями и их ролями.

И третий узел — Tablespaces позволяет управлять местом хранения файлов баз данных.

Теперь создадим свою базу данных. Для этого нажмем правой кнопкой мыши на узел Databases . И далее в контекстном меню выберем Create -> Database.

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

После этого нам отобразится окно для создания базы данных. Введем название для БД, например, test1 и нажмем на кнопку «Save»:

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

После этого в древовидном меню слева отобразится содержимое созданной базы данных test1:

Как установить PostgreSQL и pgAdmin4 в Ubuntu 20.04

В данном руководстве мы ознакомимся с установкой PostgreSQL 12, реляционной объекто-ориентированной системой управления базами данных (СУБД). А также, мы проинсталлируем pgAdmin4, инструментарий для работы с сервером баз данных PostgreSQL. Итак, наш мануал – о том, как установить PostgreSQL и pgAdmin4 в Ubuntu 20.04.

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

Установка PostgreSQL

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

$ sudo apt update $ sudo apt install postgresql

При установке пакета инсталлятор создаст новый PostgreSQL-кластер. Данный кластер представляет из себя коллекцию баз данных, которая управляется одним сервером. Также, установщик создаст рабочие директории для PostgreSQL. Данные, необходимые для работы PostgreSQL, будут находится в каталоге /var/lib/postgresql/12/main , а файлы конфигурации – в каталоге /etc/postgresql/12/main .

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

$ sudo systemctl is-active postgresql

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

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

$ sudo systemctl is-enabled postgresql

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

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

$ sudo systemctl status postgresql

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

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

$ sudo pg_isready

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

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

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

$ sudo su - postgres

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

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

$ psql

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

Если вы видите приглашение ко вводу команд postgres=# , значит вы находитесь в оболочке СУБД PostgreSQL. И значит, можно приступать к созданию базы данных. Первая команда добавит в PostgreSQL пользователя bob (на своём сервере вы можете использовать свои имена пользователей и баз данных):

# CREATE USER bob WITH PASSWORD 'P@$$w0rd';

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

Как вы понимаете, P@$$w0rd – это пароль для входа под учётной записью bob . В своём примере вы, конечно, можете использовать другой пароль.

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

# CREATE DATABASE bobdb;

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

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

# GRANT ALL PRIVILEGES ON DATABASE bobdb to bob;

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

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

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

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

$ exit

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

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

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

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

$ cd /etc/postgresql/12/main $ sudo nano pg_hba.conf

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

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

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

$ sudo systemctl restart postgresql

Установка pgAdmin4

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

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

$ curl https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo apt-key add $ 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 update'

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

$ sudo apt install pgadmin4

Данной командой вы установили набор необходимых пакетов включая веб-сервер Apache2. После завершения инсталляции запустите скрипт для установки веб-компонентов. Данный скрипт должен был установиться вместе с пакетом pgdmin4. Во время своей работы скрипт попросит вас ввести адрес электронной почты. В нашем примере мы будем использовать mailofbob@mail.ru , вместо которого вам необходимо ввести свой. Также, скрипт потребует установить пароль, который необходимо ввести дважды. Учтите, что эти E-mail и пароль вы будете в дальнейшем использовать для подключения к веб-интерфейсу pgAdmin4.

$ sudo /usr/pgadmin4/bin/setup-web.sh

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

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

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

$ sudo ufw allow 'Apache'
$ sudo ufw enable

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

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

$ sudo ufw status

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

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

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

http://Your-Server-IP-address/pgadmin4

где, Your-Server-IP-address – IP-адрес вашего VPS.

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

Страница подключения к pgAdmin4

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

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

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

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

Теперь, заполните данные, необходимые для подключения к серверу. В строке Host name/address введите localhost , в строке Port можно оставить номер порта по умолчанию – 5432. В строке Maintenance database оставьте значение postgres . А вот, в строках Username и Password вы должны указать имя пользователя и его пароль, которые вы ранее добавили в PostgreSQL. В нашем примере это был пользователь bob с паролем P@$$w0rd . Вам, разумеется, необходимо использовать данные своей учётной записи PostgreSQL. Когда всё будет готово, нажмите Save .

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

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

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

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

Записки IT специалиста

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

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Для установки сервера pgAdmin мы будем использовать платформу Linux и дистрибутив Debian 10, при этом также поддерживаются Debian 9 и Ubuntu 16.04 (Xenial), 18.04 (Bionic), 19.10 (Eoan), 20.04 (Focal).

Мы не рекомендуем устанавливать pgAdmin на сервер с PostgreSQL если вы используете версию СУБД отличную от размещенной в репозитории, например, если вы используете PostgreSQL для 1С, потому что pgAdmin имеет в зависимостях ряд библиотек PostgreSQL, и вы с большой долей вероятности столкнетесь с конфликтом версий. Поэтому мы рекомендуем устанавливать pgAdmin на отдельный сервер, лучше всего виртуальную машину или контейнер. Все приведенные ниже команды следует выполнять с правами суперпользователя (root) или через sudo.

Установка и настройка pgAdmin 4

Для начала установим пакет gnupg для работы с цифровыми подписями:

apt install gnupg

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

cd
wget https://www.pgadmin.org/static/packages_pgadmin_org.pub
apt-key add packages_pgadmin_org.pub

Теперь создадим файл со списком источников пакетов и внесем туда запись о репозитории pgAdmin:

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

Затем обновим список пакетов и установим сервер pgAdmin для работы в web-режиме:

apt update
apt install pgadmin4-web

По окончании установки запустите скрипт начальной настройки сервера:

/usr/pgadmin4/bin/setup-web.sh

Вам потребуется ответить на ряд несложных вопросов: указать адрес электронной почты, который вы будете использовать в качестве логина, пароль (уделите особое внимание его надежности), а также разрешить настроить веб-сервер Apache и перезапустить его.

pgadmin4-server-mode-001.png

На этом установка и первичная настройка закончена, для доступа к серверу наберите в браузере http://имя_или_ip_сервера/pgadmin4. Если все сделано правильно, то вы увидите страницу входа.

pgadmin4-server-mode-002.png

После авторизации вы попадете в привычную среду pgAdmin, можете подключать свои сервера и работать с базами данных. Инструмент поддерживает любые версии PostgreSQL и платформы установки (Windows, Linux и т.п.). В тестовых целях мы подключили сборку PostgreSQL 10 от 1С на платформе Linux и PostgreSQL 11 от Postgres Pro установленную на Windows Server.

pgadmin4-server-mode-003.pngНастраиваем SSL с самоподписанным сертификатом

Вроде бы все хорошо, все настроено и работает. Но есть одно но! По умолчанию pgAdmin 4 работает по незащищенному протоколу HTTP, что в начале третьего десятилетия 21-го века неправильно, даже если вы работаете только в пределах локальной сети. Тем более что в случае несанкционированного доступа некто получит полный доступ ко всем вашим базам данных.

Как быть? Если у вас есть собственное доменное имя, то можно настроить работу с сертификатами от Let’s Encrypt, подробнее читайте в нашей инструкции: Настраиваем Apache для работы по HTTPS (SSL) с сертификатами Let’s Encrypt

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

Для создания такого сертификата выполните команду:

openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/private/pgadm4-selfsigned.key -out /etc/ssl/certs/pgadm4-selfsigned.crt

На что здесь следует обратить внимание? На ключ -days, который указывает срок действия сертификата в днях, в нашем случае мы указали 3560 дней или 10 лет,

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

pgadmin4-server-mode-004.png

Затем откроем файл /etc/apache2/sites-available/default-ssl.conf в котором найдем и приведем к следующему виду две строки:

SSLCertificateFile /etc/ssl/certs/pgadm4-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/pgadm4-selfsigned.key

После чего создадим файл с настройками SSL:

touch /etc/apache2/conf-available/ssl.conf 

И внесем в него следующие строки:

SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
SSLHonorCipherOrder off
SSLSessionTickets off

SSLUseStapling On
SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"

Мы не будем в рамках данной статьи подробно разбирать эти параметры, они достаточно сложны, но для получения актуальных настроек SSL вы всегда можете воспользоваться ресурсом ssl-config.mozilla.org, рекомендуемый уровень настроек — Intermediate. Указанный выше блок получен именно оттуда.

Сохраняем изменения и включаем нужные модули, конфигурации и виртуальные хосты:

a2enmod ssl
a2enconf ssl
a2ensite default-ssl

Проверяем конфигурацию Apache на ошибки:

apachectl -t

И перезапускаем веб-сервер:

systemctl reload apache2

Теперь подключимся к серверу pgAdmin 4 через браузер с явным указанием защищенного протокола https://имя_или_ip_сервера/pgadmin4:

2021-01-10_18-11-21.png

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

pgadmin4-server-mode-006.png

Несмотря на ряд серьезных ошибок все достаточно неплохо. Первая ошибка сообщает нам, что имя сертификата не соответствует нашему узлу, что действительно так, сертификат мы выпустили для FQDN debian-pgadm4.interface31.lab, а обращаемся к серверу по IP-адресу 192.168.233.142. Вторая ошибка предупреждает о том, что сертификат выпущен центром сертификации (CA), который не является доверенным. Но так как мы знаем кто именно выпустил данный сертификат и что указанный IP-адрес совпадает с FQDN сертификата, то смело игнорируем эти ошибки.

Следующие пункты сообщают нам о том, что соединение использует протокол TLS 1.3, прямую секретность на базе 128-битной эллиптической кривой Curve25519 и шифрование AES128-GCM, также на странице нет незащищенных элементов. Это очень неплохой результат, соответствующий современным требованиям к безопасности.

После того, как мы убедились, что наш сервер нормально работает по защищенному протоколу, настроим автоматическую переадресацию с HTTP на HTTPS. Откроем файл /etc/apache2/sites-available/000-default.conf и в пределах секции VirtualHost внесем следующие строки:

RewriteEngine On
RewriteCond % off
RewriteRule (.*) https://%%

pgadmin4-server-mode-008.png

Подключим необходимые модули:

a2enmod rewrite

И перезапустим веб-сервер:

systemctl reload apache2

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

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Подпишись на наш Telegram-канал

Или подпишись на наш Телеграм-канал:

Установка и настройка pgAdmin 4 в режиме сервера

Установка и настройка pgAdmin 4 в режиме сервера

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 :

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

Далее установите пакет 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 = '/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, обязательно запомните их или запишите:

Output
. . . Enter the email address and password to use for the initial pgAdmin user account: Email address: sammy@example.com Password: Retype password:

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

Воспользуйтесь путями файла, которые вы указали в файле 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 . Это будет файл виртуального хоста вашего сервера:

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

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

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

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

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

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

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

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

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

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

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

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

http://your_server_ip 

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

Экран входа pgAdmin

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

Страница приветствия 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

Пустые поля в других вкладках являются опциональными, их необходимо заполнять, если у вас есть конкретные требования для установки, где они могут потребоваться. Нажмите кнопку Save (Сохранить), после чего база данных появится в списке Servers (Серверы) в меню Browser (Браузер).

Вы успешно подключили 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 (Да).

Нажмите кнопку Save (Сохранить) для создания таблицы.

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

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

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *