На этом занятии мы рассмотрим процесс установки системы управления базами данных PostgreSQL на операционную систему Windows 10.
Кроме этого мы также установим и настроим pgAdmin 4 – это стандартный и бесплатный графический инструмент управления PostgreSQL, который мы можем использовать для написания SQL запросов, разработки процедур, функций, а также для администрирования PostgreSQL.
Если Вы решили пройти курс и изучить язык SQL чтобы работать с PostgreSQL, то Вам обязательно необходимо установить данную систему к себе на компьютер, для того чтобы выполнять домашние задания и примеры рассмотренные на уроках, а также для возможности в целом практиковаться в написании SQL запросов.
Если Вы планируете работать с другой СУБД, то устанавливать PostgreSQL не требуется, данное занятие Вы можете пропустить, и перейти к тому занятию, на котором рассматривается процесс установки той СУБД, с которой Вы будете работать.
Если на текущий момент Вы не знаете с какой СУБД Вы будете работать, или Вы будете работать со всеми одновременно, то для прохождения данного курса рекомендую установить PostgreSQL и использовать именно эту СУБД для изучения языка SQL.
Что такое PostgreSQL
PostgreSQL — это бесплатная объектно-реляционная система управления базами данных (СУБД). PostgreSQL реализована для многих операционных систем, включая: BSD, Linux, macOS, Solaris и Windows.
В PostgreSQL в качестве расширения стандарта SQL используется язык PL/pgSQL.
PL/pgSQL – это процедурное расширение языка SQL, разработанное и используемое в СУБД PostgreSQL.
Язык PL/pgSQL предназначен для создания функций, триггеров, он добавляет управляющие структуры к языку SQL, и он помогает нам выполнять сложные вычисления.
Системные требования для установки PostgreSQL на Windows
PostgreSQL можно установить не на все версии Windows, в частности официально поддерживаются только Windows Server 2012 R2, 2016 и 2019 и только 64 битные версии.
В официальном перечне нет Windows 10, так как данная операционная система предназначена для клиентских компьютеров, а систему управления базами данных обычно устанавливают на сервера и серверные операционные системы. Однако установка на Windows 10 проходит без проблем, как и последующее функционирование PostgreSQL. И таким образом использовать PostgreSQL для обучения на Windows 10 можно.
Кроме этого есть и другие требования:
- Процессор как минимум с частотой 1 гигагерц;
- 2 гигабайта оперативной памяти;
- Как минимум 512 мегабайт свободного места на диске (рекомендуется больше для установки дополнительных компонентов);
- Также рекомендовано, чтобы все обновления операционной системы Windows были установлены.
Установка PostgreSQL и pgAdmin 4 на Windows 10
Итак, давайте перейдем к процессу установки, и рассмотрим все шаги, которые необходимо выполнить, чтобы установить PostgreSQL и pgAdmin 4 на Windows 10.
Шаг 1 – Скачивание установщика для Windows
Как было уже отмечено, PostgreSQL реализован для многих платформ, но, так как мы будем устанавливать PostgreSQL на Windows, нам, соответственно, нужен установщик под Windows. Скачать данный дистрибутив можно, конечно же, с официального сайта PostgreSQL.
Страница загрузки PostgreSQL — https://www.postgresql.org/download/windows/
После перехода на страницу необходимо нажимать на ссылку «Download the installer», в результате Вас перенесёт на сайт компании EnterpriseDB, которая и подготавливает графические дистрибутивы PostgreSQL для многих платформ, в том числе и для Windows, поэтому можете сразу переходить на этот сайт, вот ссылка на страницу загрузки https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
Здесь Вам необходимо выбрать версию PostgreSQL и платформу, в нашем случае выбираем PostgreSQL 12 и Windows x86-64.
В итоге должен загрузиться файл установщика размером около 200 мегабайт.
Шаг 2 – Запуск установщика PostgreSQL
Теперь, чтобы начать установку, необходимо запустить скаченный файл (установка PostgreSQL требует прав администратора).
После запуска откроется окно приветствия, нажимаем «Next».
Шаг 3 – Указываем каталог для установки PostgreSQL
Далее, в случае необходимости мы можем указать путь к каталогу, в который мы хотим установить PostgreSQL, однако можно оставить и по умолчанию.
Нажимаем «Next».
Шаг 4 – Выбираем компоненты для установки
Затем выбираем компоненты, которые нам необходимо установить, для этого оставляем галочки напротив нужных нам компонентов. Обязательно нам нужны PostgreSQL Server и pgAdmin 4. Утилиты командной строки и Stack Builder устанавливайте по собственному желанию, т.е. их можно и не устанавливать, на процесс обучения они не влияют.
Нажимаем «Next».
Шаг 5 – Указываем каталог для хранения файлов баз данных
На этом шаге нам необходимо указать каталог, в котором по умолчанию будут располагаться файлы баз данных. В случае тестовой установки, например, для обучения, можно оставить и по умолчанию, однако «боевые» базы данных всегда должны храниться в отдельном месте, поэтому, если сервер PostgreSQL планируется использовать для каких-то других целей, лучше указать отдельный диск.
Нажимаем «Next».
Шаг 6 – Задаем пароль для системного пользователя postgres
Далее нам нужно задать пароль для пользователя postgres – это администратор PostgreSQL Server с максимальными правами.
Вводим и подтверждаем пароль. Нажимаем «Next».
Шаг 7 – Указываем порт для экземпляра PostgreSQL
На данном шаге в случае необходимости мы можем изменить порт, на котором будет работать PostgreSQL Server, если такой необходимости у Вас нет, то оставляйте по умолчанию.
Нажимаем «Next».
Шаг 8 – Указываем кодировку данных в базе
Затем мы можем указать конкретную кодировку данных в базе, для этого необходимо выбрать из выпадающего списка нужную Locale.
Однако можно оставить и по умолчанию, жмем «Next».
Шаг 9 – Проверка параметров установки PostgreSQL
Все готово к установке, на данном шаге проверяем введенные нами ранее параметры и нажимаем «Next».
Шаг 10 – Запуск процесса установки
Далее появится еще одно дополнительное окно, в котором мы должны нажать «Next», чтобы запустить процесс установки PostgreSQL на компьютер.
Установка началась, она продлится буквально 2-3 минуты.
Шаг 11 – Завершение установки
Когда отобразится окно с сообщением «Completing the PostgreSQL Setup Wizard», установка PostgreSQL, pgAdmin и других компонентов будет завершена.
Если Вы устанавливали Stack Builder, то Вам еще предложат запустить его для загрузки и установки дополнительных компонентов, если Вам это не нужно, то снимайте галочку «Lanch Stack Builder at exit?».
Нажимаем «Finish».
Запуск и настройка pgAdmin 4
PostgreSQL и pgAdmin мы установили, теперь давайте запустим pgAdmin, подключимся к серверу и настроим рабочую среду.
Чтобы запустить pgAdmin, зайдите в меню пуск, найдите пункт PostgreSQL 12, а в нем pgAdmin 4.
Подключение к серверу PostgreSQL
pgAdmin 4 имеет веб интерфейс, поэтому в результате у Вас должен запуститься браузер, а в нем открыться приложение pgAdmin.
При первом запуске pgAdmin появится окно «Set Master Password», в котором мы должны задать «мастер-пароль», это можно и не делать, однако если мы будем сохранять пароль пользователя (галочка «Сохранить пароль»), например, для того чтобы каждый раз при подключении не вводить его, то настоятельно рекомендуется придумать и указать здесь дополнительный пароль, это делается один раз.
Вводим и нажимаем «ОК».
Чтобы подключиться к только что установленному локальному серверу PostgreSQL в обозревателе серверов, щелкаем по пункту «PostgreSQL 12».
В итоге запустится окно «Connect to Server», в котором Вам нужно ввести пароль системного пользователя postgres, т.е. это тот пароль, который Вы придумали, когда устанавливали PostgreSQL. Вводим пароль, ставим галочку «Save Password», для того чтобы сохранить пароль и каждый раз не вводить его (благодаря функционалу «мастер-пароля», все сохраненные таким образом пароли будут дополнительно шифроваться).
Нажимаем «OK».
В результате Вы подключитесь к локальному серверу PostgreSQL и увидите все объекты, которые расположены на данном сервере.
Установка русского языка в pgAdmin 4
Как видите, по умолчанию интерфейс pgAdmin на английском языке, если Вас это не устраивает, Вы можете очень просто изменить язык на тот, который Вам нужен. pgAdmin 4 поддерживает много языков, в том числе и русский.
Для того чтобы изменить язык pgAdmin, необходимо зайти в меню «File -> Preferences».
Затем найти пункт «User Languages», и в соответствующем поле выбрать значение «Russian». Для сохранения настроек нажимаем «Save», после этого перезапускаем pgAdmin 4 или просто обновляем страницу в браузере.
В результате pgAdmin будет русифицирован.
Пример написания SQL запроса в Query Tool (Запросник)
Для того чтобы убедиться в том, что наш сервер PostgreSQL работает, давайте напишем простой запрос SELECT, который покажет нам версию сервера PostgreSQL.
Для написания SQL запросов в pgAdmin используется инструмент Query Tool или на русском «Запросник», его можно запустить с помощью иконки на панели или из меню «Инструменты».
После того как Вы откроете Query Tool, напишите следующую инструкцию
SELECT VERSION();
Этот запрос показывает версию PostgreSQL.
Площадка для изучения языка SQL на примере PostgreSQL у Вас готова, теперь Вы можете приступать к прохождению курса.
Можно ли установить PostgreSQL на Linux?
На какие версии Windows можно установить PostgreSQL?
На какие версии Windows можно установить pgAdmin 4?
Какие приложения, кроме pgAdmin 4, можно использовать для подключения к PostgreSQL и выполнения SQL запросов?
Дополнительные материалы для самостоятельного изучения
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 и перезапустить его.
На этом установка и первичная настройка закончена, для доступа к серверу наберите в браузере http://имя_или_ip_сервера/pgadmin4. Если все сделано правильно, то вы увидите страницу входа.
После авторизации вы попадете в привычную среду pgAdmin, можете подключать свои сервера и работать с базами данных. Инструмент поддерживает любые версии PostgreSQL и платформы установки (Windows, Linux и т.п.). В тестовых целях мы подключили сборку PostgreSQL 10 от 1С на платформе Linux и PostgreSQL 11 от Postgres Pro установленную на Windows Server.
Настраиваем 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-имя.
Затем откроем файл /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:
То, что мы получили предупреждение безопасности — это нормально, с точки зрения браузера наш сертификат выпущен непонятно кем и доверять ему нет никаких оснований, но мы то знаем что к чему, поэтому игнорируем это предупреждение и переходим к целевому узлу. Теперь мы можем проверить параметры подключения. Для этого воспользуемся инструментами разработчика:
Несмотря на ряд серьезных ошибок все достаточно неплохо. Первая ошибка сообщает нам, что имя сертификата не соответствует нашему узлу, что действительно так, сертификат мы выпустили для 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 %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Подключим необходимые модули:
a2enmod rewrite
И перезапустим веб-сервер:
systemctl reload apache2
После чего убедимся, что все запросы к нашему серверу автоматически перенаправляются на защищенную версию. Как видим, настроить pgAdmin 4 в режиме сервера достаточно несложно, получив удобный и безопасный инструмент для управления вашими базами данных.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
pgAdmin 4
pgAdmin 4 is a rewrite of the popular pgAdmin3 management tool for the
PostgreSQL (http://www.postgresql.org) database.
In the following documentation and examples, $PGADMIN4_SRC/ is used to denote
the top-level directory of a copy of the pgAdmin source tree, either from a
tarball or a git checkout.
Architecture
pgAdmin 4 is written as a web application in Python, using jQuery and Bootstrap
for the client side processing and UI. On the server side, Flask is being
utilised.
Although developed using web technologies, pgAdmin 4 can be deployed either on
a web server using a browser, or standalone on a workstation. The runtime/
subdirectory contains an NWjs based runtime application intended to allow this,
which will execute the Python server and display the UI.
Building the Runtime
To build the runtime, the following packages must be installed:
- NodeJS 12+
- Yarn
Change into the runtime directory, and run yarn install. This will install the
dependencies required.
In order to use the runtime in a development environment, you’ll need to copy
dev_config.json.in file to dev_config.json, and edit the paths to the Python
executable and pgAdmin.py file, otherwise the runtime will use the default
paths it would expect to find in the standard package for your platform.
You can then execute the runtime by running something like:
node_modules/nw/nwjs/nw .
or on macOS:
node_modules/nw/nwjs/nwjs.app/Contents/MacOS/nwjs .
Configuring the Python Environment
In order to run the Python code, a suitable runtime environment is required.
Python version 3.6 and later are currently supported. It is recommended that a
Python Virtual Environment is setup for this purpose, rather than using the
system Python environment. On Linux and Mac systems, the process is fairly
simple — adapt as required for your distribution:
-
Create a virtual environment in an appropriate directory. The last argument is
the name of the environment; that can be changed as desired: -
Now activate the virtual environment:
$ source venv/bin/activate
-
Some of the components used by pgAdmin require a very recent version of pip,
so update that to the latest:$ pip install --upgrade pip
-
Ensure that a PostgreSQL installation’s bin/ directory is in the path (so
pg_config can be found for building psycopg2), and install the required
packages:(venv) $ PATH=$PATH:/usr/local/pgsql/bin pip install -r $PGADMIN4_SRC/requirements.txt
If you are planning to run the regression tests, you also need to install
additional requirements from web/regression/requirements.txt:(venv) $ pip install -r $PGADMIN4_SRC/web/regression/requirements.txt
-
Create a local configuration file for pgAdmin. Edit
$PGADMIN4_SRC/web/config_local.py and add any desired configuration options
(use the config.py file as a reference — any settings duplicated in
config_local.py will override those in config.py). A typical development
configuration may look like:from config import * # Debug mode DEBUG = True # App mode SERVER_MODE = True # Enable the test module MODULE_BLACKLIST.remove('test') # Log CONSOLE_LOG_LEVEL = DEBUG FILE_LOG_LEVEL = DEBUG DEFAULT_SERVER = '127.0.0.1' UPGRADE_CHECK_ENABLED = True # Use a different config DB for each server mode. if SERVER_MODE == False: SQLITE_PATH = os.path.join( DATA_DIR, 'pgadmin4-desktop.db' ) else: SQLITE_PATH = os.path.join( DATA_DIR, 'pgadmin4-server.db' )
This configuration allows easy switching between server and desktop modes
for testing. -
The initial setup of the configuration database is interactive in server
mode, and non-interactive in desktop mode. You can run it either by
running:(venv) $ python3 $PGADMIN4_SRC/web/setup.py
or by starting pgAdmin 4:
(venv) $ python3 $PGADMIN4_SRC/web/pgAdmin4.py
Whilst it is possible to automatically run setup in desktop mode by running
the runtime, that will not work in server mode as the runtime doesn’t allow
command line interaction with the setup program.
At this point you will be able to run pgAdmin 4 from the command line in either
server or desktop mode, and access it from a web browser using the URL shown in
the terminal once pgAdmin has started up.
Setup of an environment on Windows is somewhat more complicated unfortunately,
please see pkg/win32/README.txt for complete details.
Building the Web Assets
pgAdmin is dependent on a number of third party Javascript libraries. These,
along with it’s own Javascript code, SCSS/CSS code and images must be
compiled into a «bundle» which is transferred to the browser for execution
and rendering. This is far more efficient than simply requesting each
asset as it’s needed by the client.
To create the bundle, you will need the ‘yarn’ package management tool to be
installed. Then, you can run the following commands on a *nix system to
download the required packages and build the bundle:
(venv) $ cd $PGADMIN4_SRC (venv) $ make install-node (venv) $ make bundle
On Windows systems (where «make» is not available), the following commands
can be used:
C:> cd $PGADMIN4_SRCweb
C:$PGADMIN4_SRCweb> yarn install
C:$PGADMIN4_SRCweb> yarn run bundle
Creating pgAdmin themes
To create a pgAdmin theme, you need to create a directory under
web/pgadmin/static/scss/resources.
Copy the sample file _theme.variables.scss.sample to the new directory and
rename it to _theme.variables.scss. Change the desired hexadecimal values of
the colors and bundle pgAdmin. You can also add a preview image in the theme
directory with the name as <dir name>_preview.png. It is recommended that the
preview image should not be larger in size as it may take time to load on slow
networks. Run the yarn run bundle and you’re good to go. No other changes are
required, pgAdmin bundle will read the directory and create other required
entries to make them available in preferences.
The name of the theme is derived from the directory name. Underscores (_) and
hyphens (-) will be replaced with spaces and the result will be camel cased.
Building the documentation
In order to build the docs, an additional Python package is required in the
virtual environment. This can be installed with the pip package manager:
$ source venv/bin/activate
(venv) $ pip install Sphinx
(venv) $ pip install sphinxcontrib-youtube
The docs can then be built using the Makefile in $PGADMIN4_SRC, e.g.
The output can be found in $PGADMIN4_SRC/docs/en_US/_build/html/index.html
Building packages
Most packages can be built using the Makefile in $PGADMIN4_SRC, provided all
the setup and configuration above has been completed.
To build a source tarball:
To build a PIP Wheel, activate either a Python 3 virtual environment, configured
with all the required packages, and then run:
To build the macOS AppBundle, please see pkg/mac/README.
To build the Windows installer, please see pkg/win32/README.txt.
Create Database Migrations
In order to make changes to the SQLite DB, navigate to the ‘web’ directory:
(venv) $ cd $PGADMIN4_SRC/web
Create a migration file with the following command:
(venv) $ FLASK_APP=pgAdmin4.py flask db revision
This will create a file in: $PGADMIN4_SRC/web/migrations/versions/ .
Add any changes to the ‘upgrade’ function.
Increment the SCHEMA_VERSION in $PGADMIN4_SRC/web/pgadmin/model/init.py file.
There is no need to increment the SETTINGS_SCHEMA_VERSION.
Support
See https://www.pgadmin.org/support/ for support options.
Security Issues
If you would like to report a security issue with pgAdmin, please email
security (at) pgadmin (dot) org.
Note that this address should only be used for reporting security issues
that you believe you’ve found in the design or code of pgAdmin, pgAgent,
and the pgAdmin website. It should not be used to ask security questions.
Project info
A GitHub project for pgAdmin 4 can be found at the address below:
https://github.com/pgadmin-org/pgadmin4
Please submit any changes as Pull Requests against the master branch of the
pgadmin-org/pgadmin4 repository.
If you wish to discuss pgAdmin 4, or contribute to the project, please use the
pgAdmin Hackers mailing list:
pgadmin-hackers@postgresql.org
Collectives™ on Stack Overflow
Find centralized, trusted content and collaborate around the technologies you use most.
Learn more about Collectives
Asked
5 years, 10 months ago
Viewed
3k times
I download postgresql-9.6.2-3-windows-x64.exe and installed it without any warning in Windows Server 2008 R2 Standard.
But PGADMIN 4 shows a dark screen only.
I tried several approaches unsuccessfuly.
- postgresql
- pgadmin-4
asked Mar 15, 2017 at 11:23
7
-
pgadmin4 is python based. Are you python libraries fully upto date ?
Mar 15, 2017 at 13:05
-
Response from pgadmin-support mail group: Please try one of the Mac/Windows test builds at developer.pgadmin.org/~dpage. I would strongly advise doing a complete uninstall before installing, to ensure no old, unused files are left behind.
Apr 5, 2017 at 5:50
-
@Mokadillion, I have been installed only the executable file, nothing more. I dont know if the entire library is up to date because, in fact, I dont have enough skills to verify it.
– user911810
Apr 7, 2017 at 9:20
-
@n33rma, pgadmin4-1.4-x86.exe version from that site works fine.
– user911810
Apr 10, 2017 at 17:14
- The Overflow Blog
- Featured on Meta
Related
Hot Network Questions
-
Hamiltonian and eigenstates of rotating cube
-
Don’t repeat yourself
-
What are the drawbacks of «lightweight crypto»?
-
Does the creative commons CC BY-SA license make it mandatory to share derived work
-
How to make this table nicer
-
Is there something special about «corpus»?
-
Help me sell old donuts
-
Number of ways of distributing 4 apples and 6 mangoes to 8 children so that each child receives at least one fruit
-
Is there a way to estimate the transaction size?
-
How do I solve the following definite integral (preferably by an asymptotic method)?
-
How to stop a player from looking up monster stat blocks in combat?
-
How is modulation to the dominant achieved?
-
How would you write mathematically that a random variable follows some unknown distribution?
-
Can SSD performance degrade when one partition is low on space but, as a whole, SSD has ample free space
-
Output a random value from the last 16 values outputted
-
Should we acknowledge manufacturers who provided free samples in a publication?
-
Do stainless steel sauce pots wear out and how can I tell if it needs replacement?
-
Is there a canonical name for a polynomial-like expression allowing for negative powers?
-
How do we know we’re not getting bigger?
-
Meshing an irregular domain using quads to solve conjugate heat transfer problem
-
What are examples of problems we know how to solve for primes (or prime powers), but not for composites?
-
Why does Ontario have a quota on milk production?
-
Comment qualifier le « (offset) cube (displaced a metre from the main vertical axis ) » d’un immeuble ?
-
Creating contours within an upper limited boundary
more hot questions
Question feed
Your privacy
By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.
Приветствую всех посетителей сайта Info-Comp.ru! Сегодня мы рассмотрим процесс установки pgAdmin 4 на операционную систему Windows 10, а также настроим подключение к удаленному серверу PostgreSQL.
pgAdmin 4 – бесплатная программа с графическим интерфейсом для разработки баз данных PostgreSQL.
Бесплатная, открытый исходный код
Можно использовать в Linux, macOS и Windows
Написание SQL запросов и выгрузка данных
Разработка функций, представлений и других объектов БД
Содержание
- Установка pgAdmin 4 на Windows 10
- Шаг 1 – Скачивание дистрибутива программы pgAdmin 4
- Шаг 2 – Запуск программ установки pgAdmin 4
- Шаг 3 – Принятие условий лицензионного соглашения
- Шаг 4 – Выбор каталога для установки pgAdmin 4
- Шаг 5 – Настройка ярлыка pgAdmin 4
- Шаг 6 – Запуск установки pgAdmin 4
- Шаг 7 – Завершение установки pgAdmin 4
- Запуск pgAdmin 4 в Windows 10
- Настройка русского языка в pgAdmin 4
- Настройка подключения к PostgreSQL
- Написание SQL запросов в Query Tool (Запросник)
- Видео-инструкция – Установка pgAdmin 4 на Windows 10 и настройка подключения к PostgreSQL
Если PostgreSQL устанавливается на Windows, то в процессе этой установки можно сразу же установить и pgAdmin 4, однако если предполагается, что PostgreSQL будет работать на отдельном сервере, а подключаться к нему мы будем удаленно с клиентского компьютера, например, PostgreSQL мы установили на сервер Linux, то на клиентском компьютере, с которого мы будем подключаться и работать с PostgreSQL, необходимо установить pgAdmin 4, не устанавливая при этом сам сервер PostgreSQL, так как он там просто не нужен. Именно эта ситуация и будет рассмотрена в данной статье, т.е. мы установим только pgAdmin 4, не устанавливая PostgreSQL.
Сейчас мы рассмотрим все шаги, которые необходимо выполнить, чтобы установить pgAdmin 4 на Windows 10.
Заметка! Установка и настройка PostgreSQL на Windows 10.
Шаг 1 – Скачивание дистрибутива программы pgAdmin 4
Первое, что нам нужно сделать – это скачать дистрибутив данной программы.
Для этого переходим на официальный сайт в раздел «Download».
Страница загрузки pgAdmin 4 – https://www.pgadmin.org/download/
Затем выбираем операционную систему, на которую мы будет устанавливать pgAdmin 4, в нашем случае «Windows», далее выбираем версию pgAdmin 4, актуальная версия располагается сверху.
Щелкаем по соответствующей ссылке, в результате нас перенесет на сайт PostgreSQL, так как pgAdmin – это официальный инструмент для работы с PostgreSQL, здесь нам нужно выбрать тип (т.е. разрядность) нашей операционной системы, кликаем по соответствующей ссылке.
В итоге должен загрузиться исполняемый файл (в моем случае pgadmin4-4.28-x64.exe) размером чуть более 100 мегабайт.
Заметка! Установка и настройка PostgreSQL на Linux Ubuntu Server.
Шаг 2 – Запуск программ установки pgAdmin 4
Запускаем скаченный файл.
В окне приветствия нажимаем «Next».
Шаг 3 – Принятие условий лицензионного соглашения
Далее, принимаем условия лицензионного соглашения, для этого отмечаем пункт «I accept the agreement» и нажимаем «Next».
Шаг 4 – Выбор каталога для установки pgAdmin 4
Потом мы можем указать путь к каталогу, в который будет установлена программа, однако можно оставить и по умолчанию, нажимаем «Next».
Заметка! Установка и настройка PostgreSQL на Debian 10.
Шаг 5 – Настройка ярлыка pgAdmin 4
В данном окне в случае необходимости можно настроить ярлык для запуска pgAdmin 4.
Нажимаем «Next».
Шаг 6 – Запуск установки pgAdmin 4
Все готово для установки, нажимаем «Install».
Установка началась, она продлится буквально пару минут.
Шаг 7 – Завершение установки pgAdmin 4
Установка будет завершена, когда появится следующее окно, жмем «Finish» (если галочка «Launch pgAdmin 4» будет стоять, то после нажатия на кнопку «Finish» запустится программа pgAdmin 4).
Заметка! ТОП 5 популярных систем управления базами данных (СУБД).
Запуск pgAdmin 4 в Windows 10
Для запуска pgAdmin 4 можно использовать ярлык в меню «Пуск».
pgAdmin 4 имеет веб интерфейс, поэтому после запуска у Вас должен запуститься браузер, а в нем открыться приложение pgAdmin 4.
При первом запуске pgAdmin 4 появится окно «Set Master Password», в котором мы должны задать «мастер-пароль», это нужно для дополнительного шифрования паролей, которые мы будем сохранять, например, для того чтобы каждый раз при подключении к серверу PostgreSQL не вводить пароль пользователя (галочка «Сохранить пароль»).
Вводим и нажимаем «ОК».
После этого отобразится интерфейс pgAdmin 4.
Заметка! Как создать таблицу в PostgreSQL с помощью pgAdmin 4.
Настройка русского языка в pgAdmin 4
По умолчанию интерфейс pgAdmin 4 на английском языке, если Вас это не устраивает, Вы можете очень просто изменить язык на тот, который Вам нужен. pgAdmin 4 поддерживает много языков, в том числе и русский.
Для того чтобы изменить язык pgAdmin 4, необходимо зайти в меню «File -> Preferences».
Затем найти пункт «User Languages», и в соответствующем поле выбрать значение «Russian». Для сохранения настроек нажимаем «Save», после этого перезапускаем pgAdmin 4 или просто обновляем страницу в браузере.
В результате pgAdmin 4 будет русифицирован.
Заметка! Как перенести базу данных PostgreSQL на другой сервер с помощью pgAdmin 4.
Настройка подключения к PostgreSQL
Чтобы подключиться к серверу PostgreSQL в обозревателе серверов, щелкаем по пункту «Servers» правой кнопкой мыши и выбираем «Создать -> Сервер».
В итоге запустится окно «Создание сервера», в котором на вкладке «Общие» нам нужно ввести название сервера (это название придумываете Вы сами, оно будет отображаться в обозревателе).
А на вкладке «Соединение» указать IP адрес сервера и данные пользователя, под которым мы подключимся к серверу. В моем случае указан системный пользователь postgres.
Ставим галочку «Сохранить пароль», для того чтобы сохранить пароль и каждый раз не вводить его (благодаря функционалу «мастер-пароля» все сохраненные таким образом пароли будут дополнительно шифроваться).
Нажимаем «Сохранить».
В результате мы подключимся к серверу PostgreSQL, в обозревателе будут отображены все объекты, которые расположены на данном сервере.
Заметка! Как создать составной тип данных с помощью pgAdmin 4 в PostgreSQL.
Чтобы убедиться в том, что все работает, давайте напишем простой запрос SELECT, который покажет нам версию сервера PostgreSQL.
Для написания SQL запросов в pgAdmin 4 используется инструмент Query Tool или на русском «Запросник», его можно запустить с помощью иконки на панели или из меню «Инструменты», предварительно выбрав базу данных.
Именно здесь и пишутся все SQL запросы и инструкции.
Чтобы узнать версию PostgreSQL, вводим следующий SQL запрос.
SELECT VERSION();
Для выполнения запроса нажимаем на кнопку «Выполнить» (Execute).
В результате сервер покажет нам версию PostgreSQL.
Заметка! Если Вас интересует язык SQL, то рекомендую почитать книгу «SQL код» – это самоучитель по языку SQL для начинающих программистов. В ней очень подробно рассмотрены основные конструкции языка.
Видео-инструкция – Установка pgAdmin 4 на Windows 10 и настройка подключения к PostgreSQL
На сегодня это все, надеюсь, материал был Вам полезен и интересен, пока!
Mac
Posted on Jan 3, 2021
• Originally published at mcartoixa.me on Jan 3, 2021
I just set out to create a PostgreSQL database server in my home lab, that I intend to use first with Home Assistant. And just because this is my home lab, it is hosted in a Windows Server 2019 VM in Hyper-V. 😁 I then foolishly installed pgAdmin 4 on my computer with the intention to remotely manage this new server… I remember pgAdmin III as such a slick application with an installer weighing less than 15MB. 4 years later the pgAdmin 4 installer is 10 times bigger , a Flask application that runs in the browser (these are the times we live in 🤷🏻♂️) once the server has started, which can take a while.
So I decided that this (otherwise fine) piece of bloatware belonged on a web server and not on my computer. This is not very difficult once you have got the recipe (and some experience on Windows of course).
Ingredients
The ingredients are:
- a Windows Server machine. I used Windows Server 2019, but I am pretty sure the same applies to every version at least back to Windows Server 2008. Or Windows 8, for that matter.
- an instance of IIS. This can be installed as a role inside Windows Server (or as as feature in Windows 10).
- HttpPlatformHandler which is a IIS Module that can be used to manage any process on the server (we will be using Python in this case) and act as a reverse proxy.
-
pgAdmin 4:
- it can be installed anywhere, but
%ProgramFiles%
is usually where programs go.
- it can be installed anywhere, but
Recipe
- Create an application pool
- Create a website
- Open the firewall
- Configure the website
- Grant rights
- Start the website
Create an application pool
As a best practice you will need a new Application Pool in IIS: this will allow us to isolate the application in a dedicated worker process with a dedicated identity. I named my pool PgAdmin:
Create a website
Then we need a new website:
- select the Application Pool that we just created.
- create a new folder under
C:inetpub
calledpgadmin
. - configure your bindings as you wish: I configured my application to be accessible on port 3000. You will be able to change this later if necessary.
- do not start the website right away (there is still work to do).
Open the firewall
Make sure your application is accessible by opening the Windows Firewall if necessary (on TCP port 3000 in my case).
Configure the website
Configure the website by adding the following configuration (cf. Configure Python web apps for IIS) in a file called web.config
inside the pgadmin
folder that you just created (you can use Notepad):
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="PythonHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified"/>
</handlers>
<httpPlatform
processPath="%ProgramFiles%pgAdmin 4v4runtimepython.exe"
arguments=""%ProgramFiles%pgAdmin 4v4webpgAdmin4.py""
stdoutLogEnabled="true"
stdoutLogFile="C:inetpublogspgadminpgAdmin4.log"
startupTimeLimit="60"
processesPerApplication="1">
<environmentVariables>
<environmentVariable name="PGADMIN_INT_PORT" value="%HTTP_PLATFORM_PORT%" />
<environmentVariable name="PYTHONHOME" value="%ProgramFiles%pgAdmin 4v4venv" />
<environmentVariable name="SERVER_MODE" value="True" />
</environmentVariables>
</httpPlatform>
<modules>
<remove name="WebDAVModule" />
</modules>
</system.webServer>
</configuration>
Enter fullscreen mode
Exit fullscreen mode
It is pretty straightforward but notably:
- the arguments attribute is quoted to account for the fact that the path contains spaces.
- the process outputs logs inside a folder called
C:inetpublogspgadmin
that would have to be created beforehand. - pgAdmin notoriously handles a single process only.
-
HttpPlatformHandler will automatically create a process using Python and assign it a dedicated port using the
HTTP_PLATFORM_PORT
environment variable.
Grant rights
And now we simply have to give the proper rights to our application pool user named IIS APPPOOLPgAdmin
:
-
Read & Execute on the folder
%ProgramFiles%pgAdmin 4
(and subfolders). -
Read & Execute on the folder
C:inetpubpgadmin
.- Create a subfolder called
pgAdmin
and give Full Control to the user. This where the application will store its data.
- Create a subfolder called
-
Full Control on the logging folder (
C:inetpublogspgadmin
in my case).
Start the website
Now you can start the website. Enjoy!
Note that the application will recycle automatically every 29 hours by default, which means that the next request will take much longer while the process is restarted. Not such a bad thing by itself, but obviously this behaviour can be changed.
Also note that the logging folder should be cleaned up from time to time…
UPDATE 2021-05-29: the website configuration has been udpated for version 5 of pgAdmin… 4! Here is the configuration for version 4:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="PythonHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified"/>
</handlers>
<httpPlatform
processPath="%ProgramFiles%pgAdmin 4v4runtimepython.exe"
arguments=""%ProgramFiles%pgAdmin 4v4webpgAdmin4.py""
stdoutLogEnabled="true"
stdoutLogFile="C:inetpublogspgadminpgAdmin4.log"
startupTimeLimit="60"
processesPerApplication="1">
<environmentVariables>
<environmentVariable name="PGADMIN_INT_PORT" value="%HTTP_PLATFORM_PORT%" />
<environmentVariable name="PYTHONHOME" value="%ProgramFiles%pgAdmin 4v4venv" />
<environmentVariable name="SERVER_MODE" value="True" />
</environmentVariables>
</httpPlatform>
<modules>
<remove name="WebDAVModule" />
</modules>
</system.webServer>
</configuration>
Enter fullscreen mode
Exit fullscreen mode
Top Heroku Alternatives (For Free!)
Recently Heroku shut down free Heroku Dynos, free Heroku Postgres, and free Heroku Data for Redis on November 28th, 2022. So Meshv Patel put together some free alternatives in this classic DEV post.
26 декабря, 2018 12:12 пп
19 548 views
| 1 комментарий
Python, Ubuntu
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 на ваш сервер.
wget https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v3.4/pip/pgadmin4-3.4-py2.py3-none-any.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, который будет читаться после основного.
Создайте новый файл:
nano 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, чтобы создать учетные данные для входа:
python my_env/lib/python3.6/site-packages/pgadmin4/setup.py
После выполнения этой команды вы увидите запрос на ввод адреса электронной почты и пароля. Они будут использоваться в качестве ваших учетных данных при последующем доступе к pgAdmin, поэтому обязательно запомните или запишите то, что вы вводите здесь:
. . .
Enter the email address and password to use for the initial pgAdmin user account:
Email address: 8host@example.com
Password:
Retype password:
После этого отключите виртуальную среду:
deactivate
Напомним пути к файлам, которые вы указали в файле 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
Веб-сервер Apache использует виртуальные хосты для разделения деталей конфигурации и размещения нескольких доменов на одном сервере. Если вы следовали мануалу по Apache (упоминался в Требованиях), вы, вероятно, настроили виртуальный хост example.com.conf, но на этом этапе мы создадим новый хост, который будет обслуживать веб-интерфейс pgAdmin.
Перейдите в корневой каталог:
cd /
Затем создайте новый файл в каталоге /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 %{GLOBAL}
Require all granted
</Directory>
</VirtualHost>
Сохраните и закройте файл. Затем с помощью скрипта a2dissite отключите стандартный виртуальный хост, 000-default.conf:
sudo a2dissite 000-default.conf
Примечание: Если вы следовали мануалу по Apache, возможно, вы уже отключили 000-default.conf и настроили свой файл виртуального хоста (там он назывался example.com.conf). В этом случае вам необходимо отключить файл виртуального хоста example.com.conf с помощью следующей команды:
sudo a2dissite example.com.conf
Затем используйте скрипт a2ensite, чтобы включить виртуальный хост pgadmin4.conf. Это создаст символическую ссылку из виртуального хоста в каталоге /sites-available/ на каталог /sites-enabled/.
sudo a2ensite pgadmin4.conf
Теперь проверьте синтаксис конфигурации:
apachectl configtest
Если ваш файл конфигурации в порядке, вы увидите Syntax ОК. Если вывод сообщает об ошибке, откройте файл pgadmin4.conf и проверьте правильность вашего IP-адреса и пути к файлам, затем повторите configtest.
Когда в выводе будет Syntax ОК, перезапустите сервис Apache, чтобы он прочитал новый файл виртуального хоста:
sudo systemctl restart apache2
Теперь pgAdmin установлен и полностью настроен. Далее мы рассмотрим, как получить доступ к pgAdmin из браузера, прежде чем подключать его к базе данных PostgreSQL.
4: Доступ к pgAdmin
На локальном компьютере откройте веб-браузер и перейдите по IP-адресу вашего сервера:
http://your_server_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:
q
Вернитесь к интерфейсу pgAdmin 4 в вашем браузере и найдите меню Browser с левой стороны. Щелкните правой кнопкой мыши на Servers, чтобы открыть контекстное меню, наведите курсор мыши на Create и выберите Server….
После этого в вашем браузере появится окно, в которое вы введете информацию о сервере, роли и базе данных.
Во вкладке General введите имя этого сервера. Это может быть любое имя, но лучше выбрать что-то описательное. В данном примере сервер называется 8host-server-1.
Далее откройте вкладку Connection. В поле Host name/address введите localhost. В поле по умолчанию Port должен быть установлен номер 5432, что подходит для этой настройки (это порт по умолчанию для PostgreSQL).
В поле Maintenance database введите имя базы данных, к которой вы хотите подключиться. Обратите внимание, что эта база данных уже должна быть создана на вашем сервере. Затем введите имя пользователя и пароль PostgreSQL, которые вы выбрали ранее, в поля Username и Password соответственно.
Пустые поля в других вкладках являются необязательными, и их необходимо заполнять только в том случае, если у вас есть особые настройки. Нажмите кнопку Save, и база данных появится в разделе Servers в меню Browser.
Вы успешно подключили 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 в нашем Информатории.
Tags: pgAdmin, pgAdmin 4, PostgreSQL, Ubuntu 18.04