@pgsql

Страница 426 из 1062
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 и тому подобное. Стек большой и сложный, работа интересная. За подробностями в ЛС. Москва или СПБ.

Andrey
10.08.2017
14:04:27
https://www.postgresql.org/docs/9.6/static/queries-order.html
там вроде как нет ответа на мой вопрос

хотя может я невнимательный((

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
но в постгресе нет хинтов и я могу только играть с размером выборки
Вот тут подробнее написано: https://github.com/postgres/postgres/blob/f5d54ef97abdd1df3d6bfe0320a565ecce742abe/src/backend/utils/sort/tuplesort.c Судя по коду, явно влиять никак нельзя.

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
ну да, я просто чего-то ступил, сорри) но все равно как-то не круто, что сорировка меняется без моего ведома) вот забудешь про уникальность полей для сортировки и может быть не хорошо)
В том то и дело, что она не меняется. Сортировка выполняется для тех столбцов, которые указаны в предложении ORDER BY. Больше ничего не гарантируется. У вас результат quicksort тоже будет отличаться в разных средах.

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
может это и не будет для вас критично, но факт остается фактом, что разница там может быть
не знаю что за база в бекэнде у ServiceDesk но меня постоянно бесит что при вводе фамилии я не вижу рядом уникального поля и угадать какую из Ивановых ткнуть невозможно. надо просто себе записать (на подкорку) такую бэстпрактис при которой фейла не случится. а разрабы сервисдеска пусть икают до посинения

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
а что делать, когда надо перепланировать? :)

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