Меню Рубрики

Установка postgresql debian установка пароля

Установка 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 (не забудьте установить надежный и безопасный пароль), как показано ниже.

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 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 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 одинаковые виртуальные машины для теста и установил на каждую из них разную версию базы данных.

Подготовка сервера к установке 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С.

Читайте также:  Установка 16v турбо на классику

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

источник