Установка PostgreSQL-9.6 и pgAdmin на Ubuntu 16.4

На данный момент из официальных репозиториев есть возможность установить postgresql-9.4 и pgadmin3. Но нам нужна актуальная стабильная версию postgresql-9.6 и pgadmin4 для нее.

Перед установкой нужно проверить настройки локализации:
$ locale
Для корректного хранения данных на русском языке LC_CTYPE и LC_COLLATE должны иметь значения ru_RU.UTF8
При необходимости их можно установить:
$ export LC_CTYPE=ru_RU.UTF8
$ export LC_COLLATE=ru_RU.UTF8
Проверяем наличие локали ru_RU.utf8
$ locale -a | grep ru_RU
Если нет то добавляем:
$ sudo locale-gen ru_RU.utf8

Добавляем репозиторий postgresql.org
В файл /etc/apt/sources.list или /etc/apt/sources.list.d/pgdg.list добавляем новую строчку:
deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main
Загружаем и добавляем ключ:
$ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | \sudo apt-key add -sudo apt-get update

Устанавливаем postgresql-9.6:
$ sudo apt-get install postgresql-9.6

Будет создан пользователь postgres, под именем которого работают процессы postgresql.
Postgresql будет автоматически загружаться при старте системы, этим можно управлять через systemd или в файле /etc/postgresql/9.6/main/start.conf
Управлять работой сервиса возможно через systemctl: 
$ systemctl stop  postgresql
$ systemctl status postgresql

Ошибки при запуске будут записаны в  /var/log/postgresql/postgresql-9.6-main.log 
Теперь можно подключится через psql и пользователя postgres:
$ sudo -u postgres psql


Теперь установим pgAdmin4

Несколько пакетов которые будет необходимы для установки:
$ sudo apt-get install python2.7-dev python-virtualenv python-pip libpq-dev

Мне нравится идея устанавливать в /opt, но если права выставлены для пользователя и группы root, то возникали проблемы при установки. Можно устанавливать в домашней директории пользователя или сменить группу у opt например на users и добавить в нее пользователя.
Создаем папку и виртуальное окружение:
$ mkdir /opt/pgadmin4
$ cd /opt/pgadmin4
$ virtualenv env -ppython2.7

Копируем ссылку нужной версии, на данный момент это 1.5
$ wget https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v1.5/pip/pgadmin4-1.5-py2.py3-none-any.whl
$ source env/bin/activate
$ pip install pgadmin4-1.5-py2.py3-none-any.whl

Дальше локальную конфигурацию:
$ cp env/lib/python2.7/site-packages/pgadmin4/config.py env/lib/python2.7/site-packages/pgadmin4/config_local.py
И запускаем:
$ source /opt/pgadmin4/env/bin/activate
$ python /opt/pgadmin4/env/local/lib/python2.7/site-packages/pgadmin4/pgAdmin4.py

Заходим http://localhost:5050

Для удобства создаем скрипт:
$ cd /opt/pgadmin4
$ touch pgAdmin.sh
$ chmod +x pgAdmin.sh
$ nano pgAdmin4.sh

#!/bin/bash
source /opt/pgadmin4/env/bin/activate
python /opt/pgadmin4/env/local/lib/python2.7/site-packages/pgadmin4/pgAdmin4.py & sleep 5; chromium-browser http://127.0.0.1:5050


Если все сделано верно, то запустится браузер и загрузится pgAdmin4.

Комментарии

Популярные сообщения из этого блога

Асинхронное выполнение процедур или триггера в MS SQL Server

Рекурсивные SQL запросы

Кратко про SQLAlchemy Core