Меню Рубрики

Установка postgresql debian jessie

Как установить PostgreSQL на Debian 9

Прежде чем приступать к этапу установки, убедитесь, что у вас есть полный доступ к вашему Debian 9 VPS, или, по крайней мере, у вас есть системный пользователь с привилегиями sudo. Если вы это сделаете, подключитесь к своему серверу через SSH и убедитесь, что все ваше системное программное обеспечение обновлено. Сначала обновите индекс пакета, используя следующую команду:

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

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

Установка PostgreSQL на Debian 9

Следующим шагом будет установка системы баз данных PostgreSQL на ваш Debian 9 VPS. Этот шаг довольно прост, просто запустите следующую команду:

Он установит сервер базы данных PostgreSQL, клиент и другие необходимые инструменты.

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

Он покажет вам текущую версию PostgreSQL, установленную на вашем сервере:

Управление PostgreSQL на Debian 9

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

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

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

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

Если PostgreSQL запущен и работает на вашем Linux VPS на данный момент, вывод будет похож на следующий:

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

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

Если вы хотите управлять местоположениями файлов PostgreSQL, подключениями и аутентификацией, использованием ресурсов, протоколированием и т. д., Вам необходимо отредактировать основной файл конфигурации. Основной файл конфигурации для PostgreSQL находится в каталоге /etc/postgresql/VERSION-NUMBER/main . Поэтому, если ваша версия PostgreSQL равна 9.6, местоположение будет /etc/postgresql/9.6/main/postgresql.conf

Вы можете использовать любой текстовый редактор по вашему выбору, чтобы открыть и отредактировать файл конфигурации для PostgreSQL. Файл состоит из строк формы NAME = VALUE и убедитесь, что сделанные вами изменения действительны. В противном случае PostgreSQL не будет работать. Файл конфигурации считывается при запуске сервера, поэтому при внесении изменений вам необходимо перезапустить службу PostgreSQL, чтобы изменения вступили в силу.

Основное использование PostgreSQL на Debian 9

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

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

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

Теперь вы можете выполнить команду, специфичную для PostgreSQL. Например, чтобы перечислить все текущие базы данных, которые вы можете ввести \l и нажмите Enter

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

Если вы предпочитаете использовать графический пользовательский интерфейс для управления базами данных и сохраненными данными, мы можем порекомендовать вам установить и использовать phpPgAdmin. Это веб-инструмент администрирования PostgreSQL, аналогичный phpMyAdmin для управления системой баз данных MySQL.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

источник

Установка PostgreSQL в Debian 10

PostgreSQL (иногда именуемая Postgres) — это самая продвинутая, универсальная, объектно-ориентированная система баз данных с открытым исходным кодом с проверенной архитектурой, которая работает на всех основных операционных системах. Это высокопроизводительная, стабильная, масштабируемая и расширяемая система баз данных, которая обеспечивает хорошую целостность данных и поддерживает мощные дополнения.

Важно то, что PostgreSQL позволяет вам определять свои собственные типы данных, добавлять пользовательские функции, даже писать код на разных языках программирования, таких как C/C++, Java, и т. д., без перекомпиляции вашей базы данных. PostgreSQL используется известными техническими компаниями, такими как Apple, Fujitsu, Red Hat, Cisco, Juniper Network и т. д. В этой статье мы покажем вам, как установить, защитить и настроить сервер баз данных PostgreSQL 11 Debian 10.

Установка PostgreSQL на Debian 10

Чтобы установить PostgreSQL Debian 10, используйте менеджер пакетов APT, который установит и сервер и клиент PostgreSQL 11.

apt install postgresql-11 postgresql-client-11

В Debian, база данных postgres инициализируется сразу после завершения установки пакета, как показано на следующем снимке.

Чтобы проверить, действительно ли база данных Postgres инициализирована, вы можете использовать утилиту pg_isready, которая проверяет статус соединения сервера PostgreSQL 11 следующим образом:

Кроме того, в systemd служба Postgres также запускается автоматически и включается при загрузке системы. Чтобы убедиться, что служба работает нормально, выполните следующую команду.

systemctl status postgresql

Далее следуют другие полезные команды systemctl для управления службой Postgres в systemd.

systemctl start postgresql
systemctl restart postgresql
systemctl stop postgresql

Чтобы перечитать конфигурацию после перезагрузки выполните:

systemctl reload postgresql

Настройка PostgreSQL

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

Только что инициализированная система всегда содержит одну предопределенную роль, называемую postgres, и имеет то же имя, что и учетная запись пользователя операционной системы, называемая postgres, которая используется для доступа к psql (оболочка Postgres) и другим программам баз данных.

Учетная запись пользователя системы Postgres не защищена паролем, для ее защиты вы можете создать пароль с помощью утилиты passwd.

Кроме того, роль Postgres (или, если угодно, суперпользователь базы данных) по умолчанию не защищена. Вам также необходимо защитить ее паролем. Теперь переключитесь на учетную запись пользователя системы postgres и роль postgres (не забудьте установить надежный и безопасный пароль), как показано ниже.

Читайте также:  Установка контроллера домена в зоне ru

su — postgres
psql -c «ALTER USER postgres WITH PASSWORD ‘новый_пароль’;»

Далее выйдите из учетной записи postgres, чтобы продолжить настройку. Основной файл конфигурации Postgres находится по пути /etc/postgresql/11/main/postgresql.conf. В дополнение к этому файлу Postgres использует два других файла конфигурации, которые управляют аутентификацией клиента.

Аутентификация клиента контролируется файлом конфигурации /etc/postgresql/11/main/pg_hba.conf. Postgres предоставляет множество различных методов аутентификации клиента, включая аутентификацию на основе пароля. Клиентские соединения аутентифицируются на основе адреса хоста клиента, базы данных и пользователя.

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

Использование аутентификации по паролю md5 предотвращает перехват паролей хакерами и позволяет избежать хранения паролей на сервере в виде простого текста. Парольный метод можно использовать только в том случае, если соединение защищено шифрованием SSL.

В этом руководстве мы покажем, как настроить аутентификацию по паролю md5 для аутентификации клиента.

Найдите следующую строку и измените метод аутентификации на md5, как показано на скриншоте.

Сохраните изменения в файле и выйдите из него. Затем примените последние изменения, перезапустив службу Postgres следующим образом.

systemctl restart postgresql

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

Чтобы создать базу данных с именем «test_db», выполните следующую SQL команду:

Затем создайте пользователя базы данных (роль с правом входа), который будет управлять новой базой данных:

CREATE USER test_user PASSWORD ‘новый_пароль’;

На этом настройка postgresql Debian 10 практически завершена. Чтобы подключиться к test_db от имени пользователя test_user, выполните:

psql -d test_db -U test_user

Для получения дополнительной информации см. Документацию PostgreSQL 11.

Выводы

На этом, пока что, все! В этой статье мы показали, как делается установка Postgresql Debian 10, а также как защитить и настроить полученный сервер баз данных. Есть ли у вас какие-либо вопросы или мысли, которыми хочется поделиться? Используйте форму комментариев ниже.

источник

Установка postgresql debian jessie

Реляционные базы данных — камень преткновения во всех приложениях, которые активно работают с данными. Без них не обходится ни один онлайн магазин, ни запуск ракеты. Одним из примеров достойных уважения БД является PostgreSQL. Она построена по основным стандартам SQL, применяет ACID транзакции, поддерживает внешние ключи и виды (views), а так же все еще в активной стадии разработки.

Вы не найдете лучшего кандидата чем Debian 8 (кодовое имя Jessie) если для вашего приложения требуется стабильная среда и легкое администрирование. Эта ОС возможно работает немного медленнее своих конкурентов, но её стабильность легко восполняет этот недостаток. А пара Debian и PostgreSQL будет лучшей средой для приложений, которые активно работают с данными. В этой статье я покажу как установить PostgreSQL на Debian 8 и начать пользоваться преимуществами этой пары.

Прежде чем начать

Сначала обновим репозитории пакетов на Debian:

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

Существует несколько пакетов, чье имя начинается с postgresql:

При вопросе нажмите Y для продолжения установки. В результате вы получите все нужные пакеты.

Проверим установку

Для того, чтобы проверить, что всё установилось как положено, выполним следующую команду:

Отлично! PostgreSQL установлен и запущен.

Доступ к БД PostgreSQL

По-умолчанию PostgreSQL создает на Debian пользователя и БД по имени postgres . Для начала вам потребуется войти под этим пользователем, выполнив следующую команду от имени root (sudo не сработает):

Теперь следует запустить консоль PostgreSQL:

Вот и все! Вы вошли в PostgreSQL и должны увидеть следующее:

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

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

По-умолчанию PostgreSQL применяет идею ролей для помощи в аутентификации и авторизации. По идеи, подход очень схож с аккаунтами на Unix системах, но PostgreSQL не отличает пользователей и группы, а использует более гибкий подход — роли. При установке PostgreSQL использует аутентификацию ident , то есть PostgreSQL сопоставляет роли с существующими аккаунтами в Unix/Linux системе. Если роль существует в PostgreSQL, то человек может зайти под ней, введя свои данные из ОС.

Во время установки создается аккаунт postgres , который ассоциируется в ролью по-умолчанию для Postgres. Для создания дополнительных ролей следует обратиться к команде createuser . Помните, что команда должна выполняться от имени postgres , не в терминале PostgreSQL консоли:

Это всего лишь интерактивный скрипт, который выполняет соответствующие команды PostgreSQL по вашим требованиям. Он задаст вам ряд вопросов: название роли, выдать ли ей права суперпользователя, дать ли доступ к созданию новых БД и новых ролей. На странице man вы найдете более подробную информацию:

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

PostgreSQL при установке создает роли, соответствующие аккаунтам в вашей системе (более подробную информацию вы найдете на postgresql.org). Так же он полагает, что для каждой роли будет создана БД. То есть, если я создам пользователя по имени test1 , то при подключении к БД под этой ролью вы будете подключаться к БД test1 .

Для создания соответствующей БД выполните следующую команду от пользователя postgres :

Будет создана новая БД test1 .

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

Допустим у вас есть аккаунт Linux под именем test1 , ролью под таким же именем и соответствующая БД. Перейдем под нового пользователя:

Читайте также:  Установка гур мондео 4

Затем подключаемся под именем test1 к БД test1:

Вы должны увидеть приглашение к вводу от PostgreSQL под именем test1 .

Создание и удаление таблиц

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

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

Для наших целей достаточно следующей таблицы:

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

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

Затем мы определяем поля type и color , оба они не могут иметь пустое значение. После чего мы задаем поле location , которое может принимать одно из восьми возможных значений. Последнее поле — дата добавления оборудования в БД. Чтобы вывести все таблицы в БД, выполните \dt в консоли:

Как видите, мы создали таблицу playground .

Добавление, запрос и удаление данных из таблицы

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

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

Мы видим, что поле equip_id заполнилось автоматически, а все остальные поля соответствуют тем данным, которые мы вводили ранее. Если горка сломается, то мы просто удалим её из этой таблицы:

Снова прочтём данные из таблицы:

Как видите, запись удалена:

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

Приведу список часто используемых команд, чтобы вы могли иметь большее представление о БД:

  • \?: Выводит полный список команд psql .
  • \h: Вывод помощи по отдельным командам.
  • \q: Выход из psql и возвратв терминал Linux.
  • \d: Вывод доступных таблиц, видом и функций в текущей БД.
  • \du: Вывод доступных ролей.
  • \dp: Вывод списка доступных прав.
  • \dt: Список таблиц
  • \l: Список БД
  • \c: Подключение к другой БД. Следует указат имя БД.
  • \password: Изменение пароля пользователя, указанного как аргумент команды.
  • \conninfo: Информация о текущей БД и подключении.

Этого набора должно хватить для ориентировании в PostgreSQL.

Заключение

В итоге вы должны получить полностью рабочую PostregSQL на Debian системе. Поздравляю! А теперь взглянем на набор документации:

  • Руководство по PostgreSQL
  • Установка пакет postgresql-doc: sudo apt-get install postgresql-doc
  • README файл в /usr/share/doc/postgresql-doc-9.4/tutorial/README

источник

Установка и настройка postgresql на debian 8 для работы с 1С

Сегодня хочу рассказать об установке и небольшой настройке сервера бд postgresql для работы с базами 1С. Задача не сложная, но есть небольшие нюансы как по настройке, так и по выбору дистрибутива. Существуют несколько модификаций postgresql для 1С. Я расскажу про установку двух из них — одна от самой компании 1С, вторая от postgrespro.

Данная статья является частью единого цикла статьей про сервер Debian.

Введение

Расскажу немного о возможности работы 1С, при которой можно сэкономить деньги на лицензиях, используя дистрибутив linux и бесплатную бд postgresql. Сервер 1С обычно используют в одной из следующих связок:

  • Сервер 1С на Windows + MSSQL Server. Тут все понятно, самая распространенная и самая дорогая связка. Требуется лицензия для MSSQL сервера.
  • Сервер 1С на Linux + PostgreSQL. Вариант с максимальным использованием бесплатного ПО. Я давно не использовал эту связку. Последний раз тестировал года 4 назад и мне не понравилась работа 1С сервера на linux. Я использовал дистрибутив Debian. Настройка не сильно сложная, но и не сказать, что простая. Надо ставить драйвера для hasp, чтобы сервер увидел ключ. Сервер работал не стабильно, иногда не получалось сделать выгрузку базы, приходилось перезапускать службу сервера. В целом работало, но не очень надежно. Мне тогда довелось пообщаться плотно с компанией, которая на постоянной основе использовала такую связку и админ тоже жаловался, что приходится сервер 1С перезапускать каждую ночь, тогда более ли менее стабильно все работает. С тех пор я не тестировал работу 1С на линуксе, так что про текущее положение дел ничего сказать не могу.
  • Сервер 1С на Windows + PostgreSQL. Более привычный для настройки и управления вариант. Сервер ставится как обычно на windows машину, настраивается традиционным способом, а в качестве бд выступает бесплатная postgresql. О такой связке я и хочу сегодня рассказать.

Стандартная posgresql не будет нормально работать с базами 1С. В чем там проблема, я не знаю, не разбирался. Для работы с 1С используют отдельные сборки, специально под это заточенные. Мне известны 3 сборки posgresql для работы с 1С:

Я установлю и настрою для сравнения сборку от 1С и от Postgrespro, чтобы попытаться понять, где будет выше производительность. Настраивать все будем на сервере Debian 8. Если у вас еще нет настроенного сервера, то рекомендую мои статьи по установке и настройке debian. Я создал 2 одинаковые виртуальные машины для теста и установил на каждую из них разную версию базы данных.

Читайте также:  Установка магнитол с gps 2din

Подготовка сервера к установке postgresql

Если вы читали мою статью по настройке debian, то наверно уже обновили систему. Если нет, то сделаем это:

Скофнигурируем локали. Нам необходимо, чтобы в системе были 2 локали: en_US.UTF-8 и ru_RU.UTF-8. При этом русская должна быть установлена по-умолчанию. Выполняем конфигурацию с помощью команды:

Отмечаем указанные выше локали и выбираем ru_RU.UTF-8 дефолтной.

Проверить список установленных локалей можно командой:

Устанавливаем необходимые пакеты:

Устанавливаем вручную еще один пакет:

Редактируем системный параметр kernel.shmmax. Какое точно значение для наилучшей производительности выставлять, я не знаю. Не смог найти однозначного ответа. Видел рекомендацию, что в половину оперативной памяти на сервере. Я сделал у себя именно так. Вычислить размер параметра можно по формуле: Mb*1024*1024. У меня виртуальный сервер с 8Gb памяти, значение параметра получается 4096*1024*1024 = 4294967296. Добавляем это значение в /etc/sysctl.conf.

Применяем внесенное изменение:

Проверить текущее значение параметра можно командой:

У нас все готово для установки непосредственно postgresql.

Установка сборки PostgreSQL для платформы 1С от postgrespro

Будем устанавливать самую свежую сборку на момент написания статьи — PostgreSQL 9.6.1. Подключаем репозиторий:

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

Установка сборки postgresql для работы с 1С от postgrespro закончена. Можно начинать работать с базой данных. Но перед этим необходимо задать пароль суперпользователя базы данных и выполнить небольшой тюнинг для увеличения быстродействия базы данных. С дефолтными настройками 1С будет работать очень медленно. Настройкой мы займемся позже, после того, как поставим вторую сборку от 1С.

Установка сборки PostgreSQL от 1С

Свежую версию postgresql от 1С можно скачать в пользовательском разделе на сайте 1С по адресу https://releases.1c.ru/total

Мы устанавливаем postgres на сервер Debian, поэтому скачиваем deb пакет для нашей системы.

Если у вас нет доступа к порталу 1С, можете забрать актуальный файл на момент написания статьи у меня — https://yadi.sk/d/hWi1PMBd1B7QIA.

Передаем файл на сервер, например через sftp или ssh. Распаковываем содержимое архива в отдельную папку:

В архиве были следующие файлы:

Все, установка postgresql от 1С закончена. Запускаем и добавляем в автозагрузку:

Теперь приступаем к настройке для увеличения производительности базы 1С.

Настройка postgresql для увеличения производительности 1С

Настройка это, конечно, громко сказано. Я не занимался серьезно тюнингом postgresql и тестированием. Бегло поискал в интернете информацию и использовал наиболее популярные советы. Так что мои рекомендации не претендуют на реально проверенные и надежные решения. Используйте на свое усмотрение. Я просто делюсь тем, что сам нашел.

Перед изменением конфига, зададим пароль административной учетной записи нашего сервера бд. Для этого заходим в систему от пользователя postgres:

Меняем пароль внутреннего пользователя бд postgres:

postgrespwd — пароль пользователя для административного доступа к базе данных. Эту учетную запись необходимо использовать для добавления новой базы в Сервер 1С.

Возвращаемся к тюнингу postgres. В первую очередь рекомендую сервис pgtune — http://pgtune.leopard.in.ua. В нем можно указать характеристики сервера и получить рекомендации по настройке. Так как у нас 2 сервера разных версий — первый 9.6, второй 9.4, рекомендации будут немного отличаться. Имейте это ввиду. Вот пример рекомендаций для первого сервера от postgrespro:

Укажите эти параметры в файле конфигураций. В моем случае это файл /etc/postgresql/9.6/main/postgresql.conf. Мне знакомый скинул готовый файл настроек с рекомендуемыми параметрами для 1С. Я не знаю происхождение этого файла, но настройками воспользовался. В итоге с учетом этого конфига и сайта pgtune я получил вот такой файл конфигурации postgres:

Не забудьте перезапустить postgresql после изменения настроек:

Для версии 9.4 настройки будут немного отличаться. Там как минимум не будет параметров min_wal_size и max_wal_size. Но есть и другие отличия. Призываю не копировать мой конфиг и вставлять к себе, а сравнивать мои параметры и ваш дефолтный конфиг и изменять непосредственно значения параметров.

Есть хороший материал на тему оптимизации postgresql для работы с 1С — http://nixway.org/2015/12/06/optimizacija-postgresql-pod-server-1c-predpriyatiya. Я не буду повторяться и копировать информацию. Можете сами ознакомиться.

Заключение

В моем случае база 1С работала примерно одинаково в обоих случаях. В итоге я решил остановиться на сборке от postgrespro, так как там более свежая версия 9.6. У меня была база 10 гб. Работала она приемлемо, кроме некоторых операций — когда идет чтение по всей базе для построения каких-нибудь списков. Тюнинг различных параметров не привел к уменьшению времени выполнения подобных запросов. Так что этот вопрос остается открытый. Простого решения найти не удалось. Что точно нужно изменить для ускорения работы подобных запросов — не знаю. Разбор этой ситуации описал в отдельном материале — Ускорение работы 1С с postgresql и диагностика проблем производительности.

Заметил, что во время выполнения запроса на 100% нагружено одно ядро процессора. Погуглил тему, стало ясно, что это особенность архитектуры. Один запрос обрабатывает одно ядро. Простых способов решения данной проблемы не существует. Более подробно я не стал разбираться. На ум сразу пришло установить какой-то кэш, чтобы сохранять тяжелые запросы. Нашел информацию про pg_bouncer. Установить не получилось, он сходу из пакетов не встал с моей версией от postgrespro, ругнулся на зависимости. Надо разбираться и собирать из исходников. Нет уверенности, что это поможет, не стал заморачиваться, так как нет много времени на решение этой задачи. Буду рад любым подсказкам и комментариям по теме.

Если вы решите использовать описанное решение в продакшене, вам пригодится материал на тему бэкапа и восстановления баз postgresql.

Напоминаю, что данная статья является частью единого цикла статьей про сервер Debian.

источник

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

Adblock
detector