Установка

Установка postgresql ubuntu: Установка PostgreSQL в Ubuntu | Losst

Содержание

Установка и первичная настройка 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 - postgres
psql

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

sudo -u postgres psql

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

\q

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

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

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

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

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

create user username with password 'password';

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

Установка и настройка 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 версии.

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

Что нового в 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 на другой сервер с помощью pgAdmin 4.

Базовая настройка 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 12 на Debian 10.

Разрешаем подключение к 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 с помощью pgAdmin 4.

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

Нравится2Не нравится

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


Установка PostgreSQL 10 для 1С:Предприятие на Debian / Ubuntu (сборка от 1С)

23:21 22.09.2019
Установка PostgreSQL 10 для 1С:Предприятие на Debian / Ubuntu (сборка от 1С)

Еще сравнительно недавно пользователи связки 1С:Предприятие и PostgreSQL имели достаточно неплохой выбор сборок СУБД: сборка от 1С, сборки Ethersoft и Postgres Professional. Но Ethersoft прекратил выпуск PostgreSQL для 1С, а Postgres Professional сделал свои продукты платными. Поэтому в настоящий момент не осталось альтернатив сборке от 1С, которая не пользовалась особой популярностью ввиду более сложного процесса установки. Однако не все так плохо и если вы будете следовать нашим инструкциям, то затруднений у вас возникнуть не должно.

Получить сборку от 1С можно на портале https://releases.1c.ru/, где она доступна без ограничений всем пользователям лицензионной версии любой конфигурации 1С с активной подпиской ИТС. Мы будем устанавливать последнюю на текущий момент версию PostgreSQL 10.9-5.1C, но алгоритм установки будет общим для всех сборок 10-й версии.

Из всего обилия ссылок на странице продукта нам потребуется только Дистрибутив СУБД PostgreSQL для Linux x86 (64-bit) одним архивом (DEB), сразу оговоримся, мы не видим никакого практического смысла использовать 32-битные версии сервера СУБД, поэтому будем производить установку 64-битной версии на 64-битную систему.

В качестве целевых систем будут использоваться Debian 10 и Ubuntu 18.04 LTS, в случае использования иных целевых ОС вам потребуется правильно установить необходимые зависимости, как это сделать мы расскажем ниже.

После скачивания архива мы тщательным образом проверили зависимости с целью найти проблемные версии пакетов. 1С, как всегда, оказалась в своем репертуаре, собрав пакеты для среды Ubuntu 16.04 и «прибившись гвоздями» к определенным версиям библиотек. Проблемных пакетов ровно два:

  • libssl1.0.0 — разделяемые библиотеки для реализации протоколов шифрования SSL и TLS
  • libicu55 — компоненты интернационализации для Unicode

После чего идем на https://packages.debian.org или https://packages.ubuntu.com и выясняем наличие данных пакетов для используемой вами версии дистрибутива. В репозиториях Debian 10 оба пакета отсутствуют, для Ubuntu 18.04 нет только пакета libicu55.

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

С libicu55 особого выбора у нас нет и мы скачали пакет для Ubuntu 16.04: https://packages.ubuntu.com/xenial/libicu55; libssl1.0.0 для Debian 10 мы скачали из репозитория Ubuntu 18.04: https://packages.ubuntu.com/bionic/libssl1.0.0. Для более старых выпусков Debian или иных базирующихся на его пакетной базе дистрибутивов следует качать пакеты из наиболее близкого аналога, так для Debian 9 следует качать пакеты от Ubuntu 16.04 или Debian 8.

Таким образом комплект для установки PostgreSQL должен состоять у вас из скачанных с сайта 1С пакетов (их три) и полученных по ссылкам выше libicu55 и libssl1.0.0 (только для Debain).

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

Перед тем как приступать к установке проверим настройку локалей сервера, они должны быть установлены в ru_RU.UTF-8, проверить это можно командой:

locale

После чего вы должны получить следующий вывод:

Если вы получили отличный результат, то вам нужно русифицировать систему, как это сделать описано в нашей статье: Настройка языка и региональных стандартов в Ubuntu Server/Debian. После чего не забудьте перезагрузить систему.

Перейдем в директорию с нашими пакетами, в нашем случае это домашняя директория пользователя:

cd ~

Затем начинаем устанавливать зависимости, для Debian 10 выполните следующие команды:

apt install libxslt1.1
dpkg -i libssl1.0.0*.deb
dpkg -i libicu55*.deb

Для Ubuntu 18.04:

apt install libssl1.0.0
dpkg -i libicu55*.deb

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

apt install postgresql-common
dpkg -i libpq5*.deb
dpkg -i postgresql-client-10*.deb
dpkg -i postgresql-10*.deb

В Debian 10 вы можете получить следующее предупреждение, которое можно смело проигнорировать:

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

В пакетах от 1С уже настроены все необходимые параметры доступа и все что нам остается — это задать пароль для суперпользователя PostgreSQL — postgres. Перед тем как выполнять следующие действия, убедитесь, что вы находитесь в консоли с правами суперпользователя, если это не так, то выполните:

sudo -s

Теперь войдем в систему от имени пользователя postgres:

su postgres

Откроем консоль PostgreSQL:

psql

И установим пароль:

ALTER USER postgres WITH PASSWORD 'MyPa$$word';

Для выхода из консоли введите:

\q

После чего можно создать новую базу через оснастку Администрирование серверов 1С Предприятия или стартер 1С.

Как видим, если вдумчиво подойти к процессу, то установка сборки PostgreSQL 10 от 1С не таит в себе каких-либо сложностей и может быть осуществлена даже начинающим пользователем Linux, достаточно следовать данной инструкции и хотя бы в общих чертах понимать смысл выполняемых действий.

read more at Записки IT специалиста

Как установить PostgreSQL 12 на Ubuntu 18.04

PostgreSQL является одной из наиболее распространенных систем управления объектно-реляционными базами данных. Давайте установим последнюю версию PostgreSQL 12 на Ubuntu 18.04 Linux.

Как всегда начинаем с обновления системы:

$ sudo apt update
$ sudo apt -y install vim bash-completion wget
$ sudo apt -y upgrade

Перезагружаем:

$ sudo reboot

Добавляем репозитории:

$ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
$ echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" |sudo tee /etc/apt/sources.list.d/pgdg.list

Опять обновляем список пакетов и устанавливаем серверные и клиентские пакеты PostgreSQL 12

$ sudo apt update
$ sudo apt -y install postgresql-12 postgresql-client-12

Во время установки автоматически создаётся пользователь postgres. Это суперадминистратор, который имеет полный доступ ко всему PostgreSQL.

$ sudo su - postgres

Лучше уставить надёжный пароль:

$ psql -c "alter user postgres with password 'ЗдесьВашНадёжныйПароль'"

Запускаем PostgreSQL с помощью команды:

$ psql

$ \conninfo

Получаем детали подключения:

Убедиться, что сервис PostgreSQL запускается при загрузке системы можно командами:

$ systemctl status postgresql.service
$ systemctl status [email protected]
$ systemctl is-enabled postgresql

СВами

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

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


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


Пример создан и проверен на платформе Ubuntu Server 10.04 x64 и PostgreSQL 9.0, но оно также должно быть применимо для более старых версий (Ubuntu и PostgreSQL) и других Debian-based дистрибутивов. Пример проверен на Ubuntu 10.10, где все работало превосходно и Ubuntu 11.04, где наблюдались проблемы с коннектом к БД с localhost.


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


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


$ sudo apt-get install postgresql postgresql-client postgresql-contrib


Эти команды установят сервер и клиент БД, некоторые дополнительные скрипты.


Теперь нам необходимо переустановить пароль админского аккаунта ‘postgres’ сервера, чтобы мы могли использовать его для задач системного администрирования. Введите в командной строке (подставьте вместо password пароль, который вы хотите использовать):

 


$ sudo su postgres -c psql template1


template1=# ALTER USER postgres WITH PASSWORD 'password';
template1=# q

Также можно создать пользователя, имя которого совпадает с вашим логином в линуксе, тогда можно будет запускать клиент так:


$ psql имя_бд


Эти команды изменяют пароль внутри БД, теперь нам необходимо сделать тоже самое с unix пользователем ‘postgres’:


 


$ sudo passwd -d postgres

$ sudo su postgres -c passwd


$> введите пароль

Введите тот же пароль, который вы использовали в прошлый раз.

 


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


$ sudo su postgres -c psql < /usr/share/postgresql/9.0/contrib/adminpack.sql




Наконец, нам необходимо настроить сервер для работы в сети, иначе он будет доступен только с локальной машины. Чтобы сделать это, сначала необходимо отредактировать файл postgresql.conf:


$ sudo mcedit /etc/postgresql/9.0/main/postgresql.conf


Теперь измените строки в секции ‘Connections and Authentication’…

Замените строку:

#listen_addresses = ‘localhost’

на

listen_addresses = ‘*’

и, также, замените строку

#password_encryption = on

на

password_encryption = on

Сохраните файл и закройте gedit.

Последний шаг — мы должны определить, кто должен иметь доступ к серверу. Это настраивается с помощью файла pg_hba.conf file. (Этот шаг можно также сделать с помощью последних версий pgAdmin (1.6.x), плюс вам даже нет необходимости вычислять IP адреса и маски подсетей. Но это не исключает необходимости знать, как это работает.)

 


$ sudo mcedit /etc/postgresql/9.0/main/pg_hba.conf


Закомментируйте или удалите текущее содержимое файла, потом вставьте следующий текст в конец файла:




 

# НЕ ИЗМЕНЯЙТЕ ПЕРВУЮ ЗАПИСЬ!
# Если вы измените эту первую запись, вам необходимо убедиться, что
# админ БД сможет получить доступ другим способом.
# Неинтерактивный доступ ко всем базам данных необходим для
# автоматического обслуживания
# (автовакуум, дневные задачи cron, репликация и подобные задачи).
#
# Административный вход с помощью сокетов UNIX
local all postgres ident sameuser
# TYPE DATABASE USER CIDR-ADDRESS METHOD

# «local» — только для соединений через сокеты Unix

local all all md5

# IPv4 локальные соединения:

host all all 127.0.0.1/32 md5

# IPv6 локальные соединения:

host all all ::1/128 md5

# Связь для все ПК в подсети

#

# TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD

host all all [ip адрес] [маска подсети] md5




и в последней строке добавьте вашу маску подсети (например, 255.255.255.0) и IP адрес машины, которой нужен доступ к вашему серверу (например, 192.168.1.15). Если вам необходимо дать доступ диапазону IP адресов, подставьте вместо последнего числа 0 (например, 138.250.192.0 даст доступ к серверу всем машинам с IP адресами 138.250.192.x).

Всё, теперь перезапустите сервер:

 


$ sudo /etc/init.d/postgresql-9.0 restart


или просто


$ sudo /etc/init.d/postgresql restart




И всё должно работать.


После того, как установка завершена, рекомендую оптимизировать параметры Postgres. Удобный сервис конфигурации Postgres находится тут: http://pgtune.leopard.in.ua/


 

PostgreSQL 10 для 1С на Ubuntu 18.04 — AdminGuide.Ru

Таки уже больше чем пол года прошло с того момента как 1C научилась из коробки работать с PostgreSQL 10, да и вышла Ubuntu 18.04. Значит пришла пора обновить статью Установка PostgreSQL 9.6 для 1C на Ubuntu 16.04 и речь у нас пойдет о том, что установка PostgreSQL 10 для 1С на Ubuntu 18.04 хоть и имеет несколько нюансов, но до сих пор осуществляется легко и непринужденно.

Стенд будет у нас следующий:

  • 2 ядра
  • 16Gb Ram
  • 32GB SSD

Наши действия:

    1. Обновляем систему

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

      sudo apt update && sudo apt dist-upgrade -y
    2. Скачиваем DEB PostgreSQL 10 для 1С

      Я скачал с users.v8.1c.ru следующий архив: PostgreSQL, версия 10.5-24.1C

    3. Ставим локали

      sudo locale-gen en_US.UTF-8
      sudo locale-gen ru_RU.UTF-8
      sudo update-locale LANG=ru_RU.UTF8
      sudo dpkg-reconfigure locales

      После ввода последней команды, появится следующее окно:

      Локали которые будут созданы

      Ничего не делаем, просто нажимаем <Ok> (можно промотать вниз и убедиться что локаль ru_RU.UTF-8 отмечена)

      Локаль по умолчанию

      В этом окне необходимо выделить ru_RU.UTF-8 и уже потом нажать <Ok>. Если в списке указанная локаль у вас отсутствует, значит что-то из вышеперечисленного в текущем пункте вы сделали не так. После успешного выполнения этого пункта в отчёте мы увидим строчку ru_RU.UTF-8… done и en_EN.UTF-8… done

      Generation complete

    4. Загружаем файлы на наш будущий сервер

      Способов много, можно залить с помощью этой небольшой статьи: WinSCP работаем с файлами Linux сервера через SFTP
      Напомню что я загружаю в папку /tmp и все команды что я привожу ниже, будут запускаться из неё

    5. Смотрим особенности релиза.

      На странице загрузки пакета на users.v8.1c.ru, всё так же в обязательном порядке заглядываем в особенности релиза, где узнаем что написаны они только для Ubuntu 16.04 и выглядят они следующим образом

      libicu55 postgresql-common
    6. Готовимся к установке

      • libicu55

        Смотрим что есть в репозитарии относительно libicu55

        apt search libicu55

        На момент написания статьи там не было ничего :(.
        Поэтому идем по ссылке archive.ubuntu.com и там ищем libicu55 для своей архитектуры. Я ставлю на Ubuntu Server 18.04 64-bit, поэтому у меня это libicu55_55.1-7_amd64.deb
        Так же в данном случае можно скачать файл напрямую с помощью команды wget

        cd /tmp
        wget http://archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu55_55.1-7_amd64.deb

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

        sudo dpkg -i libicu55_55.1-7_amd64.deb

         

      • postgresql-common

        Проверяем что есть в репозитарии

        apt search postgresql-common

        Результат apt search postgresql-common

        На данный момент в репозитории появился этот пакет версии >=182~. Раньше небыло и приходилось качать его из репозитория постгрес, с проделыванием излишних телодвижений.

        sudo apt install postgresql-common

         

    7. Установка PostgreSQL 10 для 1С

      1. Извлекаем из архива

        Файл с установочными пакетами скачанный с сайта ИТС называется postgresql_10.5_24.1C_amd64_deb.tar.bz2 и лежит в папке /tmp, поэтому перейдем в /tmp и вытащим содержимое из архива

        cd /tmp
        tar -xvf ./postgresql_10.5_24.1C_amd64_deb.tar.bz2

        Из архива извлеклась папка postgresql_10.5_24.1C_amd64_deb

      2. Переходим в папку с установочными пакетами

        cd ./postgresql-10.5-24.1C_amd64_deb

        Извлекаем пакеты из архива

      3.  Устанавливаем пакеты PostgreSQL 10

        sudo dpkg -i libpq5_10.5-24.1C_amd64.deb
        sudo dpkg -i postgresql-client-10_10.5-24.1C_amd64.deb
        sudo dpkg -i postgresql-10_10.5-24.1C_amd64.deb

        Если после выполнения последней команды мы видим скрин следующего вида

        Завершена установка PostgreSQL 10 для 1С

        А это значит Success! И возможность перейти к настройке PostgreSQL 10

        Success!

  • Стоит сразу же оговориться, что под словом “Настраиваем” я имею ввиду именно настройку, до состояния когда к Postgres можно будет подключить сервер 1С и начать создавать там базы, загружать туда базы через конфигуратор или еще что придет в голову. Вопросы именно “Оптимизации”, репликации, потоковой, логической или чего-либо еще тут не рассматриваются.

    1. Меняем метод аутентификации с peer на trust

      Подробнее о методах аутентификации можно почитать тут

      1. Открываем файл pg_hba.conf

        sudo nano /etc/postgresql/10/main/pg_hba.conf
      2. Меняем административный вход

        Находим строку

        # Database administrative login by Unix domain socket
        local   all             postgres                                peer

        И меняем в ней peer на trust чтобы было

        # Database administrative login by Unix domain socket
        local   all             postgres                                trust

        Когда способом аутентификации указано trust, постгрес решит что подключающийся пользователь уже авторизован для работы и пустит его без пароля
        Сохраняем изменения нажав Ctrl+O

      3. Перезагружаем Postgres

        sudo service postgresql restart
    2. Устанавливаем пароль пользователя postgres

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

      psql -U postgres -d template1 -c "ALTER USER postgres PASSWORD 'h5GiQn'"

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

    3. Меняем метод аутентификации с trust на md5

      Все как и выше где мы меняли peer на trust, только теперь мы меняем trust на md5, чтобы отключить беспарольный доступ

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

      Находим строку

      # Database administrative login by Unix domain socket
      local   all             postgres                                trust

      Меняем её на

      # Database administrative login by Unix domain socket
      local   all             postgres                                md5

       

    4. Настраиваем postgresql.conf

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

      Там находим строку listen_addresses. Можно воспользоваться поиском, он включается сочетанием Ctrl+W. Находим следующее:

      listen_addresses = '*'          # what IP address(es) to listen on;
                                              # comma-separated list of addresses;
                                              # defaults to 'localhost'; use '*' for all
                                              # (change requires restart)
      port = 5432                             # (change requires restart)

      При желании можно настроить ограничение на подключение только через localhost указав его вместо ‘*’. Пока стоит ‘*’ сервер принимает подключение на все интерфейсы на порт указанный в пареметре port. А можно ничего и не менять, всё по желанию и вашему уровню паранойи.
      Если у вас 1С будет жить на одном сервере с PostgreSQL, то оставьте localhost, если он будет работать на другом компьютере, установите * или же IP адрес интерфейса подключения.

    5. Блокируем обновления пакетов

      Может случиться так что убунту автоматически обновит пакеты PostgreSQL 1C, что приведет СУБД в нерабочее состояние. Да чего греха таить, какой-нибудь эникей подключившийсь к терминалу с командой “Обнови все линуксовые сервера!” может запустить обновление и тогда повесят вас. Поэтому обязательно вводим следующие команды для блокироваки обновления постгрес: sudo apt-hold <Имя вашего пакета>

      sudo apt-mark hold libpq5
      sudo apt-mark hold postgresql-client-10
      sudo apt-mark hold postgresql-10

      Это те пакеты, которые мы скачивали с сайта 1С

       

P.S. В pg_hba.conf можно настроить различными способами, этот файл отвечает за авторизацию пользователей, источники откуда они могут подключаться, базы с которыми могут работать. Но это тема целой отдельной статьи, а то и двух если рассказывать подробно. Поэтому тут лишь скажу что это можно и нужно использовать чтобы повысить безопасность своей базы. Но по стандарту, если использовать пользователя postgres, всё будет работать и так.

Установите PostgreSQL в Linux (Ubuntu)

Резюме : в этом руководстве вы узнаете, как загрузить и установить PostgreSQL в Linux.

Большинство платформ Linux, таких как Debian, Red Hat / CentOS, SUSE и Ubuntu, имеют интегрированный PostgreSQL с управлением пакетами.

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

Чтобы загрузить и установить PostgreSQL в Linux, перейдите на страницу загрузки и выберите свой дистрибутив Linux.

В этом руководстве мы покажем вам, как установить PostgreSQL в Ubuntu 20.04.

Установить PostgreSQL в Ubuntu

Зайдя на страницу загрузки PostgreSQL для Ubuntu, вы найдете сценарий, который позволяет вам установить PostgreSQL в Ubuntu. Вам нужно выполнить их один за другим.

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

 

$ 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 --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key добавить -

В-третьих, обновите список пакетов:

 

$ sudo apt-get update

Наконец, установите последнюю версию PostgreSQL:

 

$ sudo apt-get install postgresql

Если вы хотите установить определенную версию, вы можете использовать postgresql-version вместо postgresql .Например, чтобы установить PostgreSQL версии 12, вы используете следующую команду:

 

$ sudo apt-get install postgresql-12

Загрузка и установка PostgreSQL займет несколько минут.

Подключиться к серверу базы данных PostgreSQL через psql

В PostgreSQL учетная запись пользователя называется ролью. По умолчанию PostgreSQL использует аутентификацию ident .

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

Когда вы устанавливали PostgreSQL, в процессе установки была создана учетная запись пользователя с именем postgres , связанная с ролью по умолчанию postgres .

Чтобы подключиться к PostgreSQL с помощью роли postgres , вы переключитесь на учетную запись postgres на своем сервере, набрав:

 

$ sudo -i -u postgres

Он запросит пароль текущего пользователя.Вам нужно ввести пароль и нажать на клавиатуре Enter .

Затем вы можете получить доступ к PostgreSQL с помощью psql , набрав следующую команду:

 

$ psql

Вы получите доступ к приглашению postgres следующим образом:

 

postgres = #

Отсюда вы можете взаимодействовать с PostgreSQL, как с отправкой запроса.

Чтобы выйти из командной строки PostgreSQL, выполните следующую команду:

 

postgres = # \ q

Эта команда выше вернет вас в командную строку postgres Linux.

 

postgres @ ubuntu-dev: ~ $

Чтобы вернуться к обычному пользователю системы, выполните команду exit следующим образом:

 

postgres @ ubuntu-dev: ~ $ exit

Загрузить образец базы данных

Чтобы загрузить образец базы данных на сервер базы данных PostgreSQL, выполните следующие действия:

Сначала переключите учетную запись postgres с помощью следующей команды:

 

$ sudo -i -u postgres

Вам будет предложено ввести пароль текущего пользователя.Вам нужно ввести пароль текущего пользователя и нажать на клавиатуре Enter .

Во-вторых, загрузите образец базы данных с помощью инструмента curl :

 

$ curl -O https://sp.postgresqltutorial.com/wp-content/uploads/2019/05/dvdrental.zip

В-третьих, разархивируйте файл dvdrental.zip, чтобы получить файл dvdrental.tar:

 

$ unzip dvdrental.zip

В-четвертых, войдите в PostgreSQL с помощью инструмента psql :

 

$ psql25

 

В-пятых, создайте базу данных dvdrental с помощью оператора CREATE DATABASE :

 

postgres = # create database dvdrental;

В-шестых, выйдите из psql с помощью команды \ q :

 

postgres = # \ q

В-седьмых, используйте инструмент pg_restore для восстановления базы данных dvdrental :

 

$ pg_restore --dbname = dvdrental --verbose dvdrental.tar

В-восьмых, снова получить доступ к серверу базы данных PostgreSQL с помощью psql :

 

$ psql

В-девятых, переключиться на базу данных dvdental :

 

postgres = # \ c dvdrental25

Теперь вы подключены к базе данных dvdrental :

 

dvdrental = #

Наконец, введите следующую команду, чтобы получить количество фильмов в таблице film :

 

dvdrental = # выбрать количество (*) из фильма;

Вот результат:

 

count ------- 1000 (1 ряд)

Поздравляем! вы успешно установили PostgreSQL в Ubuntu, подключились к серверу базы данных PostgreSQL с помощью psql и загрузили образец базы данных.

  • Было ли это руководство полезным?
  • Да Нет

.

Linux. Ubuntu Server 18.04 PostgreSQL

.

  1. HugePages
  1. ОТДЕЛКА
  2. fstab
  3. растровый SOFT RAID

. .

Ubuntu,,. . .

  кот / система / устройства / система / процессор / cpu0 / cpufreq / scaling_governor
  

PowerSave . по запросу. . powersave () performance ().

, г.

  systemctl отключить по требованию  

. производительность.

  grep МГц / proc / cpuinfo
  

МГц: 799.941
процессор МГц: 1608,222
процессор МГц: 900.019
процессор МГц: 800.078

.

/etc/sysctl.conf

kernel.sched_migration_cost_ns = 5000000 1,.

kernel.sched_autogroup_enabled = 0

  ЛСКПУ  

Узел NUMA 1``, ​​NUMA

  vm.zone_reclaim_mode = 0
ядро.numa_balancing = 0  

. ОгромныйСтраницы

4. 2 1 (1,). HugePages.

, Postgre shared_buffers 30, 2. 1: 16, shared_buffers = 4, 7, 10.

  grep огромный / proc / meminfo  

  #! / Bin / bash
pid = `голова -1 / dev / disc_data / test_bases / postmaster.Hugepagesize / proc / meminfo | awk '{print $ 2}' `
echo "Размер огромной страницы: $ hps кБ"
л.с. = $ ((пиковая / л.с.))
echo Set Huge Pages:  долл. США 

, / dev :),.

2,,. , Postgresql.conf. , -,.

/etc/sysctl.conf

vm.nr_hugepages = ()

. :

, г.

1

256

 , если grep pdpe1gb / proc / cpuinfo> / dev / null 2> & 1; то эхо "поддерживается 1ГБ."; fi  

, / и т.д. / по умолчанию / grub . GRUB_CMDLINE_LINUX

default_hugepagesz = 1 ГБ hugepagesz = 1 ГБ

  grub-mkconfig -o /boot/grub/grub.cfg  

.

HugaPages PostgreSQL

, -,.

  идентификатор postgres  

`` gid = 1001 (postgres)

/ etc / sysctl.conf

  vm.hugetlb_shm_group = 1001  

PostgreSQL.

.

своп.

/etc/sysctl.conf

vm.swappiness = 1

Ubuntu Server = 60, 0,, ​​postgre.

. /etc/sysctl.conf

vm.dirty_background_bytes = 25%.

вм.dirty_bytes = 100-200%. .

RAID SSD, виртуальных машин. Dirty_bytes =

: убунту 10 20%, 64, 6. PostgreSQL. postgre.

vm.overcommit_memory = 2

vm.min_free_kbytes = 307200 300,. , 1,. 66.

.ОТДЕЛКА ssd

Ubuntu TRIM ssd,.

, ОТДЕЛКА SSD.

1

  hdparm -I / dev / sdc3 | grep TRIM  

sdc3.

2

  lsblk --discard  

SSD, HDD.

  systemctl список-таймеров fstrim.timer
  

.,.

/lib/systemd/system/fstrim.timer

OnCalendar =

:

OnCalendar = ежечасно -00

OnCalendar = * 4 *** - 4

OnCalendar = * 9-20 *** - 9 8.

  systemctl демон-перезагрузка  

сбросить / ets / fstab,,.

.

/ и т. Д. / Fstab c

  ext4 по умолчанию 0 0
  

  ext4 по умолчанию, noatime, nodiratime 0 0
  

SSD TRIM,:

  ext4 по умолчанию, noatime, nodiratime, отменить 0 0
  

, г. PostgreSQL.

:

Linux-: растровое изображение. , -, -.. - внутренний, - (). внутреннее растровое изображение. . Внутреннее растровое изображение ...

Растровое изображение RAID .

  mdadm --grow --bitmap = нет / dev / md127  

md127 RAID

  mdadm -G / dev / md127 -b / var / md127_intent  

md127 RAID, растровое изображение md127_intent. / var ssd.

pgbench "pgbench -c 8 -j 4 -T 600 -v" 40% Ubuntu.7.

, SSH. . . ,. .

pg_probackup,,.

.

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

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