@pgsql

Страница 215 из 1062
Quet
11.01.2017
17:08:56
там не то что значение — вся строка будет записана еще раз

Mikhail
11.01.2017
17:39:20
ты начал с EAV, прямая трансляция EAV в jsonb выглядит, как flat object
А есть пример схемы с jsonb которая заменяет eav

?

Google
Darafei
11.01.2017
17:40:12
|entity|{attribute: value, attribute:value, attribute:value} ?

Mikhail
11.01.2017
17:41:42
ну eav посложнее все таки, там тип атрибута есть еще например

ну вообщем я понял, вроде ничего страшного нет в такой схеме

Dmitriy
11.01.2017
18:16:13
Привет постгресоводам и сочувствующим

Марк ☢
11.01.2017
18:16:30
осторожно, тут серьёзные пацаны, могут кикнуть

Dmitriy
11.01.2017
18:16:40
У меня простой вопрос, 9.6.1 уже можно в продакшн тащить или надо подождать?

Я же без набросов, по делу :)

Darafei
11.01.2017
18:20:36
Dmitriy
11.01.2017
18:21:53
у амазона почти бесконечные ресурсы на исправления чего угодно, у меня такого нет :(

я почему спрашиваю - когда-то давно было поверье вида "не переходи на новый мажор до версии минора в 3"

я сейчас не особо в курсе, возможно это уже не так актуально

Dmitry
11.01.2017
18:22:56
https://www.youtube.com/watch?v=QTiCCMGhQoY

Dmitriy
11.01.2017
18:22:59
энивей, здесь наверное должны быть в курсе, есть ли какие-либо родовые болячки в 9.6.1 или уже всё хорошо

Google
Pavel
11.01.2017
18:23:04
Оно и сейчас есть. Но никто не застрахован и в 3 получить косяк

Это я про поверие

Dmitriy
11.01.2017
18:25:07
Вопрос в вероятности :)

а зачем вам 9.6?
Да не зачем, если честно. Ребята хотят обновиться с 9.3

Dmitry
11.01.2017
18:25:44
ну с 9.3 да, надо определенно обновляться

Yevhen
11.01.2017
18:25:54
А сначала на тестовом попробовать?

Dmitriy
11.01.2017
18:26:14
А для меня просто вопрос в том, когда конкретно я вернусь к этому в следующий раз. Годом позже или годом раньше

А сначала на тестовом попробовать?
Так дело же не в этом. А в том, чтобы потом в процессе эксплуатации чего-нибудь ВНЕЗАПНО не вылезло

Dmitry
11.01.2017
18:27:32
вопрос как я понимаю не про работоспособность приложения с конкретной версии pg

вопрос к тому какую версию брать

Yevhen
11.01.2017
18:27:59
Дык, дело как раз в этом, сначала на тестовом проверить чего нибудь внезапное

Dmitriy
11.01.2017
18:28:18
Ну я не услышал хора голосов с "бери 9.6, не думай", поэтому возьму наверное 9.5

Dmitry
11.01.2017
18:28:26
9.3 - вышла достаточно давно и она медленная на современном железе чем 9.4 или 9.6

Dmitriy
11.01.2017
18:28:27
Спасибо :)

Dmitry
11.01.2017
18:29:14
с 9.6 таких багов с репликацией как в 9.2 уже не наблюдаются

вполне можно жить.

Dmitry
11.01.2017
18:30:05
у многих моих бывших клиентов ;)

я работал в PostgresPro.

Google
Dmitriy
11.01.2017
18:30:48
Хм. Это же рекомендации лучших собаководов практически

Спасибо

Dmitry
11.01.2017
18:34:39
Спасибо
расклад такой 9.3 - старая: EOL September 2018 9.4 побыстрее, а 9.4 и 9.5 мало чем отличаются (ИМХО), 9.6 уже достаточно стабильная (был эпичный детский баг 9.6.0 -> 9.6.1 в pg_upgrade) лучше сразу на 9.6

Dmitriy
11.01.2017
18:35:09
А что за баг был? Просто интересно

Dmitry
11.01.2017
18:36:07
А что за баг был? Просто интересно
https://www.postgresql.org/docs/9.6/static/release-9-6-1.html

Fix possible data corruption when pg_upgrade rewrites a relation visibility map into 9.6 format (Tom Lane)

Марк ☢
11.01.2017
18:37:17
Dmitriy
11.01.2017
18:38:59
Dmitry
11.01.2017
18:39:01
ого. а что там такого что от железа зависит ?
ну я знаю про примитивы синхронизации основанные на атомарных операциях стали замещать другие, более старые, которые были выгодные когда процессоры не умели столько операци давать

Dmitry
11.01.2017
18:39:57
а зачем они? pg однопоточный

он синхронизует доступ к шареной памяти

Марк ☢
11.01.2017
18:40:20
ну кабе синхронизировать процессы.

мутекс замечательно делается в шаропамяти — и вперёд — документированный прикол

Dmitry
11.01.2017
18:41:18
скорее всего в libc местами и основано на атомиках

Марк ☢
11.01.2017
18:41:32
ну разумеется. а что есть быстрее ?

Dmitry
11.01.2017
18:41:32
поэтому уверен что атомики быстрее

тогда зачем завязывать на libc, который к томуже и медленнее? :)

Марк ☢
11.01.2017
18:43:47
1. с чего это ради медленнее. 2. с того это что либсишники (ну это те же кто ведро делает) уж наверно больше разбираются в том какая залочка быстрее.

Dmitry
11.01.2017
18:43:52
https://github.com/postgres/postgres/blob/1d25779284fe1ba08ecd57e647292a9deb241376/src/include/storage/s_lock.h#L223

Google
Марк ☢
11.01.2017
18:43:59
если есть конкретика — рад послушать

щас гляну

Марк ☢
11.01.2017
18:45:06
ну, на винде пусть хоть как делают. в юниксах надо использовать системное.

Dmitry
11.01.2017
18:45:38
про это можно спорить вечно (про стороннюю поддержку)

pg такого масштаба проект, что может себе позволить такой файлец

и не от кого не зависить

Марк ☢
11.01.2017
18:47:01
надо в постгреспро вбросить. может они сделают

Dmitry
11.01.2017
18:47:42
Саша Коротков, Магнус и мои измерения участвовали в этих местах :)

так что вбрасывать безсмысленно :)

Марк ☢
11.01.2017
18:47:53
о

Dmitry
11.01.2017
18:47:55
пошлют :)

зачем умножать на версии дистрибутивов

Марк ☢
11.01.2017
18:48:15
а есть конкретика по результатм бенчмарков ?

Dmitry
11.01.2017
18:48:25
если можно обойтись только этим файлом

Марк ☢
11.01.2017
18:48:27
чтобы я например мог повторить

Dmitry
11.01.2017
18:49:04
про pthread - я пока не знаю как он может помочь синхронить состояние двух процессов :)

а на mutex вы можете сами скомпилять

там есть опция disable-atomic - которая включает системные mutex

разница будет на порядок не в пользу mutex

Google
Марк ☢
11.01.2017
18:51:05
что такое системные мьютекс ?

Roman
11.01.2017
18:51:17
Марк ☢
11.01.2017
18:51:28
Pg не использует потоки
да я отлично понимаю, что вы набросились

щас накатаю сырец

с демонстрацией

Dmitry
11.01.2017
18:56:24
что такое системные мьютекс ?
черт, гоню, на семафорах

https://github.com/postgres/postgres/blob/1d25779284fe1ba08ecd57e647292a9deb241376/src/include/port/atomics/fallback.h

Марк ☢
11.01.2017
18:56:40
ну.. те-то через ядро на каждую залочку. точно говно.

(видимо, если это не pthread семафоры)

Dmitry
11.01.2017
19:00:22
Pg не использует потоки
http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_condattr_setpshared.html

Марк ☢
11.01.2017
19:09:58
ну. щас он использует потоки в новых версиях, но мы совсем же не об этих потоках говорим

Dmitry
11.01.2017
19:22:16
чтобы перехватить cancel query например и прочее

Марк ☢
11.01.2017
19:27:23
http://pastebin.com/iVptbTVm

вот пример как между процессами лочить. если рилли лок выставить в ноль, то результат — рандомный. если он один — то это показывает что всё работает

тамщемта пример смотреть здесь — https://linux.die.net/man/3/pthread_mutexattr_init, но у меня имхо попроще

@vadvmkn всеравно пошлют ?

Страница 215 из 1062