
Vadim
24.06.2017
10:49:57
ну тогда индекс тебе никак не поможет в этом случае

Sergey
24.06.2017
10:50:02
спасибо
ну так понимаю нет смысла форсом запускат ьиндекс
оптимизатор все -таки умнее

Google

Vadim
24.06.2017
10:50:59
Оптимизатор обычно в 90% случаев прав
если статистика конечно актуальная

Pavel
24.06.2017
11:19:55
Господа а расскажите как устроена передача jsonb в протоколе версии 3. Там что-то специфичное бинарное или просто текстовый формат обрабатывается?

Vlad
24.06.2017
12:17:00
Добрый день
select *, count(company_section.section_id) from section inner join company_section on section.id = company_section.section_id where parent_id = 22 group by company_section.section_id Так выглядит полный запрос
Текущий раздел 22
Есть 2 подраздела с парент id =22
Мне нужно в разделе вывести эти 2 подраздела с указаним числа компаний в подразделах

Alexander
24.06.2017
13:53:45
напомните, пожалуйста, про check constraints, если нужно сделать проверку bool(user_id) XOR bool(organization_id), это как правильнее всего написать?
(установлен ровно 1 внешний ключ из 2)
чёт я ступил, простой вопрос)

Артур
24.06.2017
16:15:22
Искал в доке не нешел. Есть в postgis какая либо функция, которая выдаст плизжайшую точку из выборки?
Или c order by можно только?
есть 6 точек магазинов и 20 аресов. Мне нужно определить для каждого адреса близжайший магазин

Darafei
24.06.2017
16:31:07

Andrey
24.06.2017
16:49:43
а у контейнера вправду айпишник 192.168.56.102?
Спасибо, подсказали. Я еще новичок в этом. Действительно, нашел актульный ip. Еще вопрос, при запуске слейва посмотрев docker inspect'ом я получил такой же ip.Как тогда прописать в pg_hba.conf и postgresql.conf правильные адреса, если они одинаковые?

Darafei
24.06.2017
16:59:10

Google

Alex
24.06.2017
17:51:46
ребят для широты и долготы тип point(x,y) подойдет или postgis взять ? Мне он нужен просто для хранения чтоб потом отдовать мобильному приожению, никакой логики на стороне базы не будет.

Vadim
24.06.2017
17:53:33
2 флоата)

عاصم بن حارث
24.06.2017
17:53:56

Alex
24.06.2017
17:54:32
(41.715138, 44.827096)

عاصم بن حارث
24.06.2017
17:55:08
тогда пара флоат норм.

Alex
24.06.2017
17:55:28
ясно , спасибо

عاصم بن حارث
24.06.2017
17:56:31

Fike
24.06.2017
18:18:18
До поднятия контейнера вы не знаете айпишник, поэтому действительно лучше через docker-compose, который возьмет на себя работу с dns - вы сможете указать в конфигурации хостнейм вместо айпишника
то же самое можно сделать и из командной строки, но проще через компоуз

Ascandar
24.06.2017
18:23:31
Для других бд отменили, тут чего ждут?)))

Fike
24.06.2017
18:24:24
для каких других?
только спаннер и кокроач только-только выкатили, все остальное мгяко говоря не представляет, с чем работает

Аггей
24.06.2017
18:26:35
Таки и оракл rac - общий сторадж... Не совсем геораспределенный кластер
А dataguard не далеко ушёл от pg+repmgr
Есть ещё mysql мультимастер - но там логическая репликация и это тоже не вполне кластер

Ascandar
24.06.2017
18:30:01
Dataguard oracle и alwayon от микрософта
Все из коробки без третих костылей

Аггей
24.06.2017
18:31:00

Google

Аггей
24.06.2017
18:31:28
А так да - настраивается достаточно просто

Ascandar
24.06.2017
18:31:55
Шлак то шлак, мне хотелось что из коробки было в постгресе

Fike
24.06.2017
18:32:05
Все из коробки без третих костылей
Если все это просто переключение мастера по потери связи с ним, то любая турбулентность в сети между георазнесенными локациями будет очень веселой

Аггей
24.06.2017
18:32:31
Ну repmgr - он в основном репозитории postgres

Ascandar
24.06.2017
18:32:44
Оракл можно настроит так, что все комиченные транзакуии не потеряешь

Fike
24.06.2017
18:33:06
I doubt that

Аггей
24.06.2017
18:33:16
Я вообще считаю oracle самой развитой СУБД... Но цена

Ascandar
24.06.2017
18:33:29
Цена это десть
Жесть

Fike
24.06.2017
18:34:14
Есть два кандидата на мастер. Сетка начинает шалить. Сначала выпадает первый мастер, транзакция Т2 идет на второй. Потом выпадает второй, возвращается первый, транзакция Т2 идет на первый. В результате на серверах две разные истории. Конфликты собирать реляционки не умеют.

Ascandar
24.06.2017
18:34:22
Вся надежда постгре, но там уже типа кластера и бэкапы на горячую насинается квест, что лучше и проше

Fike
24.06.2017
18:34:51
(предполагается, что первый мастер про Т1 не узнал)

Ascandar
24.06.2017
18:35:03

Аггей
24.06.2017
18:35:05

Fike
24.06.2017
18:35:11
Почему не возвращается?
Второй выпал, источников правды в кластере больше нет

Ascandar
24.06.2017
18:35:39
Выпавший становится слейвом
А слейв мастером

Аггей
24.06.2017
18:35:49
Его листнер отстреливает при переключении

Fike
24.06.2017
18:36:00
Сетка не работает

Google

Fike
24.06.2017
18:36:05
кто его отстрелит?

Ascandar
24.06.2017
18:36:15
В оракле хорошо работает этот механизм
Очень даже хорошо

Fike
24.06.2017
18:36:37
Слейвом чего он станет, если для него ситуация "сеть исчезла ... сеть вернулась, мастера два в кластере нет"?

Admin
ERROR: S client not available

Ascandar
24.06.2017
18:36:43
Слейв обявить себя главным, там брокер решает

Аггей
24.06.2017
18:37:04

Fike
24.06.2017
18:37:11
ну вот так первый мастер и вернется в кластер, когда больше никого в нем не останется
Там "триггерный" механизм
Как это поможет в условиях "сети нет"? Он не может принимать сообщения от других участников, не может оценить сам ситуацию в кластере.
Если там есть центральный брокер кластера, то это еще хуже, потому что управление участниками начинается от его настроения и connectivity

Ascandar
24.06.2017
18:39:06
Никогда такой проблемы не наблюдал
Сеткп пропадала часто и всегда норм

Fike
24.06.2017
18:39:19
И в этом случае тоже у него выбор между "потушить кластер" и "разрешить расхождение историй"
Как же я люблю аргументы в стиле "на моей машине все работает"

Ascandar
24.06.2017
18:40:24
На моей не знаю, на промах все ок

Fike
24.06.2017
18:40:57
На моем опыте "все ок" обычно значит, что данные где-то перезатерлись, но об этом никто не знает, потому что не следит.

Аггей
24.06.2017
18:41:39

Fike
24.06.2017
18:42:03
С тем же успехом могу предложить CAP и основы распределенных систем
> To provide this level of protection, the redo data needed to recover each transaction must be written to both the local online redo log and to the standby redo log on at least one standby database before the transaction commits
- Мастер М1 отправляет коммит в redo log и на М2
- Данные уходят, подтверждение не приходит
- Мастер М1 даунгрейдится
- Мастер М2 читает redo log, применяет транзакцию, и через какое-то время даунгрейдится
- Мастер М1 снова выбирается мастером
- Расхождение историй
Это всегда игра с коммитами в распределенных точках, которые никогда нельзя проконтролировать.

Google

Fike
24.06.2017
18:46:55
Когда ты отправил данные на коммит, у тебя нет никакой гарантии, что ты будешь знать, применился он или нет.
Вся эта энтерпрайзная игра с "давайте покоммитим в большее количество источников" понижает риски, но никогда ничего не гарантирует. Потому что даже коммит по кворуму может начаться с разных концов кластера, чтобы только на центральном узле узнать о конфликте - в то время как две противоположные стороны уже закоммитили данные

Аггей
24.06.2017
18:53:30
Сейчас сам разберусь в выше написанном... В своём понимании датагарда и возможно контраргументирую

Ascandar
24.06.2017
20:47:00
Сплит брейн решается через наблюдателя(observer) ставится он на каждый сервер с бд и один как арбитр типа кворума в понимании постгреса
Я также и постгрес при настройке corosync и pacemaker делаю

Vova
25.06.2017
04:59:58
Админ еще спить :)

Сергей
25.06.2017
05:01:12
Ох уж эти бешеные бабки.. ночью повылазят...

Darafei
25.06.2017
05:06:18
доброго утра :)

Fike
25.06.2017
07:10:55

Pavel
25.06.2017
07:38:48

WoodyFire
25.06.2017
11:47:03
Всем привет.
Помогите пожалуйста новичку разобраться.
Имеется: PostgreSQL 9.6 установлен на FreeBSD 11.
Разработку базы веду на windows машине. Если нужно могу и на linux машине. Но суть такая. Нужен инструмент для отладки выполняемых процедур, функций, триггеров.
pgAdmin 3 - как я понял поддержка его закончилась. В этой версии сервера он уже бекапы не делает.
pgAdmin 4 - тормоз.
Для них нужен плагин чтобы был отладчик. Ковырялся долго но так и не понял откуда взять библиотеку. Перевернул всю сборку PostgreSQL но такой библиотеки нет.
Какие есть инструменты? Пробовал DBeaver не увидел возможности отладки кода.
Уж очень сильно хочется пересесть с MySQL на PostgreSQL. Для себя увидел много открываемых возможностей. А вот писать код чисто и без ошибок не умею. Тем более на стадии изучения )))

Pavel
25.06.2017
12:07:34