
Darafei
10.08.2017
10:51:54
террабайты - это про ГИС

Аггей
10.08.2017
10:52:17
"терра" )

Mikhail
10.08.2017
10:53:43
Рррррр

Andrey
10.08.2017
14:03:11
всем привет
есть вопрос, хотел бы узнать, может кто-то знает ответ
есть ли возможность в постгресе указать тип сортировки для запроса?

Google

Andrey
10.08.2017
14:03:37
К нам на крупный гос проект нужен опытный базист. Естественно, PostgreSQL. Есть шардинг, pgpool, pgbadger, pglogical и тому подобное. Стек большой и сложный, работа интересная. За подробностями в ЛС. Москва или СПБ.

Darafei
10.08.2017
14:03:42

Andrey
10.08.2017
14:04:27
хотя может я невнимательный((

Andrey
10.08.2017
14:04:45
Пузырьком или QuickSort? )

Andrey
10.08.2017
14:05:18
ага, тип того
в большинстве случаев это quicksort
но на мальних выборка, эта сволоч начинает юзать top-N heapsort
я порядком запарился уже с этим, хочу, чтобы всегда была быстрая сортировка
но в постгресе нет хинтов и я могу только играть с размером выборки
что полная лажа

Victor
10.08.2017
14:07:10
https://highloadcup.ru/ Соревнование разработчиков
высоконагруженных систем от mail.ru, м.б. кто-то захочет

Google

Andrey
10.08.2017
14:08:32
я подозреваю, что может есть какие-то штуки в конфиге, которые можно подтюнить и заставить планировшика выбирать нужный мне тип

Andrey
10.08.2017
14:09:13

Andrey
10.08.2017
14:10:39
ах, жопка посто
на кой черт было делать такую подлянку, они сортируют по-разному одни и те же данные((
тип полная выборка и первая страница пагинации, к примеру, отсортированны по-разному

Andrey
10.08.2017
14:11:28
А как у вас это аффектит?

Andrey
10.08.2017
14:11:41
выше описал
да тут можно массу примеров привести, когда вам будет критично, что выборка из 20 элементов и из 200 не совпадают после сортировки
хотя логично предположить, что эти 20 должны быть повтороением первых 20 из 200
хоть выпиливай одну из сортировок и компиль свою версию))
ps думаю понятно, что разница проявляется при сортировке данных с одинаковым значением (решил уточнить, а то может не сразу ясно, что я имею ввиду)
тип сортируешь по имени и в базе два Васи
хм
кажется есть идея))
вот не зря говорят, что надо проговорить проблему)
чет я недопедрил, что можно использовать второе поле для сортировки, тип id
но это не отменяет проблемы на самом деле) тк его может и не быть)

Andrey
10.08.2017
14:20:38
Что-то я вас не понял. Разные методы сортировки не могут сортировать по-разному. Если в выборке есть неуникальные значения по сортируемому столбцу, то порядок строк с учетом остальных столбцов не гарантируется.

Mikhail
10.08.2017
14:21:29
Ворк мема добавь процессу

Andrey
10.08.2017
14:22:45
ну вот быстрая всегда выдает один и тот же порядок, независимо отвыборки от будет один и тот же
а вот вторая сорировка уже на этих же данных отсортирует иначе строки, где данные одинаковые
тип быстрая выдаст
1 Вася
2 Вася
а top-N
2 Вася
1 Вася
я понимаю, что это ок, но проблема в том, что я не могу выбрать сортировку сам

Andrey
10.08.2017
14:24:12
Не нужно закладываться на это ни в коем случае. Сортируйте по уникальному набору столбцов, чтобы гарантировать одинаковый результат.

Google

Andrey
10.08.2017
14:26:09
ну да, я просто чего-то ступил, сорри)
но все равно как-то не круто, что сорировка меняется без моего ведома) вот забудешь про уникальность полей для сортировки и может быть не хорошо)
мне кажется, что у многих, кто работает с этой базой, есть запросы, где вы сортируете, к примеру пользователей по имени в конце и не думаю, что у всех еще в конце добавлен вторым полем id
может это и не будет для вас критично, но факт остается фактом, что разница там может быть

Andrey
10.08.2017
14:29:38

Andrey
10.08.2017
14:30:47
хм, может и так
может я не замечал просто, но на одной и той же выборке с быстрой, хоть бери лимит 200 хоть 500
результат был отсортирован одинаково
не знаю, что имеется ввиду под средой

Andrey
10.08.2017
14:32:56
Сделаете копию базы и там результат может быть другой. Удалите строки и вставите заново, результат может быть другой.

Andrey
10.08.2017
14:34:23
да, тут ты прав скорее всего
более того, сейчас глянул быструю и по моему там такой алгоритм, что он не дает гарантии сортировки одинакого раз от раза одной и той же выборки с одинаковыми полями для сортировки
ладно, всем спасибо)
надо иногда повторять теорию видимо)) а то с глупыми проблемами тут)

Артамонов Игорь
10.08.2017
14:36:09
Кто-нибудь реализовывал пагинацию в постгресе?
Варианты кроме лимит-оффсета есть какие-то?

Andrey
10.08.2017
14:36:40

Артамонов Игорь
10.08.2017
14:37:04
Ловлю периодически offset не может быть отрицательным
Интересно, есть ли еще какие-то варианты.

Andrey
10.08.2017
14:37:32
ну так обработай это в коде и всё

Артамонов Игорь
10.08.2017
14:37:50
В коде оно обработано уже, мы не можем это воспроизвести, ошибка на продуктиве :)
Я хрен знает, как они этого добиваются )

Andrey
10.08.2017
14:38:07
лол

Сергей
10.08.2017
14:38:23
есть курсорная сотрировка
быстрее оффсетной. но там номеров страниц нету. только туда-сюда

Google

Сергей
10.08.2017
14:38:44
и онас стабильная, в отличие от оффсетной

Артамонов Игорь
10.08.2017
14:38:47
Рассматривали, в нашем варианте не взлетает

Сергей
10.08.2017
14:38:49
ну пример - редит

Артамонов Игорь
10.08.2017
14:38:59
Ну, т.е., не применимо. Особенности системы

Сергей
10.08.2017
14:39:05
курсорную кэштировать проще
ну больше проде нету никаких)

Артамонов Игорь
10.08.2017
14:39:17
оок

Admin
ERROR: S client not available

Артамонов Игорь
10.08.2017
14:42:45
Такой вопрос еще. Кто-нибудь с libzbxpgsql для мониторинга пг через заббикс сталкивался?
Я тут нарекомендовал его, но у заказчика, после этого, легла мониторинговая система из-за количества графиков добавленных. Там как-нибудь возможно убрать не нужные нам графики перед установкой расширения?
Сам с заббиксом не возился, не приходилось. Если есть у кого опыт, потыкайте в меня, пожалуйста. Я бы в личке поинтересовался, чтобы не флудить.

Maks
10.08.2017
14:44:47
можно
ты просто в шаблоне убираешь, то что тебе не нужно

Артамонов Игорь
10.08.2017
14:46:42
http://cavaliercoder.com/libzbxpgsql/documentation/template-installation/
речь про это?

Maks
10.08.2017
14:47:06
да

Артамонов Игорь
10.08.2017
14:47:39
Оке, поизучаю, спасибо

Maks
10.08.2017
14:48:38
как зальешь шаблон, там переходи в "Список обнаружений" и убери, то что тебе не нужно

Артамонов Игорь
10.08.2017
14:50:44
Со слов заказчика, добавилось что-то вроде 45тыс графиков/триггеров
и, мол, самим заббиксом пользоваться было вообще невозможно, он там и не поднялся, в целом
=))

Google

Mikhail
10.08.2017
15:58:52
Всем привет! А можно ли prepare сохранить навсегда? Т.е. между сессиями пользовательскими
Как хранимые процедуры в базе

Darafei
10.08.2017
16:00:36
а зачем?

Mikhail
10.08.2017
16:00:49
Из кода

Darafei
10.08.2017
16:01:03
ты его сам зовёшь, не твой фреймворк?

Mikhail
10.08.2017
16:01:18
Хочу один раз вызвать при создании базы, а потом только по имени дергать

Darafei
10.08.2017
16:01:50
а зачем ты его зовёшь?
чего не хватает в непрепарированных запросах?

Anton [Mgn, az09@osm]
10.08.2017
16:03:00

Mikhail
10.08.2017
16:04:12

Mikhail
10.08.2017
16:04:14
Создай вью
Или при старте бекенда каждый раз инить препаре

Darafei
10.08.2017
16:04:52

Mikhail
10.08.2017
16:05:25
а тут заранее
это же теория такая

Darafei
10.08.2017
16:05:46
а что делать, когда надо перепланировать? :)