
Darafei
06.06.2017
04:00:27
ты ведь говоришь, что он не заканчивается
почему аналайз?

Anton [Mgn, az09@osm]
06.06.2017
04:01:33
update не заканчивается, count - 660 сек
из вчерашнего

Google

Anton [Mgn, az09@osm]
06.06.2017
04:03:06

Darafei
06.06.2017
04:03:50
ST_Intersects
в contains больше проверок

Anton [Mgn, az09@osm]
06.06.2017
04:04:09
cte хоть и выглядит страшно но выполняется сам по себе быстро

Darafei
06.06.2017
04:06:23
в contains тебе надо доказать, что нет ни одной точки, лежащей за пределами фигуры, в intersects - что есть хотя бы одна, лежащая внутри

Anton [Mgn, az09@osm]
06.06.2017
04:08:07
?
или лучше
st_intersects
это исключает проверки полного вхождения
зря я не послушался сразу

Darafei
06.06.2017
04:10:16
сделай вот что.
возьми Россию, не симплифицируй, сделай ей ST_Subdivide(geom), собери это в одну таблицу и сделай ей analyze, индексов не делай.
в апдейте сделай using на эту таблицу.

Google

Darafei
06.06.2017
04:11:18
тогда там за счёт рассыпанности на простые прямоугольники оно выберет поменьше объектов на перепроверку.
а за счёт отсутствия индекса - будет сек скан по прямоугольникам и индекс-скан по таблице, а не наоборот

Anton [Mgn, az09@osm]
06.06.2017
04:16:57

Darafei
06.06.2017
04:17:43
потому что у тебя в плане хоть и написано index scan, но с селективностью у него проблемы

Anton [Mgn, az09@osm]
06.06.2017
04:17:58

Darafei
06.06.2017
04:18:24
зачем?

Anton [Mgn, az09@osm]
06.06.2017
04:18:53
что б влезать пререндером ниже 14 зума например
еще бы придумать как все эти прямоугольники объединить в несколько крупных, пусть и немножко с океанами. но некогда думать ?

Darafei
06.06.2017
04:22:12
меня всегда радуют люди, у которых много идей, но некогда думать. :)
обычно хватает пройти по цепочке вперёд и назад. ты только что нарезал полигон на кусочки, и хочешь сразу склеить? :)

Anton [Mgn, az09@osm]
06.06.2017
04:22:56
я их записываю в ишью, ололо
не просто склеить а еще и выровнять до метатайлов

Igor
06.06.2017
04:40:24
можно как-нибудь удобнее загрузить кучу json-файликов (по объекту на каждой строке) в нормализованную таблицу постгри? ну, то есть, чтобы туда не само содержимое объекта запихивалось как json/jsonb, а распихивалось по столбцам.
или тут проще скрипт накатать на чем-нибудь, который уже сам распарсит файлы и импортнет?

Darafei
06.06.2017
04:42:04
я или пишу маленький конвертер в csv на питоне/pypy, или импортирую как есть в одну jsonb и раскладываю по мере надобности по схеме

Igor
06.06.2017
04:43:00
понял, спасибо большое)

Darafei
06.06.2017
04:43:02
вернее, даже не в csv, а в csv, обёрнутый copy

Айтуар
06.06.2017
05:43:27

Anton [Mgn, az09@osm]
06.06.2017
06:17:26
в принципе геометрия и так сама по себе уникальна конечно )

Darafei
06.06.2017
06:19:08
Это постгрес, в нем не нужно делать айдишники, если они не нужны

Google

Anton [Mgn, az09@osm]
06.06.2017
06:20:15
да нигде не обязательно так то. но они как правило везде нужны

Evgeniy
06.06.2017
06:32:13
Всем доброго времени суток. Ребят, помогите пожалуйста. Хочу на mint поставить postgres, но libpq-dev не ставится(

Anton [Mgn, az09@osm]
06.06.2017
06:34:00

Anatoliy
06.06.2017
06:35:30

Evgeniy
06.06.2017
06:35:56
Прошу прощения, но сейчас поставилось. 5 раз пробовал не получалось...

Anatoliy
06.06.2017
06:37:59
Иногда нужно просто написать)

Evgeniy
06.06.2017
06:38:18

Anton [Mgn, az09@osm]
06.06.2017
06:42:01
и то из 975 заджоинилось только 696 строк
select count(*), d.geom::char(20) as g from rfdiv d inner join osm_roads r on st_intersects(r.geometry, d.geom) group by d.geom;
как сумму подсчитать по первому полю этой выборки?

Darafei
06.06.2017
07:10:30
не делай group by

Darafei
06.06.2017
07:11:17
а так - чего ты ожидал, все дороги россии в москве и в питере - два квадрата хорошо светятся

Igor
06.06.2017
07:21:05
Кстати, коллеги, а как посмотреть список схем в бд?)

Darafei
06.06.2017
07:21:59
\? в psql открыл мне хелп, в котором поиск по слову schema сказал, что \dn[S+] [PATTERN] list schemas

Anton [Mgn, az09@osm]
06.06.2017
07:24:25

Петр
06.06.2017
07:24:45
pg_namespace

Igor
06.06.2017
07:26:04

Sergey
06.06.2017
07:37:17

Олег
06.06.2017
08:30:25
доброго дня всем. подскажите, можно ли как-то управлять правом на VACUUM [ANALYZE ...]; ?

Google

Олег
06.06.2017
08:30:34
не могу нагуглить
суперюзер, как я понял, только позволяет игнорить права на всё и вся
у меня 9.0, если это важно
а то у меня есть разработчик, у когорого очень чешутся руки и надо запретить ему вакумить без моего ведома

Anton [Mgn, az09@osm]
06.06.2017
08:33:46
разработчика лучше просто держать подальше от продакшена. пусть себе локально поставит пг и развлекается как хочет

Ascandar
06.06.2017
08:36:31
в теории обычно да, а в реальности их ручонки лезут да лезут на прод)

Admin
ERROR: S client not available

Anton [Mgn, az09@osm]
06.06.2017
08:36:51
сам так делаю )

Zhenia
06.06.2017
08:37:04
Девов пускать на прод только через флайвей
Так у них вроде и доступ есть. Но и особо наладить не могут

Олег
06.06.2017
08:39:21
в текущих условиях не пустить их на прод я к моему глубокому сожалению я не могу
я постараюсь првиести руководство к этому в будущем, но сейчас надо решить эту проблему
а что за флайвей?

Артур
06.06.2017
09:52:31
У меня ничто не связано с этим индексом
он используется только в этой таблице

Dmitry
06.06.2017
09:57:24
А если дропнуть констрейнт, индекс остаётся?

Артур
06.06.2017
11:10:37

Eugen
06.06.2017
18:10:35
Hi. May I refer subselect in where clause?
https://pastebin.com/7JhN0e1z
in the example it is 'spent'

Google

Anton [Mgn, az09@osm]
06.06.2017
18:14:32
spend.summa

Eugen
06.06.2017
18:15:11
Thank you

Anton [Mgn, az09@osm]
06.06.2017
18:16:33
sorry, my solve is wrong)

Eugen
06.06.2017
18:17:29
yeah:
ERROR: missing FROM-clause entry for table "spent"

Anton [Mgn, az09@osm]
06.06.2017
18:22:50

Аггей
06.06.2017
18:23:19

Eugen
06.06.2017
18:23:58

Anton [Mgn, az09@osm]
06.06.2017
18:24:37
?
вангую зависимость запроса в скобках от внешнего

Аггей
06.06.2017
18:25:19
И?
Тут же вопрос в том, что он не может в where указать вычисляемый столбец
Грязный хак
http://ps.tmpc.ru/fbc113d5
Но так некрасиво
Он либо возвращает 1 число (там сумма)
Либо null если условие where отсеивает все