Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Запуск нескольких экземпляров postgres на одном сервере / 11 сообщений из 11, страница 1 из 1
28.01.2020, 09:15
    #39919305
depresnak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск нескольких экземпляров postgres на одном сервере
Здравствуйте, необходимо запустить нескольких экземпляров postgres версии 11 на одном сервере, не совсем понимаю как это сделать.
В postgres я новичок, из того что прочитал в мануалах реализовать это можно с помощью кластера postgres на разных портах. Практической части с реализацией я не нашёл только теория, интересует каким образом это воплотить.

Необходимо будет создать для каждой базы данных путь к базе посредством команды
pg-setup initdb -D /usr/local/pgsql/data1 pg-setup set-server-port 5432
pg-setup initdb -D /usr/local/pgsql/data2 pg-setup set-server-port 5433
.
.
.
initdb -D /usr/local/pgsql/dataN set-server-port N

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

В моем случае базы будут переноситься с помощью pg_basebackup и в дальнейшем будет производиться репликация используя этот сервер как slave.

Возникают следующие вопросы:
1. Правильно ли я представляю организацию запуска нескольких экземпляров postgres с помощью создания кластеров?
2. Существует ли другой метод запуска экземпляров postgres с указанием порта и пути базы данных, скажем через переменные и скрипт?
3. Каким образом осуществляется подключение к тому или иному экземпляру postgres (я так понимаю они будут объединены, но в моем случае базы называются одинаково)?
4. Можно-ли будет перенести в каталоги заданные под кластеры базы с помощью pg_basebackup?
...
Рейтинг: 0 / 0
28.01.2020, 11:10
    #39919344
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск нескольких экземпляров postgres на одном сервере
initdb -D path/ или pg_basebackup -D path/
потом редактируете конфиг как нравится, попутно меняете номер порта
потом pg_ctl -D path/ start

Всё что касается postgresql.

Скорей всего вы захотите завести эти кластера в инит-систему. Смотрите документацию к своей системе.
Например, в пакетах ubuntu/debian есть замечательные наборы утилит pg_ctlcluster для управления множеством инстансов postgresql, хорошо интегрированные в инит.
Для centos (емнип, pg-setup это оттуда) такого нет, init предполагает только одну базу указанной major версии. Так что дополнительные сервисы заводятся отдельно администратором.

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

авторМожно-ли будет перенести в каталоги заданные под кластеры базы с помощью pg_basebackup?
Да, разумеется.
...
Рейтинг: 0 / 0
28.01.2020, 12:00
    #39919372
Sergej Grischenkow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск нескольких экземпляров postgres на одном сервере
Используйте DOCKER
...
Рейтинг: 0 / 0
28.01.2020, 12:15
    #39919378
depresnak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск нескольких экземпляров postgres на одном сервере
Спасибо

Melkij
initdb -D path/ или pg_basebackup -D path/
потом редактируете конфиг как нравится, попутно меняете номер порта
потом pg_ctl -D path/ start


я правильно понимаю меняю конфиг postgresql.auto.conf указываю
data_directory =
port =
...
Рейтинг: 0 / 0
28.01.2020, 13:24
    #39919426
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск нескольких экземпляров postgres на одном сервере
depresnak,

зависит от вашего как администратора желания. postgresql.conf может располагаться в $PGDATA (это дефолт для сборки из исходников) и тогда data_directory не указывается. Может располагаться где-то ещё, но тогда при старте базы вы должны указать где ей искать конфиг.
...
Рейтинг: 0 / 0
28.01.2020, 20:26
    #39919645
kolobok0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск нескольких экземпляров postgres на одном сервере
Sergej Grischenkow
Используйте DOCKER


+100500
...
Рейтинг: 0 / 0
29.01.2020, 08:51
    #39919759
depresnak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск нескольких экземпляров postgres на одном сервере
kolobok0, к сожалению для моих нужд нужен полноценный сервер
...
Рейтинг: 0 / 0
29.01.2020, 12:05
    #39919859
jan2ary
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск нескольких экземпляров postgres на одном сервере
depresnak
kolobok0, к сожалению для моих нужд нужен полноценный сервер
А чем докер не полноценный?
Унифицированный образ, под данные монтируете разные вольюмы, назначаете разные порты.
...
Рейтинг: 0 / 0
29.01.2020, 12:17
    #39919871
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск нескольких экземпляров postgres на одном сервере
jan2ary
под данные монтируете разные вольюмы, назначаете разные порты.

Как говорится найдите 5 отличий от простого запуска нескольких экземпляров базы.
...
Рейтинг: 0 / 0
29.01.2020, 12:21
    #39919877
Sergej Grischenkow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск нескольких экземпляров postgres на одном сервере
Отличия есть... и в пользу DOCKER"а
Для тех кто не любит сторонние "поделки" - можно и LXC (контейнеры) использовать.
...
Рейтинг: 0 / 0
29.01.2020, 20:44
    #39920204
kolobok0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск нескольких экземпляров postgres на одном сервере
depresnak,

Если бы Вы знали на чём крутятся известные в РФ магазины и как оно устроено внутри...
Высказывания о полноценности забылись бы на долго ..

удачи вам
(круглый)
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Запуск нескольких экземпляров postgres на одном сервере / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]