Установка и настройка PostgreSQL 10 на Linux Ubuntu Server. Postgresql установка linux


Установка и настройка PostgreSQL 10 на Linux Ubuntu Server | Info-Comp.ru

Привет! Материал сегодня будет посвящен рассмотрению процесса установки СУБД PostgreSQL 10 на серверную операционную систему Linux Ubuntu Server, а также первоначальной настройки PostgreSQL 10, для того чтобы можно было ее использовать, например, в сети своей организации.

Другими словами, сейчас мы с Вами реализуем сервер баз данных на базе Linux Ubuntu Server и PostgreSQL 10, который будет иметь базовую настройку. Если Вас интересует реализация подобного сервера только на базе операционной системы CentOS 7.1, то можете ознакомиться с материалом «Установка PostgreSQL 9.4 на CentOS 7.1», в нем мы как раз рассматривали данный процесс.

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

Что нового в PostgreSQL 10?

Начиная с PostgreSQL 10, меняется схема нумерации версий, это вызвано тем, что раньше выходило множество минорных версий (например, 9.x), многие из которых на самом деле вносили значительные изменения не соответствующие минорным, теперь мажорные версии будут нумероваться 10, 11, 12, а минорные 10.1, 10.2, 11.1 и так далее.

Основные нововведения:

  • Логическая репликация с использованием публикации и подписки - теперь возможно осуществлять репликацию отдельных таблиц на другие базы, это реализовывается с помощью команд CREATE PUBLICATION и CREATE SUBSCRIPTION;
  • Декларативное партиционирование таблиц – в PostgreSQL 10 добавился специальный синтаксис для партиционирования, который позволяет легко создавать и поддерживать таблицы с интервальной или списочной схемой партиционирования;
  • Улучшенный параллелизм запросов – другими словами, появилась дополнительная оптимизация запроса, для того чтобы пользователь получал данные быстрей;
  • Аутентификация пароля на основе SCRAM-SHA-256 – добавился новый метод аутентификации, который является более безопасным, чем метод с использованием MD5;
  • Quorum Commit для синхронной репликации – теперь администратор может указать что, если какое-либо количество реплик подтвердило, что внесено изменение в базу данных, данное изменение можно считать надёжно зафиксированным;
  • Значительные общие улучшения производительности;
  • Улучшенный мониторинг и контроль.

Более детально обо всех нововведениях можете почитать на официальном сайте – PostgreSQL 10.

Установка PostgreSQL 10 на Linux Ubuntu Server 16.04

Как Вы уже, наверное, поняли рассматривать процесс установки и соответственно настройки PostgreSQL 10 мы будем на примере версии Ubuntu Server 16.04, так как эта версия имеет долгосрочную поддержку и на текущий момент является актуальной среди LTS версий.

Шаг 1

Установку и настройку PostgreSQL необходимо осуществлять с правами суперпользователя, поэтому давайте сразу переключимся на пользователя root. Для этого вводим sudo -i (или sudo su) и жмем Enter.

Шаг 2

Затем первое что нам нужно сделать, это проверить есть ли в репозиториях версия PostgreSQL 10. Это можно сделать путем ввода следующей команды.

apt-cache search postgresql-10

Как видим, в Ubuntu Server 16.04 10 версии PostgreSQL нет, поэтому нам нужно подключить необходимый репозиторий, в котором присутствует PostgreSQL 10. Если у Вас более новая версия Ubuntu Server и в стандартных репозиториях есть 10 версия PostgreSQL, то дополнительный репозиторий Вам подключать не нужно, т.е. данный шаг Вы пропускаете.

Для подключения репозитория нам необходимо создать специальный файл с адресом нужного репозитория. Адреса для каждой версии Ubuntu разные, поэтому если у Вас версия Ubuntu не 16.04, то уточнить адрес Вы можете на официальном сайте PostgreSQL на странице загрузке – вот она.

После перехода на страницу выбираете версию Ubuntu, после чего у Вас отобразится адрес нужного репозитория.

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

sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'

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

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | \apt-key add -

Далее обновляем список пакетов.

apt-get update

И еще раз проверяем наличие пакета с PostgreSQL 10.

apt-cache search postgresql-10

Теперь нужный пакет у нас есть, и мы можем переходить к установке PostgreSQL 10.

Шаг 3

Для установки PostgreSQL 10 пишем следующую команду.

apt-get -y install postgresql-10

По окончанию процесса установки проверяем, запущен ли сервер PostgreSQL.

systemctl status postgresql

Как видим, PostgreSQL 10 установился и работает.

Базовая настройка PostgreSQL 10 в Linux Ubuntu Server

После установки нам необходимо выполнить базовую настройку PostgreSQL 10, например: создать пользователя, указать какие сетевые интерфейсы будет прослушивать сервер, а также разрешить подключение по сети. Начнем мы с создания пользователя и базы данных.

Создание пользователя и базы данных в PostgreSQL

После установки, к серверу PostgreSQL мы можем подключиться только с помощью системного пользователя postgres, причем без пароля. Для этого переключаемся на пользователя postgres (учетная запись в Ubuntu создана автоматически во время установки PostgreSQL).

su - postgres

Запускаем psql - это консоль управления PostgreSQL.

psql

Сначала зададим пароль для пользователя postgres.

\password postgres

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

create user testuser with password '123456';

где, testuser – это имя пользователя, '123456' – это его пароль.

Далее давайте создадим базу данных.

create database testdb;

где, testdb – это имя новой базы данных.

Теперь давайте дадим права на управление БД нашему новому пользователю.

grant all privileges on database testdb to testuser;

Все готово, выходим из консоли.

\q

Для проверки, давайте подключимся к PostgreSQL от имени нового пользователя, на предложение о вводе пароля вводим пароль от новой учетной записи.

psql -h localhost testdb testuser

Работает. Для выхода снова набираем \q.

\q

Для переключения обратно на root вводим exit.

exit

Разрешаем подключение к PostgreSQL по сети

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

Для этого открываем файл postgresql.conf, например редактором nano.

nano /etc/postgresql/10/main/postgresql.conf

Находим следующую строку.

#listen_addresses = 'localhost'

и заменяем на (вместо звездочки Вы в случае необходимости указываете IP адрес нужного интерфейса).

listen_addresses = '*'

Сохраняем изменения сочетанием клавиш CTRL+O и подтверждаем нажатием Enter, затем просто закрываем редактор nano сочетанием клавиш CTRL+X.

Теперь давайте разрешим подключение из сети 10.0.2.0/24 с методом аутентификации md5. Для этого открываем файл pg_hba.conf

nano /etc/postgresql/10/main/pg_hba.conf

Ищем вот такие строки.

И вносим следующие изменения (если IPv6 Вы не будете использовать, то можете закомментировать соответствующие строки знаком #).

Где, 10.0.2.0/24 адрес сети, из которой будет происходить подключение к текущему серверу PostgreSQL. Сохраняем изменения сочетанием клавиш CTRL+O, подтверждаем нажатием Enter и закрываем редактор nano сочетанием клавиш CTRL+X.

Перезапускаем PostgreSQL

systemctl restart postgresql

Все, установка и настройка PostgreSQL закончена, можете подключаться к серверу из сети клиентским приложением. Пока, надеюсь, материал был Вам полезен!

Похожие статьи:

info-comp.ru

Установка и первичная настройка PostgreSQL на Ubuntu 16.04 – Vscale Community

Введение

PostgreSQL (произносится как "Пост-Грес-Кью-Эл") — свободная современная СУБД с широкими возможностями. Её используют такие компании, как Alibaba, Instagram, Skype, Yahoo и многие другие. Это говорит о надёжности системы, и при этом она является простой в установке, использовании и обслуживании. Поверхностно ознакомиться с ней можно по статье в Википедии: https://ru.wikipedia.org/wiki/PostgreSQL

PostgreSQL является кроссплатформенной СУБД с открытым исходным кодом, поэтому её можно установить практически на любой сервер. Все конфигурации серверов и все операционные системы, предоставляемые vscale, позволяют использование PostgreSQL.

Рассмотрим установку и настройку на примере Ubuntu 16.04 64bit.

Технические требования

• Пользователь с sudo-правами• Ubuntu 16.04

Шаг 1. Выбор источника для установки

PostgreSQL является очень популярным сервером баз данных, поэтому присутствует в официальных репозиториях Ubuntu. Однако в PPA разработчиков PostgreSQL можно найти самую свежую версию. Например, на момент написания данной инструкции в репозитории Ubuntu имеется PostgreSQL 9.5, а из PPA можно установить 9.6. Если у вас нет потребности в самых последних возможностях данной СУБД, то текущий шаг можно пропустить. Иначе добавьте репозиторий PostgreSQL в системный список источников:

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'

и добавьте для него ключ

wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -

Это позволит при обновлении пакетов получать наиболее свежие версии.

Шаг 2. Установка PostgreSQL

Если система установлена недавно и вы пропустили предыдущий шаг, то данный шаг можно пропустить, так как в процессе установки системы производится обновление индекса пакетов. В противном случае выполните команду:

sudo apt-get update

Эта команда произведёт обновление индекса, что позволит устанавливать свежие и актуальные пакеты.

Установка PostgreSQL из официальных репозиториев и из PPA производится одинаково. Загрузим и установим пакеты PostgreSQL и contrib (contrib предоставляет некоторый дополнительный функционал и утилиты):

sudo apt-get install postgresql postgresql-contrib

Шаг 3. Подключение к серверу баз данных

Во время установки программы в системе автоматически была создана учётная запись администратора баз данных — postgres. На данном этапе доступ к системе баз данных можно получить только через неё. Вы можете либо переключиться в сессию учётной записи postgres и запустить там оболочку программы:

sudo su - postgrespsql

либо запустить оболочку от имени postgres без переключения сессии:

sudo -u postgres psql

Попав тем или иным способом в командную строку psql, вам необходимо знать, как из неё выйти. Это можно сделать с помощью ввода команды выхода:

\q

(сокращение от quit).

Шаг 4. Создание новой роли

Если вы производили установку по инструкции, то к этому моменту в вашей СУБД есть только одна роль — postgres. Рекомендуется не использовать данную роль для работы со своими базами данных, а создавать для каждой базы новую роль (или несколько при необходимости). Для создания новой роли предусмотрены два стандартных способа:

  1. интерактивный режим, в котором достаточно ответить на несколько простых вопросов;
  2. команда для создания роли через командную строку СУБД.

Мы не будем подробно останавливаться на интерактивном режиме, так как создать роль, которая полностью удовлетворяет требованиям в большинстве случаев, мы можем всего одной простой командой (перед этим нужно находиться в режиме командной строки как было описано на Шаге 3). Не забудьте заменить username на желаемое имя пользователя, а password — на пароль для этого пользователя:

create user username with password 'password';

Имя указывается без кавычек, а пароль — в одинарных кавычках.

Шаг 5. Создание базы данных

Находясь в режиме командной строки psql, создать базу данных мы можем командой create database и указав название базы данных. Например, чтобы воздать БД с именем vscale_db, выполните команду:

create database vscale_db;

Шаг 6. Назначение прав

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

grant all privileges on database vscale_db to username;

где vscale_db — название базы данных, выбранное на шаге 5, а username — имя пользователя, заданное на шаге 4.

Вся минимально требующаяся предварительная настройка завершена. Вы можете выйти из psql, введя "\q".

Шаг 7. Аутентификация и начало работы с базой данных

К текущему моменту у вас есть всё необходимое для начала работы с базой данных. Чтобы подключиться к ней, запустите psql с параметрами: хост "-h localhost" (так как подключаемся к локальной базе данных), название БД "vscale_db" и имя пользователя "username":

psql -h localhost vscale_db username

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

Заключение

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

sudo apt-get updatesudo apt-get install postgresql postgresql-contribsudo -u postgres psql

Создание пользователя, базы данн

community.vscale.io

PostgreSQL | Русскоязычная документация по Ubuntu

PostgreSQL

PostgreSQL - это объектно-реляционная система баз данных, которая обладает признаками традиционной коммерческой базы данных, с расширениями, которые будут доступны следующему поколению СУБД (систем управления базами данных).

Установка

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

sudo apt-get install postgresql

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

Настройка

По умолчанию соединения через TCP/IP заблокированы. PostgreSQL поддерживает множество методов аутентификации. Метод аутентификации IDENT используется для postgres и локальных пользователей пока не настроено что-то еще. Обратитесь к PostgreSQL Administrator's Guide, если вы собираетесь использовать какую-либо альтернативу типа Kerberos.

Дальнейшее обсуждение предполагает, что вы собираетесь разрешить соединения по TCP/IP и используете аутентификацию клиентов на основе метода MD5. Файлы настроек PostgreSQL хранятся в каталоге /etc/postgresql/<version>/main. Например, если вы установили PostgreSQL 8.4, файлы настроек сохранятся в каталоге /etc/postgresql/8.4/main.

Для настройки аутентификации ident добавьте записи в файл /etc/postgresql/8.4/main/pg_ident.conf. В файле содержатся подробные комментарии чтобы направлять вас.

Чтобы разрешить соединения по TCP/IP, отредактируйте файл /etc/postgresql/8.4/main/postgresql.conf. Найдите строку

#listen_addresses = 'localhost'

и замените ее на:

listen_addresses = 'localhost'

Чтобы разрешить другим компьютерам соединяться с вашим PostgreSQL сервером, замените 'localhost' на IP адрес вашего сервера или в качестве альтернативы на 0.0.0.0, чтобы подключить все интерфейсы.

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

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

sudo -u postgres psql template1

Эта команда подключится к PostgreSQL базе данных template1 как пользователь postgres. После подключения к серверу PostgreSQL вы окажетесь в SQL консоли. Вы можете выполнить следующую SQL команду в консоли psql для настройки пароля пользователя postgres:

ALTER USER postgres with encrypted password 'your_password';

После настройки пароля, измените файл /etc/postgresql/8.4/main/pg_hba.conf на использование MD5 аутентификации для пользователя postgres:

local all postgres md5

Под конец вам потребуется перезапустить сервис PostgreSQL для применения новых настроек. Из терминала выполните следующее для перезапуска PostgreSQL:

sudo /etc/init.d/postgresql-8.4 restart Настройка выше в любом случае неполная. Пожалуйста обратитесь к руководству PostgreSQL Administrator's Guide для настройки других параметров.

Ссылки

1. Как упоминалось выше, Administrator's Guide - великолепный ресурс. Руководство также доступно из пакета postgresql-doc-8.4. Выполните следующую команду в терминале для установки пакета:

sudo apt-get install postgresql-doc-8.4

Чтобы увидеть руководство, введите file:///usr/share/doc/postgresql-doc-8.4/html/index.html в адресную строку вашего браузера.

2. Для общей информации по SQL смотрите Using SQL Special Edition от Rafe Colburn.

3. Также смотрите страницу PostgreSQL Ubuntu Wiki для дополнительной информации.

4. How to Install Postgresql and phpPgAdmin on Ubuntu 15.04

help.ubuntu.ru

Postgres Pro Standard : Документация: 10: 16.1. Установка Postgres Pro Standard в Linux : Компания Postgres Professional

16.1. Установка Postgres Pro Standard в Linux

Для систем на базе Linux Postgres Pro Standard поставляется в виде двоичных пакетов. Все двоичные дистрибутивы Postgres Pro состоят из нескольких пакетов. Структура пакетов отличается от структуры ванильного PostgreSQL и поддерживает следующие режимы установки:

16.1.1. Поддерживаемые дистрибутивы Linux

Двоичные пакеты Postgres Pro предоставляются для следующих систем на базе Linux:

  • Системы Red Hat Enterprise Linux (RHEL) и производные от них: CentOS 6/7, Red Hat Enterprise Linux 6/7, Oracle Linux 6/7, Rosa Enterprise Linux Server 6, РОСА «КОБАЛЬТ» на платформе РОСА 6/7, Гослинукс 6, МСВСфера 6.3

  • Системы на базе Debian: Debian 8/9, Ubuntu 14.04/16.04/18.04, Astra Linux «Смоленск» 1.5

  • Альт Линукс 7.0/8, Альт Линукс СПТ 6.0/7.0

  • SUSE Linux Enterprise Server 11/12.1

Примечание

Двоичные пакеты Postgres Pro используют библиотеку tzdata, предоставляемую операционной системой, поэтому важно, чтобы в системе была установлена последняя её версия. В случае использования устаревшей библиотеки tzdata значения времени в вашей базе данных могут быть некорректными.

16.1.2. Быстрая установка и настройка

Если вам нужно установить только один экземпляр Postgres Pro и вы не собираетесь использовать никакие другие продукты на базе PostgreSQL в вашей системе, вы можете использовать режим быстрой установки. Типичная процедура установки в этом случае выглядит так:

  1. Подключите репозиторий пакетов, предназначенный для вашей операционной системы. Конкретные адреса репозиториев и команды для их подключения в поддерживаемых дистрибутивах Linux вы можете найти на Странице загрузки для соответствующей версии Postgres Pro.

  2. Установите пакет postgrespro-std-10. При этом по зависимостям установятся все требуемые компоненты, вместе с документацией, будет создана база данных по умолчанию, запущен сервер баз данных и настроен автозапуск сервера при загрузке системы, а все предоставляемые программы станут доступными в пути PATH. В режиме быстрой установки кластер баз данных инициализируется с включёнными контрольными суммами.

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

16.1.3. Расширенная установка

Разделение дистрибутива на несколько пакетов позволяет произвести инсталляцию по-разному для различных применений: для серверов баз данных, клиентских систем или рабочих станций разработчиков. Такие инсталляции необходимо настраивать вручную, но это даёт дополнительную гибкость при использовании продукта. Вы можете установить несколько версий Postgres Pro параллельно, а также вместе с другими продуктами PostgreSQL. В частности, это может потребоваться при осуществлении обновления или при миграции с другого продукта на базе PostgreSQL.

Для осуществления расширенной установки выполните следующие действия:

  1. Подключите репозиторий пакетов, предназначенный для вашей операционной системы. Конкретные адреса репозиториев и команды для их подключения в поддерживаемых дистрибутивах Linux вы можете найти на Странице загрузки для соответствующей версии Postgres Pro.

  2. Выберите пакеты Postgres Pro, требующиеся для ваших целей, и установите их с помощью стандартных для вашего дистрибутива Linux команд. Доступные пакеты перечислены в Таблице 16.1.

    В результате все файлы будут установлены в каталог /opt/pgpro/std-10.

  3. Запустите утилиту pg-wrapper, входящую в состав пакета postgrespro-std-10-client, чтобы добавить и клиентские, и серверные программы в путь поиска PATH, а также включить страницы man по SQL в файл конфигурации страниц man:

    pg-wrapper links update

    Подробнее о разрешении возможных конфликтов рассказывается в pg-wrapper.

  4. Если вы устанавливаете пакет postgrespro-std-10-server, выполните следующую процедуру настройки сервера:

    1. Создайте начальную базу данных, запустив вспомогательный скрипт pg-setup от имени root с ключом initdb:

      /opt/pgpro/std-10/bin/pg-setup initdb [параметры_initdb]

      Здесь initdb_options — обычные параметры программы initdb.

      Примечание

      pg-setup инициализирует кластер баз данных со включёнными контрольными суммами. Если для вас это нежелательно, не используйте pg-setup для инициализации кластера, а запустите непосредственно initdb.

      Скрипт pg-setup выполняет административные операции с базами данных от имени пользователя postgres. Если вы не укажете никакие параметры initdb, база по умолчанию создаётся в каталоге /var/lib/pgpro/std-10/data с параметрами локализации, определяемыми переменной окружения LANG текущего сеанса. Переменные окружения LC_* при этом игнорируются.

    2. Запустите сервер с помощью pg-setup, следующим образом:

      pg-setup service start

      Как и сервер ванильного PostgreSQL, сервер Postgres Pro работает под именем пользователя postgres.

      Примечание

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

16.1.3.1. Выбор устанавливаемых пакетов

В следующей таблице перечислены все имеющиеся пакеты Postgres Pro.

Таблица 16.1. Пакеты Postgres Pro

Пакет

Описание

postgrespro-std-10

Пакет верхнего уровня, устанавливающий и настраивающий Postgres Pro для серверных и клиентских систем. Не используйте этот пакет при обновлении или миграции.

postgrespro-std-10-client

Стандартные клиентские приложения, такие как psql и pg_dump.

postgrespro-std-10-libs

Общие библиотеки, требующиеся для развёртывания клиентских приложений, включая libpq; библиотеки времени выполнения для обработчика ECPG.

postgrespro-std-10-server

Сервер Postgres Pro и серверный язык программирования PL/pgSQL.

postgrespro-std-10-contrib

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

postgrespro-std-10-pgprobackup

Утилита pg_probackup.

postgrespro-std-10-devel

Заголовочные файлы и библиотеки для разработки клиентских приложений и серверных расширений.

В системах на базе Debian этот пакет называется postgrespro-std-10-dev.

postgrespro-std-10-plperl

Реализация языка Perl для программирования на стороне сервера.

postgrespro-std-10-plpython

Реализация языка Python для программирования на стороне сервера.

postgrespro-std-10-plpython3

Реализация языка Python 3 для программирования на стороне сервера.

Этот пакет представлен только для систем на базе Debian.

postgrespro-std-10-pltcl

Реализация языка Tcl для программирования на стороне сервера.

postgrespro-std-10-docs

Документация на английском языке.

postgrespro-std-10-docs-ru

Документация на русском языке.

postgrespro-std-10-test

Тестовые скрипты для сервера.

Этот пакет представлен только для систем на базе RHEL и SUSE.

Кроме этого, имеются отдельные пакеты с несколькими дополнительными модулями, собранные специально для совместимости с Postgres Pro:

Пакет

Описание

libzstd

Библиотека для быстрого сжатия данных без потерь.

mamonsu

Агент мониторинга для сбора метрик Postgres Pro и операционной системы.

pg-repack-std-10

Расширение Postgres Pro и утилита для реорганизации таблиц. Этот пакет представлен только для систем на базе Debian.

pg_repack-std-10

Расширение Postgres Pro и утилита для реорганизации таблиц. Этот пакет представлен только для систем на базе RHEL, CentOS, ALT Linux и SUSE.

pgbadger

Анализатор журналов Postgres Pro, генерирующий подробные отчёты и графики.

pgbouncer

Пул соединений для Postgres Pro.

zstd

Утилиты командной строки для библиотеки libzstd.

Кроме того, Postgres Pro предоставляет отдельные пакеты с отладочной информацией для некоторых операционных систем:

  • В системах на базе Debian это пакет postgrespro-std-10-dbg.

  • В системах на базе RHEL это пакет postgrespro-std-10-debuginfo.

  • В Альт Линукс для всех пакетов с двоичными файлами имеются соответствующие пакеты -debuginfo.

Для серверных инсталляций требуются как минимум следующие пакеты:

Для использования дополнительных расширений Postgres Pro вы должны также установить пакет postgrespro-std-10-contrib. В системах на базе Debian пакет postgrespro-std-10-server зависит от пакета postgrespro-std-10-contrib, поэтому последний должен всегда устанавливаться вместе с сервером.

Для клиентских инсталляций обычно достаточно установить пакеты postgrespro-std-10-client и postgrespro-std-10-libs. Если вы используете независимые приложения и вам не нужны стандартные клиентские утилиты, такие как psql, вы можете установить только пакет postgrespro-std-10-libs.

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

Также вы можете установить и настроить сервер с тестовой базой данных. Подробнее о настройке, которая может потребоваться дополнительно, рассказывается в Подразделе 16.1.4.

16.1.3.2. Настройка автоматического запуска сервера

Если вы производите расширенную установку, автоматический запуск сервера по умолчанию отключается. После создания базы данных по умолчанию вы можете настроить автоматический запуск сервера при загрузке системы, используя имеющиеся в вашей операционной системе механизмы управления службами или сторонние средства обеспечения высокой степени доступности. Для облегчения этой задачи в пакете postgrespro-std-10-server поставляется скрипт pg-setup, помещаемый в каталог /opt/pgpro/std-10/bin.

Для настройки автозапуска сервера запустите скрипт pg-setup со следующими параметрами:

pg-setup service enable

Если требуется, вы можете отключить автозапуск сервера, используя тот же скрипт:

pg-setup service disable

Вы также можете использовать системные средства управления службами, непосредственно задействуя скрипты для систем инициализации SysV init.d и systemd, предоставляемые в пакете postgrespro-std-10-server. В зависимости от дистрибутива Linux Postgres Pro поддерживает следующие механизмы управления службами:

Дистрибутив Linux

Предоставляемые скрипты

RHEL 7, SLES 12.1

файл службы systemd

RHEL 6 и совместимые дистрибутивы, SLES 11, Альт Линукс 6

скрипт init.d (в стиле SysV)

Debian, Ubuntu, Альт Линукс 7/8

И файл службы systemd, и скрипт init.d в стиле SysV

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

systemctl enable postgrespro-std-10.service

Для использования скрипта init.d в стиле SysV:

  • В системах RHEL 6, SLES 11 и Альт Линукс воспользуйтесь командой chkconfig для включения скрипта postgrespro-std-10 на соответствующем уровне выполнения. Полный синтаксис этой команды можно найти на странице man chkconfig.

  • В системах Debian воспользуйтесь скриптом update-rc.d. За подробностями обратитесь к соответствующей странице man.

16.1.4. Установка на рабочих станциях разработчиков

Хотя может быть достаточно установить пакеты postgrespro-std-10-libs и postgrespro-std-10-devel/postgrespro-std-10-dev, обычно на машинах разработчиков удобно иметь и установленный сервер. Для быстрой установки вы можете воспользоваться пакетом postgrespro-std-10, который автоматически настроит предоставляемые клиентские и серверные программы, а также создаст начальную базу данных. Однако если вы планируете использовать одновременно несколько продуктов на базе PostgreSQL, следуйте инструкциям по расширенной установке, приведённым в Подразделе 16.1.3.

Чтобы скомпилировать программы с библиотеками Postgres Pro, используя утилиту pg_config, поставляемую с Postgres Pro, необходимо, чтобы её путь был указан в переменной PATH до путей каких-либо других версий pg_config. Заметьте, что в системах на базе RHEL pg_config не добавляется в PATH автоматически. Если в вашей системе нет других версий pg_config, вы можете воспользоваться утилитой pg-wrapper, поставляемой в пакете postgrespro-std-10-client, для создания символической ссылки на pg_config в стандартном каталоге исполняемых файлов.

Для компиляции программ с использованием pkg-config добавьте путь /opt/pgpro/std-10/lib/pkgconfig/ в переменную среды PKG_CONFIG_PATH.

16.1.4.1. Использование сторонних программ с Postgres Pro

Чтобы использовать сервер Postgres Pro с клиентской программой из стороннего продукта, вы можете установить версию библиотек PostgreSQL, с которыми компилировалась эта программа. Например, если программа поставляется в составе ванильного PostgreSQL, вам может потребоваться установить пакеты libpq или postgresql-libs, предоставляемые для вашего дистрибутива Linux. В этом случае программа, возможно, не будет использовать некоторые новые возможности сервера Postgres Pro, но скорее всего она и не поддерживает их.

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

Важно

Если программа скомпилирована с одной версией libpq, а используется с другой, её стабильная работа не гарантируется.

Если вы создаёте пакеты .rpm или .deb для вашей программы, рекомендуется сделать следующее:

  1. Добавьте путь /opt/pgpro/std-10/bin в переменную PATH в сборочных скриптах (в файле .spec или debian/rules).

  2. Добавьте postgrespro-std-10-dev в теги BuildDepends или BuildRequires описания пакета вашей программы.

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

postgrespro.ru

Установка PostgreSQL на Ubuntu 14.04

Установка

Поскольку PostgreSQL теперь есть в стандартных репозиториях Ubuntu, устанавливаем ее из apt:sudo apt-get update sudo apt-get install postgresql postgresql-contrib libpq-dev В принципе это все, дальше надо создать базы и пользователей.

Создание ролей и баз данных

Во время установки PostgreSQL создается Linux-пользователь postgres и Postgre-суперпользователь postgre. Чтобы открыть оболочку postgre psql под определенным пользователем, нужно сначала залогиниться в системе: sudo -i -u postgres Новые пользователи создаются командой createuser --interactive Укажите имя пользователя, к примеру testuser. Далее, создаем базу данных (под пользователем postgres) createdb test1 Входим в оболочку командой psql Делегируем права на базу данных пользователю и устанавливаем его пароль. =# GRANT ALL PRIVILEGES ON DATABASE testuser TO testdb; GRANT =# ALTER USER testuser WITH ENCRYPTED PASSWORD 'passsword'; ALTER ROLE

Полезные команды

ОписаниеКоманды
Подключиться к базе=# \c имя_базы
Список баз данных=# \l
Список таблиц=# \dt
Список столбцов=# \d имя_таблицы
Описание таблицы=# \d+ имя_таблицы
Список пользователей=# \du
Выход из оболочки=# \q
Управление сервером из терминала sudo service postgresql (start|stop|reload|restart|status)

Настройка удаленного доступа

Наверное излишне говорить, что это можно делать только на тестовом сервере. Для PostgreSQL 9.3 открываем sudo nano /etc/postgresql/9.3/main/pg_hba.confи добавляем строку host all all 192.168.11.10/24 md5 где вместо 192.168.11.10/24 укажите свою сеть.

Важно! Иногда файл конфигурации может находиться в другом месте, например /var/lib/postgresql/data/postgresql.conf

Узнать это можно в оболочке с помощью команды

SHOW config_file; Далее, открываем sudo nano /etc/postgresql/9.3/main/postgresql.conf указываем ip-адреса через запятую или пробел или просто звездочку: listen_addresses='*' и перезапускаем сервер sudo /etc/init.d/postgresql restartВ iptables добавить разрешения: -A INPUT -p tcp -s 192.168.11.10 -m state --state NEW --dport 5432 -j ACCEPT Перезапускаем ssh sudo service ssh restart Please enable JavaScript to view the comments powered by Disqus.

djangofan.ru

Установка PostgreSQL Ubuntu/debian

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

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

По умолчанию соединения через TCP/IP заблокированы. PostgreSQL поддерживает множество методов аутентификации. Метод аутентификации IDENT используется дляpostgres и локальных пользователей пока не настроено что-то еще. Обратитесь к PostgreSQL Administrator’s Guide, если вы собираетесь использовать какую-либо альтернативу типа Kerberos.

Дальнейшее обсуждение предполагает, что вы собираетесь разрешить соединения по TCP/IP и используете аутентификацию клиентов на основе метода MD5. Файлы настроек PostgreSQL хранятся в каталоге /etc/postgresql/<version>/main. Например, если вы установили PostgreSQL 9.5, файлы настроек сохранятся в каталоге /etc/postgresql/9.5/main.

Для настройки аутентификации ident добавьте записи в файл /etc/postgresql/9.5/main/pg_ident.conf. (без проверки — только user).

Чтобы разрешить соединения по TCP/IP, отредактируйте файл /etc/postgresql/9.5/main/postgresql.conf. Найдите строку

#listen_addresses = 'localhost'

#listen_addresses = 'localhost'

и замените ее на:

Это разрешит подключаться пользователям и по сети(после правки еще одного конфига)

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

sudo -u postgres psql template1

sudo -u postgres psql template1

Эта команда подключится к PostgreSQL базе данных template1 как пользователь postgres. После подключения к серверу PostgreSQL вы окажетесь в SQL консоли. Вы можете выполнить следующую SQL команду в консоли psql для настройки пароля пользователя postgres:

ALTER USER postgres with encrypted password 'вашпароль';

ALTER USER postgres with encrypted password 'вашпароль';

Вместо your_possword пишем свой пароль — например ‘hhgg7787’. Пишем

и нажимаем ввод для сохранения и выхода.

После настройки пароля, измените файл /etc/postgresql/9.5/main/pg_hba.conf на использование MD5 аутентификации для возможности подключнения к базе из сети.

# IPv4 local connections: host all all 127.0.0.1/24 md5 host all all 10.4.1.0/24 md5 hostssl all all 10.4.1.0/24 md5 hostnossl all all 10.4.1.0/24 md5 # Allow replication connections from localhost, by a user with the local replication postgres peer host all all 10.4.1.0/24 md5 hostssl all all 10.4.1.0/24 md5

# IPv4 local connections:

host all all 127.0.0.1/24 md5

host all all 10.4.1.0/24 md5

hostssl all all 10.4.1.0/24 md5

hostnossl all all 10.4.1.0/24 md5

 

# Allow replication connections from localhost, by a user with the

local replication postgres peer

host all all 10.4.1.0/24 md5

hostssl all all 10.4.1.0/24 md5

Это так же разрешит подключаться к POSTGRESQL  по сети. Соответственно вместо 192.168.1.0.24 пишем ваш пул iP адресов, с которых разрешено подключение. Под конец вам потребуется перезапустить сервис PostgreSQL для применения новых настроек. Из терминала выполните следующее для перезапуска PostgreSQL:

sudo service postgresql restart

sudo service postgresql restart

Всё PROFIT!!!

Видеоурок по установке Postgresql 9.3 ubuntu sever

itc-life.ru

Установка PostgreSQL под Ubuntu, Centos, Arch Linux

PostgreSQL — свободная объектно-реляционная система управления базами данных (СУБД).

Установка PostgreSQL под Ubuntu

Ставим из репозиториев последнюю версию и сопутствующие пакеты

sudo apt-get install postgresql postgresql-contrib

Устанавливаем пароль для пользователя postgres

passwd postgres

Создаем тестовую базу

su - postgres createdb demodb

Конектимся к тестовой БД:

psql demodb

Список все доступных БД можно посмотреть по команде \l

Управление пользователями. Создание нового пользователя demo:

su - postgres createuser demo --pwprompt

Удаление пользователя demo:

su - postgres dropuser demo

Даем все привилегии пользователю demo на таблицу demodb:

psql demodb GRANT ALL ON DATABASE demodb TO demo;

Конектимся к БД demodb пользователем demo:

psql -U demo -W demodb

Настроем в файле pg_hba.conf (host-based authentication) доступ для пользователя postgres без пароля. Для ubuntu добавим в начало файла /etc/postgresql/8.4/main/pg_hba.conf

local all postgres trust

Для всех остальных пользователей, на локальной машине, доступ будет по паролю, заданому при создании (через команду createuser)

host all all 127.0.0.1/32 md5

Ставим GUI-менеджер pgadmin3

sudo apt-get install pgadmin3

Еще можно поставить phpPgAdmin - веб-ориентированный инструмент для управления PostgreSQL.

Установка PostgreSQL под CentOS

Ставим из репозиториев последнюю версию и сопутствующие пакеты

yum install postgresql84 postgresql84-server

Добавляем демон postgresql в автозагрузку и стартуем

chkconfig postgresql on service postgresql start

Инициализируем базу

service postgresql initdb

Дальше все как описано в разделе с установкой под Ubuntu, файл pg_hba.conf находиться по другому пути - /var/lib/pgsql/data/pg_hba.conf.

Установка PostgreSQL под Arch Linux

Установка

sudo pacman -Sy postgresql postgresql-libs

Устанавливаем пароль для пользователя postgres

sudo passwd postgres

Инициализация БД

su - postgres -c "initdb --locale en_US.UTF-8 -D '/var/lib/postgres/data'"

Запуск

systemctl start postgresql

Запуск при старте системы

systemctl enable postgresql

Проектирование

Для проектирования структуры БД есть две утилиты:

Дополнительное чтиво

proft.me