@pgsql

Страница 774 из 1062
Darafei
23.04.2018
09:06:00
подходит. но я бы хотел знать чем отличается вот от этого (col - CAST(col as Integer)) <> 0
в этом мире есть много правильных способов сделать одно и то же

Andiskiy
23.04.2018
09:06:33
что лучше?

Darafei
23.04.2018
09:06:45
оптимальный по какому критерию?

Google
Darafei
23.04.2018
09:07:13
сколько раз будет работать этот запрос? :)

Andiskiy
23.04.2018
09:07:19
быстрота на первом месте.

Yaroslav
23.04.2018
09:07:51
в этом мире есть много правильных способов сделать одно и то же
Безусловно, только "(col - CAST(col as Integer)) <> 0" —- неправильный (как насчёт переполнения integer?).

Darafei
23.04.2018
09:08:06
быстрота на первом месте.
тогда тебе нужно написать сишный экстеншен и использовать векторные операции

Andiskiy
23.04.2018
09:08:48
там не большие числа

Darafei
23.04.2018
09:09:08
тогда where i in (0,1,2,3,4,5,6,7,8,9,10) ?

Yaroslav
23.04.2018
09:09:53
быстрота на первом месте.
Вы маетесь преждевременной оптимизацией, IMHO. ;)

Andiskiy
23.04.2018
09:10:44
Вы маетесь преждевременной оптимизацией, IMHO. ;)
мне кажется trunc подойдет. Спасибо большое.

Vladimir
23.04.2018
10:18:00
Подскажите, кто сталкивался. Есть какие-нибудь наработки, процедуры, станарты в ключе Postgre под 1С?

Konstantin
23.04.2018
11:01:26
У нас в ПгПро ребята много занимались поддержкой 1С для Посгреса. Читали например https://postgrespro.ru/products/1c_build ?

Vladimir
23.04.2018
11:07:10
Спасибо, сейчас почитаю

HipJoy
23.04.2018
12:15:35
привет кто может по опыту сказать какой уровень сжатия с пгдамп самый адекватный? в плане есть ли смысл на 9 сжимать, мб 6 оптимальный по времянасжатие/размердампа понятное дело что зависит еще от данных, но все же

Google
Гаврилов
23.04.2018
13:01:20
чтобы базу слить быстрее)

HipJoy
23.04.2018
13:01:26
в смысле зачем сжимать? или зачем дамп

Darafei
23.04.2018
13:01:47
какая исходная решаемая задача

Konstantin
23.04.2018
13:05:00
Обычно следует использовать минимальный уровень сжатия. Степень сжатия от увеличения уровня возрастает не сильно (<30%), а вот время - существенно - в разы. По крайней мере это справедливо для zlib и zstd. Причём некторые искуственные данные (pgbench -i) zstd умудряется жать ... хуже с максимальным рекомендуемым уровнем сжатия, чем на самом быстром.

Yaroslav
23.04.2018
13:18:10
в смысле зачем сжимать? или зачем дамп
Да, зачем дамп. От этого же всё зависит (кстати, причём тут опыт, я не очень понимаю —- вряд-ли DBA этим систематически занимаются)...

Yaroslav
23.04.2018
13:21:51
задача бэкап делать и восстанавливать в другой базе
pg_dump —- не инструмент для backup-а. А если вам нужно перенести / скопировать дамп, то зависит от железа (сеть/CPU/диски), т.е. сходу не скажешь.

Yaroslav
23.04.2018
13:26:15
ват а что это тогда и какие варианты?
Это —- инструмент снятия дампов. А варианты —- pg_basebackup (или аналогичные сторонние решения), и затем решения, основанные на WAL (архвирование, репликация). В некоторых случаях могут и filesystem snapshots подойти (если fs это умеет).

Anton [Mgn, az09@osm]
23.04.2018
14:14:22
подскажите про ОСМ люди добрые ) есть несложный запросик: https://gist.github.com/az09/925275a24eea4b095e630f7c0df7f01d однако выполняется он черезчур долго: https://explain.depesz.com/s/Grh что посоветуете, как на это повлиять можно?

Darafei
23.04.2018
14:17:18
9 секунд на 5 тыщ объектов, это 2 мс на объект

Anton [Mgn, az09@osm]
23.04.2018
14:17:55
насколько понимаю из полученных по индекс-скану примерно 110К полигонов фильтруется довольно много записей Rows Removed by Filter: 106273 остаётся всего-лишь 4045

может добавить индекс по name?

Darafei
23.04.2018
14:18:08
во-первых грохнуть isvalid

во-вторых постараться грохнуть pointonsurface

в-третьих добавить индекс по geom where name is not null

Anton [Mgn, az09@osm]
23.04.2018
14:20:24
Google
Anton [Mgn, az09@osm]
23.04.2018
14:21:05
в-третьих добавить индекс по geom where name is not null
ага, вот это видится мне самым верным путем ?

Darafei
23.04.2018
14:21:35
тогда в него же можно и ST_IsValid(way) засунуть

Anton [Mgn, az09@osm]
23.04.2018
14:25:52
ok, надо поизучать значит как управлять созданием индексов в osm2pgsql

Darafei
23.04.2018
14:33:07
руками после него

я когда-то темплейты заводил https://github.com/Komzpa/furry-sansa/blob/master/assets/index.template.sql

Anton [Mgn, az09@osm]
23.04.2018
14:34:28
Darafei
23.04.2018
14:35:26
в Беларуси всё нормально с сельским хозяйством, так что спасибо за комплимент

Anton [Mgn, az09@osm]
23.04.2018
14:39:12
ничего личного (но комплимент с меня таки) ну просто это ж каждый раз не забыть еще дополнительный скрипт запустить... лучше было бы в lua там какой прописать и забыть

Darafei
23.04.2018
14:39:38
ну вот я для того выше апдейтер-враппер и писал

чтобы не звать руками и не забывать

Vitaliy
23.04.2018
17:28:59
Наткнулся на неплохую систему мониторинга "pgwatch2" от Cybertec (Collector(GO)+InfluxDB+Grafana). Кто ни будь уже успел познакомиться? https://github.com/cybertec-postgresql/pgwatch2

Petr
23.04.2018
20:51:13
господа, ограничивал кто-то постгрес через cgroup и/или nice? что-то у меня эта штука(и) не реагирует на процесс

Игорь
23.04.2018
21:08:38
Через systemd очень удобно. Но делать этого не стоит

Petr
23.04.2018
21:10:07
Игорь
23.04.2018
21:18:01
Мнение не экспертное. Я считаю, из-за того, что, например, тот же backend пишет не только свои данные но и всего кластера. Следовательно, ограничив одну бд или юзера (даже не знаю как), ты зажмешь весь кластер. Либо ограничить кластер целиком (что и проще) и жить там только одной бд. И несколько кластеров на одной машине. Но Владимир Бородин говорил, что даже на таком очевидно ограничении как CPU приходят грабли.

Petr
23.04.2018
21:21:59
цель вообще ограничить аппетиты update (причем процедура "технического" характера, которая применяется к некоторым статическим данным), а то во время его выполнения select'ы не проходят

Игорь
23.04.2018
21:22:59
Значит вы не про то думаете

Petr
23.04.2018
21:23:24
наведете на верное русло?

Игорь
23.04.2018
21:25:16
Задача бд выполнить запрос наиболее эффективно и желательно быстро. Задача приложения - ограничивать аппетиты

Petr
23.04.2018
21:26:22
вряд-ли это утверждение справедливо к задачам пакетного update, который от действий внешних пользователей не зависит

Google
Fedor
24.04.2018
02:06:59
Диски у вас какие ? иесть ли рэйд ?

Какая нагрузка на диски во время пакетного Апдейта *?

Petr
24.04.2018
05:53:11
Диски у вас какие ? иесть ли рэйд ?
раньше были sas, сейчас 5+ рейд из 8ми sata

А как пришли к выводу, что нужно ограничивать?
пока cgroups заработал более менее нормально, но не сказать что хорошее решение + ночью (23:59-08:00) включаю на полную

Andrey
24.04.2018
05:59:21
Завтра в Екатеринбурге будет митап про базы данных. Если будете недалеко - приходите https://events.yandex.ru/events/meetings/25-april-2018

Viktor
24.04.2018
06:02:30
Доброго времени суток, версии внутри одной и той же мажорной и минорной версии сохраняют обратную совместимость? Например, запросы которые написаны для 9.6.8 будут работать в 9.6.1?

Vladimir
24.04.2018
06:14:49
Подскажите, кто сталкивался. Есть какие-нибудь наработки, процедуры, станарты в ключе Postgre под 1С?

Max
24.04.2018
06:29:22
Привет! I need help (С). Смигрировал БД для zabbix с mysql на pgsql 9.6, настроил партицирование. Проблема - при удалении таблиц-партиций место не освобождается! Читал доку, vacuum не должен помогать, на всякий случай сделал, без результата. Таблиц уже в объектах нет. Не пойму что теперь делать, место на диске утекает. Может кто даст добрый совет?

Andrey
24.04.2018
06:37:11
Трансляция планируется, для тех кто не окажется недалеко?
Привет! На сколько я знаю нет, ни записи ни трансляции.

Max
24.04.2018
06:41:25
Как вы удаляете? И место где, как вы проверяете?
drop table history_uint_pXXXX. Проверяю запросом по таблице select pg_relation_size('history_uint')/1024/1024 as size_mb;

drop table history_uint_pXXXX. Проверяю запросом по таблице select pg_relation_size('history_uint')/1024/1024 as size_mb;
Нашел проблему, данные попадают в основную таблицу, а не в подчиненную. Прошу прощения за беспокойство ?

Yaroslav
24.04.2018
06:47:09
drop table history_uint_pXXXX. Проверяю запросом по таблице select pg_relation_size('history_uint')/1024/1024 as size_mb;
И что этот запрос возвращает (если history_uint —- основная таблица, то это только её размер, без наследников)? А, вижу, разобрались. ;)

Google
Grigory
24.04.2018
06:50:17
так не cpu, а io?
ok, а как поняли, что IO нужно прижать?

Petr
24.04.2018
06:51:42
ok, а как поняли, что IO нужно прижать?
эмпирически: процесс по update начал сжирать все ресурсы по диску, и не давал делать другие запросы

Grigory
24.04.2018
06:52:48
iostat -xm 1 в колонках await r_await w_await что показывает?

Petr
24.04.2018
07:11:47
iostat -xm 1 в колонках await r_await w_await что показывает?
после ограничения смотреть есть смысл? если есть, то: 10,8 108,3

Grigory
24.04.2018
07:14:25
после ограничения смотреть есть смысл? если есть, то: 10,8 108,3
вы записей 40-50 соберите и сюда скрин пришлите

до ограничения и после ?

Grigory
24.04.2018
07:25:56
резонно
вот такой командой iostat -xmt 1 180 > /tmp/iostat_`hostname`_`date +%F_%H_%M_%S`.log & а потом результат сюда присылайте

Amir
24.04.2018
07:34:00
Подскажите, а свой синтетический сахар сложно разрабатывать на подобии between?

Подскажите, а свой синтетический сахар сложно разрабатывать на подобии between?
Например синтетический age от поля даты between 18лет and 20лет, приведёт к виду Поле даты between(расчетная дата минимум когда было бы 20 лет) and (расчетная дата максимум когда выходит 18 лет)

А то разработка не хочет ломать себе мозг с расчетами дат, все просят индексов им запилить под аге(дата рождения)

Petr
24.04.2018
07:44:12
ну если не делать этого на уровне бд, то ничего сложного а индексы тут причем и какая с ними проблема у вас?

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