Как запустить postgresql 11 linux

Обновлено: 04.07.2024

PostgreSQL, как сказано на её официальном сайте, это самая продвинутая в мире реляционная база данных с открытым исходным кодом.

Использование PostgreSQL

Как запустить службу PostgreSQL. Как управлять службой PostgreSQL

Запуск службы PostgreSQL:

Остановка службы PostgreSQL:

Добавление службы PostgreSQL в автозагрузку:

Удаление службы PostgreSQL из автозагрузки:

Для просмотра состояния процесса PostgreSQL:

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

Как узнать, какая версия PostgreSQL запущена

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

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


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


Ещё один вариант определения версии PostgreSQL:


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

Хотя вместо postgres можно использовать postmaster, использование postgres предпочтительнее, поскольку postmaster это устаревший псевдоним для postgres.

Если вы предпочитаете вариант с SQL, то подключитесь к интерактивному терминалу:

Также вам может пригодиться один из следующих вариантов


Как инициализировать базу данных PostgreSQL

Остановите службу, если она запущена:

Директория /var/lib/postgres/ должна принадлежать пользователю postgres:

Смените пользователя на postgres:

Выполните инициализацию БД:

Если вы столкнулись с ошибкой:

То найдите расположение файла initdb:

И укажите до него полный путь в команде инициализации:

Нажмите CTRL+D

Запустите службу PostgreSQL:

Создайте нового пользователя (например, user):

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

Создайте базу данных (например, my-first-db):

Как подключиться к локальному серверу PostgreSQL

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

Примеры синтаксиса команд:

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

Какой конфигурационный файл использует PostgreSQL

Конфигурационный файл PostgreSQL носит имя postgresql.conf.

В системе может быть несколько конфигурационных файлов PostgreSQL. Вы можете найти их командой:

Что особенно важно, systemd может использовать свои собственные конфигурационные файлы, например:

  • /usr/lib/systemd/system/postgresql@.service.d/kali_postgresql.conf (путь в Kali Linux)
  • /usr/lib/sysusers.d/postgresql.conf (путь в Arch Linux)

Если вы настраиваете PostgreSQL, но после перезапуска службы с помощью systemd (systemctl) изменения не применяются, возможно, вы просто редактируете неверный файл.

Также конфигурационный файл имеется в директории с базой данных, например:

  • /var/lib/postgres/data/postgresql.conf

С пакетом PostgreSQL могут поставляться образцы конфигурационных файлов, например:

  • /usr/share/postgresql/14/postgresql.conf.sample
  • /usr/share/postgresql/postgresql.conf.sample

Как обновить базу данных PostgreSQL при переходе на новую версию


Оно означает, что в системе 2 установленные версии PostgreSQL:

Если запустить службу PostgreSQL командой:

И проверить версию командой:

То будет выведено следующее:


То есть по умолчанию используется 13, устаревшая версия.

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

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

Последующие действия подразумевают, что вы

1) установили новую версию PostgreSQL, но ещё не использовали её, то есть не сохраняли базы данных, поскольку файлы новой версии будут удалены.

2) хотите перенести старые база данных в новый формат

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


На скриншоте только один из них online (я успел удалить пакет postgresql-13), но у вас оба должны быть online, иначе перенос базы данных не удастся.

Пример правильного вывода:

Как можно увидеть, обе версии 13 и 14 в настоящее время установлены и запущены. Держите в уме, что при переносе старой базы данных в новый формат вам понадобиться двойной объём места на диске, поскольку pg_upgradecluster копирует данные.

Процедура обновления включает в себя следующее:

1. Удаляем данные новой версии:

2. Запускаем процедуру обновления кластера:


3. Когда операция будет завершена, дважды проверьте, что всё работает

4. Удалите старую версию

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

Вновь проверяем версию:


Теперь используется 14, то есть самая последняя версия.

В чём разница между postgres и psql

postgres

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

Один экземпляр postgres всегда управляет данными только одного кластера базы данных. Кластер базы данных — это набор баз данных, который хранится в общей папке файловой системы («область данных»). В системе может работать более одного экземпляра postgres одновременно, если они используют разные области данных и разные порты связи. Когда postgres запускается, ему необходимо знать расположение области данных. Местоположение должно быть указано параметром -D или переменной среды PGDATA; по умолчанию это значение не установлено. Обычно -D или PGDATA указывает непосредственно на каталог области данных, созданный initdb.

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

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

Чтобы запустить postgres с определенным портом, например, 1234:

Чтобы подключиться к этому серверу с помощью psql, укажите этот порт с параметром -p:

или установите переменную окружения PGPORT:

psql

psql — это интерфейс для PostgreSQL на основе терминала. Он позволяет вам вводить запросы в интерактивном режиме, отправлять их в PostgreSQL и просматривать результаты запросов. В качестве альтернативы ввод может быть из файла или из аргументов командной строки. Кроме того, psql предоставляет ряд мета-команд и различных функций, подобных оболочке, для облегчения написания сценариев и автоматизации широкого спектра задач.

Пример запуска psql:

Запуск psql от пользователя postgres, который создаётся по умолчанию:

Ошибки PostgreSQL

psql: error: не удалось подключиться к серверу: Нет такого файла или каталога

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

вы можете столкнуться с ошибкой:

В англоязычной версии эта ошибка выглядит так:

Эта ошибка означает, что служба PostgreSQL не запущена, для её запуска выполните команду:

Альтернативный вариант запуска службы следующий:

Другой возможной причиной ошибки может быть то, что psql ищет файл сокета в неверной директории: например, файл сокета помещён в /tmp, а psql ищет его в /run/postgresql/. В этом случае вы можете с помощью опции --host явно указать директорию, в которой находится сокет:

FATAL: не удалось создать файл блокировки "/run/postgresql/.s.PGSQL.5432.lock": Нет такого файла или каталога

При запуске системы БД, например, следующей командой:

Вы можете столкнуться с ошибкой:


В англоязычной версии ошибка выглядит так:

  1. Создать данную директорию (если она отсутствует) и сделать её владельцем пользователя postgres
  2. Отредактировать конфигурационный файл так, чтобы служба пыталась создавать файл блокировки в директории /tmp, на которую у всех пользователей есть право записи

Первый вариант — создаём директорию /run/postgresql/ и назначаем её владельцем пользователя postgres:

Второй вариант — открываем конфигурационный файл postgresql.conf (у вас может быть другое расположение)

И добавляем туда следующую запись:

sudo: postgres: command not found

Если при использовании postgres вы столкнулись с ошибкой:

то у этой проблемы может быть две возможных причины:

1. Не установлен пакет postgresql.

Установите его одной из следующих команд.

В Debian, Kali Linux, Linux Mint, Ubuntu и их производных:

В Arch Linux, Manjaro, BlackArch и их производных:

2. Исполнимый файл postgres находится за пределами $PATH

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

Найдите исполнимый файл


Как можно видеть на скриншоте, исполнимый файл присутствует для двух версий сервера:

  • /usr/lib/postgresql/13/bin/postgres
  • /usr/lib/postgresql/14/bin/postgres

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

psql: ошибка: ВАЖНО: роль "" не существует

При попытке запуска интерактивного терминала PostgreSQL

Вы можете столкнуться с ошибкой:

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

В англоязычной версии ошибка выглядит так:


Для psql необходимо имя пользователя и если оно не указано явно, то передаётся имя пользователя системы. Но поскольку данный пользователь не существует на сервере PostgreSQL, то возникает указанная выше ошибка.

Вы можете создать пользователя с любы именем, как это показано выше и ошибка исчезнет.

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

Вы должны указать его расположение в параметре --config-file или -D, либо установить переменную окружения PGDATA

При запуске postgres вы можете столкнуться с ошибкой:


В англоязычной версии:

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

Конфигурационный файл называется postgresql.conf, но нужно указать не его, а директорию, в которой он содержится. Например:


initdb: command not found

Смотрите объяснение данной проблемы, а также дополнительные пути устранения в описании аналогичной ошибки: sudo: postgres: command not found

Найдите initdb с помощью:

  • /usr/lib/postgresql/13/bin/initdb
  • /usr/lib/postgresql/14/bin/initdb

И используйте в ваших командах абсолютный путь до файла initdb нужной вам версии, например:

Основные улучшения PostgreSQL 11:

  • Улучшения в функциональности разбиения
  • Хранимые процедуры SQL, поддерживающие встроенные транзакции
  • Улучшения параллелизма
  • Оконные функции теперь поддерживают все параметры кадрирования, показанные в стандарте SQL: 2011
  • Дополнительная компиляция Just-in-Time (JIT) для некоторого кода SQL, ускоряющая оценку выражений
  • Повышение производительности, включая возможность избежать перезаписи таблицы для ALTER TABLE… ADD COLUMN с ненулевым столбцом по умолчанию
  • Теперь можно создавать закрывающие индексы, используя предложение INCLUDE в CREATE INDEX.

Для CentOS / Fedora, обратитесь к:

На странице Release представлены все новые функции, доступные в PostgreSQL 11. Выполните шаги, описанные в следующих разделах, чтобы установить PostgreSQL 11 в Ubuntu 18.04 / Ubuntu 16.04.

Шаг 1: Обновите систему и установите зависимости

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

После перезагрузки системы установите vim и, wget если она еще не установлена.

Шаг 2: Добавьте PostgreSQL 11 APT-репозиторий

Перед добавлением содержимого репозитория в систему Ubuntu 18.04 / Ubuntu 16.04 необходимо импортировать ключ подписи репозитория:

После импорта ключа GPG добавьте содержимое репозитория в вашу систему Ubuntu 18.04 / 16.04:

После импорта ключа GPG добавьте содержимое репозитория в вашу систему Ubuntu 18.04 / 16.04:

Шаг 3: Установите PostgreSQL 11 в Ubuntu 18.04 / Ubuntu 16.04

Последний этап установки предназначен для пакетов PostgreSQL 11. Выполните следующие команды для установки PostgreSQL 11 в Ubuntu 18.04 / Ubuntu 16.04.

Шаг 4: Разрешить доступ к PostgreSQL с удаленных хостов

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

Чтобы разрешить доступ к сети, отредактируйте файл конфигурации:

Добавьте строку ниже в разделе ПОДКЛЮЧЕНИЕ И АУТЕНТИФИКАЦИ

Вы также можете указать IP-адрес сервера

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

Подтвердите адрес привязки для PostgreSQL:

Если у вас есть активный брандмауэр UFW, разрешите порт 5432

Шаг 5: Установите пароль администратора PostgreSQL и проведите тестирование

Установите пароль для администратора по умолчанию

Вы также можете добавить других пользователей базы данных:

Добавить тестовую базу данных:

Выполните тестовую операцию, войдя в систему как dbuser1 и работая на testdb

установить и настроить PostgreSQL на Ubuntu

Изучение

Когда мы говорим о работе с базами данных в любой операционной системе, всегда обсуждаются системы управления базами данных (СУБД). PostgreSQL также является СУБД, которая попадает в категорию систем управления реляционными базами данных, т. Е. Занимается управлением и работой реляционных баз данных. Эта реляционная СУБД позволяет гибко создавать базы данных, управлять ими и устанавливать их в любой известной операционной системе, например Linux, macOS и Windows. Именно поэтому эта СУБД получила большую известность среди многих программистов.

Эта реляционная СУБД является бесплатной и имеет открытый исходный код, что способствует ее широкому использованию в различных отраслях промышленности. Более того, эта СУБД имеет дело с типом транзакций — ACID, т. Е. Она может эффективно выполнять транзакции со свойствами ACID (атомарность, согласованность, изоляция и надежность). Это означает, что если у вас есть данные с этими свойствами и вы хотите создать для них реляционную базу данных, вам обязательно следует рассмотреть возможность использования сервера PostgreSQL.

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

Концепция наследования также хорошо работает с таблицами, созданными в базах данных этой СУБД. Это означает, что вы можете очень удобно позволить таблице наследовать свойства своей родительской таблицы при использовании сервера PostgreSQL. Помимо этого, эта СУБД также позволяет создавать резервные копии ваших данных в Интернете, предотвращая любые потери данных. Кроме того, он также поддерживает восстановление на определенный момент времени для облегчения доступа к восстановленным данным. К настоящему времени мы достаточно обсудили соответствующие функции сервера PostgreSQL. Теперь самое время поговорить о самом фокусе этой статьи.

Цель этой статьи — научить вас процедуре установки сервера PostgreSQL в дистрибутиве Linux, то есть Ubuntu 20.04. Вы также можете использовать любой другой вариант Linux по вашему выбору, если хотите. Однако описанный ниже метод будет отлично работать с системой Ubuntu 20.04.

Методика начала работы с PostgreSQL в Ubuntu 20.04

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

Шаг № 1: Подготовьте вашу систему к установке PostgreSQL

Перед установкой чего-либо в любом дистрибутиве Linux настоятельно рекомендуется обновить систему. Этой цели можно достичь с помощью следующей команды:

Шаг № 2: Запустите команду установки для PostgreSQL

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

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

С помощью этой команды вы сможете очень удобно установить PostgreSQL

Шаг № 3: проверьте активный статус PostgreSQL

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

Результат, представленный на изображении ниже, подтверждает

Результат, представленный на изображении ниже, подтверждает, что PostgreSQL активен в нашей системе. Однако здесь следует отметить, что этот сервер сейчас не работает. Он запустится только после того, как мы запустим этот сервер. Именно поэтому статус оказался «активен (вышел)», а не «активен (работает)».

Шаг № 4: Запустите PostgreSQL, получив доступ к его серверу

После проверки состояния сервера PostgreSQL в нашей системе Ubuntu 20.04 мы получим доступ к этому серверу, чтобы он мог начать работу, с помощью следующей команды:

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

Шаг № 5: Войдите в консоль PostgreSQL

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

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

Вы можете увидеть консоль PostgreSQL на следующем изображении

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

Дополнительный совет

В качестве дополнительного совета мы хотели бы научить вас, как вернуться к обычному терминалу в Ubuntu 20.04. Для этого вам сначала нужно выйти из консоли PostgreSQL, после чего вам придется выйти из сервера PostgreSQL. Это можно сделать, следуя двум приведенным ниже советам:

Совет № 1: как выйти из консоли PostgreSQL?

Для выхода из консоли сервера PostgreSQL вам необходимо ввести «\ q» в этой консоли и нажать клавишу Enter, как показано на следующем изображении:

Для выхода из консоли сервера PostgreSQL вам необходимо ввести

Как только вы это сделаете, вы выйдете из консоли сервера PostgreSQL.

Совет № 2: Как выйти из сервера PostgreSQL?

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

Теперь для выхода из сервера PostgreSQL вам необходимо

Когда вы запустите эту команду, вы успешно выйдете из сервера PostgreSQL.

Заключение

Из этого руководства вы легко поймете, насколько просто запустить PostgreSQL в системе Linux. Мы использовали систему Ubuntu 20.04 для объяснения этого метода. Главное, что вам нужно, — это установленный в вашей системе сервер PostgreSQL. Если вы установили его в своей системе и он находится в активном состоянии, то запуск этого сервера в вашей системе займет всего несколько секунд. Кроме того, в качестве дополнительного совета мы также научили вас, как выйти из консоли сервера PostgreSQL и как выйти из этого сервера.

date

11.10.2019

directory

CentOS, Linux

comments

Один комментарий

В данной статье мы проведем установку СУБД PostgreSQL 11 в Linux CentOS 7, выполним базовую настройку сервера и СУБД, рассмотрим основные параметры конфигурационного файла, а так же способы тюнинга производительности. PostgreSQL – популярная свободная объектно-реляционная система управления базами данных. Не смотря на то, что она не так распространена как MySQL/MariDB, она является самой профессиональной.

Сильные стороны PostgreSQL:

  • Полное соответствие стандартам SQL;
  • Высокая производительность за счет управления многовариантным параллелизмом (MVCC);
  • Масштабируемость (широко используется в высоконагруженных средах);
  • Поддержка множества языков программирования;
  • Надёжные механизмы транзакций и репликации;
  • Поддержка данных в формате JSON.

Установка PostgreSQL в CentOS/RHEL

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

Первым шагом устанавливаем репозиторий PosgreSQL (на данный момент он устанавливается следующим образом):

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

подключение репозитория PosgreSQL

Установим последнюю доступную версию версию (PostrgeSQL 11) c помощью yum.

yum install postgresql11-server -y

В процессе установки устаналивается сам сервере PostgreSQL и необходимые библотеки:

После установки пакетов, нужно произвести инициализацию базы данных:

Так же сразу добавим сервер БД в автозагрузку и запустим его:

systemctl enable postgresql-11

systemctl start postgresql-11

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

Если вам нужен доступ к PostgreSQL снаружи, вам нужно открыть порт TCP/5432, в стандартном firewall в Centos 7:

Если включен SELinux, выполните:

Подключение к PostgreSQL, создание БД, пользователя

По умолчанию при установке PostgreSQL в системе есть один пользователь —postgres.

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

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

Открылась консоль PostgreSQL. Покажем несколько простых примеров управления PostgreSQL из консоли psql.

Т.к. любой пользователь системы может авторизоваться в postrgesql, сначала нужно изменить пароль пользователя postgres.

ALTER ROLE postgres WITH PASSWORD 'super_str0ng_pa$$word';

Сразу создадим новую базу данных, пользователя и дадим ему полные права на эту БД:

Подключиться к БД:

Вывести список таблиц:

Вывести список запросов к базе:

Сбросить все подключения к базе:

Информацию о текущей сессии можно получить так:

Для завершения работой с консолью psql, выполните:

Как вы уже заметили, синтаксис не отличается от той же MariaDB или MySQL и поэтому особо останавливаться на однотипных командах мы не будем.

Отметим, что для более удобного управления базами PostgreSQL из веб-интерфейса рекомендуется использовать pgAdmin4 (написан на Python и Javascript/jQuery). Это аналог привычному многим веб разработчикам PhpMyAdmin.

pgAdmin4 веб интерфейс управления

Основные параметры конфигурационных файлов PostgreSQL

Файлы конфигурации postgresql находятся в директории /var/lib/pgsql/11/data:

  • postgresql.conf — непосредственно сам файл конфигурации postgresql;
  • pg_hba.conf — файл с настройками доступа. В данном файле, можно выставлять различные ограничения для пользователей, устанавливать политику подключения к БД;
  • pg_ident.conf — этот файл используется при идентификации клиентов по протоколу ident.

Чтобы запретить локальным пользователям вход в postgres без авторизации, в файле pg_hba.conf укажите:

Рассмотрим наиболее важные параметры в конфигурационном файле postgresql.conf:

Резевное копирование и восстановление БД в PostgreSQL

Создать резервную копию в PostgreSQL БД можно несколькими способами. Рассмотрим самый простой вариант.

Для начала проверим, какие БД запущены на сервере:

postgres - вывести список баз данных

У нас имеются 4 базы данных, 3 из которых системные (postgres и template).

Ранее мы создавали БД с именем “mydbtest”, на ее примере и выполним резервное копирование.

Один из способов резервного копирования, это выполнение его с помощью утилиты pg_dump:

Чтобы восстановить указанный дамп в нужную БД, можно воспользоваться утилитой psql:

sudo -u postgres psql mydbtest < /root/dupm.sql

резервное копирование postgres с помощью psql

Так же можно создать бэкап в специальном формате дампа и сжатом с применением gzip:

sudo -u postgres pg_dump -Fc mydbtest > /root/dumptest.sql

sudo -u postgres pg_restore -d mydbtest /root/dumptest.sql

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

man psql
man pg_dump
man pg_restore

Оптимизация и тюниг PostgreSQL

В предыдущей статье о MariaDB, мы показывали, как можно привести практически к идеалу параметры конфигурационного файла my.cnf с помощью тюнеров. Для PostgreSQL существует, хотя правильнее сказать существовала такая утилита как PgTun, но к сожалению она уже давно не обновляется. В тоже время есть масса онлайн сервисов, с помощью которых вы можете настроить оптимальную конфигурацию для вашего PostgreSQL. Мне нравится сервис pgtune.leopard.in.ua.

Интерфейс очень прост. Вам нужно указать параметры вашего сервера (профиль, процессоры, память, тип дисков) и нажать кнопку “Generate”. В результате вам будет предложен вариант конфигурационного файла postgresql.conf с рекомендуемыми значениями основных параметров СУБД.

Например, для VPS SSD сервера с 2 Гб оперативной памятью, 2 CPU для запуска нескольких сайтов рекомендуются следующие настройки в postgresql.conf:

pgtune для postgresql

И это на самом деле не единственный ресурс, на момент написания статьи, были достпны аналогичные сервисы:

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

Читайте также: