Size: a a a

pgsql – PostgreSQL

2021 February 04

ХБ

Ходад Бродад... in pgsql – PostgreSQL
Alexey Lesovsky
конфигурация делится на динамическую и локальную - с помощью динамической можно делать "общий" конфиг для всех узлов. с помощью локальной можно делать индивидуальные настройки для узлов. таким образом патрони дает вам гибкость в определении настроек.
В контрпример можно привести stolon - там поддерживается только динамическая конфигурация и переопределять отдельные настройки для отдельных узлов нельзя.
Это опробовано и работает?
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
да, на собственном опыте
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
практической эксплуатации в production окружениях
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
patroni довольно зрелый проект, поэтому то что заявлено в документации обычно работает так как и заявлено
источник

ХБ

Ходад Бродад... in pgsql – PostgreSQL
Alexey Lesovsky
да, на собственном опыте
Отлично. Спасибо большое!
источник

АЗ

Андрей Зубков... in pgsql – PostgreSQL
Me👀
Привет всем знатокам!
У меня есть таблица, в ней есть JSONB колонка values, в которой записан JSON вида:
[{value: 0, timestamp: '2020-11-11T00:00:00-06:00'}, {value: 0, timestamp: '2020-11-11T01:00:00-06:00'}, {value: 0, timestamp: '2020-11-11T02:00:00-06:00'}, ....... {value: 0, timestamp: '2020-11-11T23:00:00-06:00'}].

На входе у меня будет start_date, end_date.

Я хочу сделать запрос SELECT, но такой хитрый, чтобы в результате values были между start_date и end_date. Типа обрезать JSON и вернуть мне его) Это как-то можно сделать?:)

Накидал простой пример: https://dbfiddle.uk/?rdbms=postgres_11&fiddle=e646724f207bc7a55e7c91c6080fb273

Спасибо)
Тут всего два удара бубном - развернуть JSON, отфильтровать, и завернуть обратно:
SELECT
 json_agg(row_to_json(data))
FROM jsonb_to_recordset('[{"value": 0, "ts": "2020-11-11T00:00:00-06:00"}, {"value": 1, "ts": "2020-11-11T01:00:00-06:00"}, {"value": 2, "ts": "2020-11-11T02:00:00-06:00"},{"value": 23, "ts": "2020-11-11T23:00:00-06:00"}]') AS data(value integer, ts timestamp with time zone)
WHERE
 data.ts BETWEEN '2020-11-11T00:10:00-06:00' AND '2020-11-11T02:10:00-06:00';
источник

ХБ

Ходад Бродад... in pgsql – PostgreSQL
Alexey Lesovsky
patroni довольно зрелый проект, поэтому то что заявлено в документации обычно работает так как и заявлено
А есть описание, как развернуть patroni на паре серверов с несколькими инстансами postgresql?
источник

ГА

Георгий Ава... in pgsql – PostgreSQL
Ходад Бродад
А есть описание, как развернуть patroni на паре серверов с несколькими инстансами postgresql?
На каждый инстанс свой конфиг и служба patroni.
источник

ХБ

Ходад Бродад... in pgsql – PostgreSQL
А если нужно перезапустить postgres, то перезапускается только 1 инстанс или все?
источник

D

Den in pgsql – PostgreSQL
Добрый день. Есть умельцы, которые могут восстановить БД 1С на postrges из бэкапа? Бэкап с ошибками, но полный и читаемый.
источник

ГА

Георгий Ава... in pgsql – PostgreSQL
Ходад Бродад
А если нужно перезапустить postgres, то перезапускается только 1 инстанс или все?
перезапуск делается ч\з patroni, на Ваше усмотрение(все ноды\конкретная нода)\(выполнить немедленно\запланировать)
источник

ХБ

Ходад Бродад... in pgsql – PostgreSQL
Ноды понятно, как он несколько инстансов на одной ноде видит?
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
Ходад Бродад
А есть описание, как развернуть patroni на паре серверов с несколькими инстансами postgresql?
поищите мануалы в интернтах, там впринципе все просто... при необходимости поднять DCS, сделать конфиг для патрони, запустить патрони  на мастере (он неявно перезапустит постгрес), потом тоже самое проделать на репликах
источник

ГА

Георгий Ава... in pgsql – PostgreSQL
Ходад Бродад
Ноды понятно, как он несколько инстансов на одной ноде видит?
Ни как, каждому инстансу свой patroni. Т.е. один patroni на мастер+слэйвы

Рекомендую https://habr.com/ru/post/504044/
там вроде и видео этого доклада должно быть.
источник

ХБ

Ходад Бродад... in pgsql – PostgreSQL
Двух серверов для патрони достаточно или лучше 3? Etcd - понятно, там 3, а лучше 5.
источник

ГА

Георгий Ава... in pgsql – PostgreSQL
Ходад Бродад
Двух серверов для патрони достаточно или лучше 3? Etcd - понятно, там 3, а лучше 5.
Главное etcd не четное количество.
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
+1
источник

ХБ

Ходад Бродад... in pgsql – PostgreSQL
Это я видел, спасибо. Уже разворачивал такое для 1 базы на 3 серверах с etcd. Отлично работает. Теперь вот надо воткнуть несколько баз на 2 или 3 сервера
источник

ХБ

Ходад Бродад... in pgsql – PostgreSQL
Георгий Ава
Главное etcd не четное количество.
А patroni как я понимаю все равно.
источник

ГА

Георгий Ава... in pgsql – PostgreSQL
patroni определяет, кто живой\главный основываясь на etcd, поэтому количество узлов postgres в принципе без разницы.
источник