@pgsql

Страница 258 из 1062
Anton [Mgn, az09@osm]
01.03.2017
13:10:13
если бы ты писал просто апдейт то как бы он выглядел (без конфликт вот этого всего)

Andrew
01.03.2017
13:12:05
missing FROM довольно чётко сказано
сказано то четкно но from tablename есть же

Anton [Mgn, az09@osm]
01.03.2017
13:12:33
в инсерте есть. в апдейте нет

Andrew
01.03.2017
13:15:59
я почему-то не нашел примеров с CONFLICT чтоб куда-то указывать надо было таблицу подскажите куда подставить эту таблицу тогда? обычный упдейт бы выглядил так update my_table set my_table.price = tablename.price where my_table.id=tablename.id

Google
Anton [Mgn, az09@osm]
01.03.2017
13:17:05
и этот бы сругался ровно так же. фром нужен

raksita
01.03.2017
13:19:27
можно использовать EXCLUDED таблицу

https://www.postgresql.org/docs/current/static/sql-insert.html

Note that the special excluded table is used to reference values originally proposed for insertion: INSERT INTO distributors (did, dname) VALUES (5, 'Gizmo Transglobal'), (6, 'Associated Computing, Inc') ON CONFLICT (did) DO UPDATE SET dname = EXCLUDED.dname;

Andrew
01.03.2017
13:34:24
спасибо оказывается можно еще вот так ON CONFLICT (id) DO UPDATE SET price='tablename.price'

Darafei
01.03.2017
13:59:57
Andrew
01.03.2017
14:04:12
Vlad
01.03.2017
15:07:41
Всем доброго времени суток!) Подскажите пожалуйста, кто-нибудь использовал https://github.com/sorintlab/stolon? какие впечатления (стабильность, производительность и тд)?

Evgeniy
01.03.2017
16:17:24
а у меня есть вопрос про BRIN

когда вставили новый батч, который не подпадал под существующие рейнджы и до того как запуститли вакуум, то есть не вызывалась суммаризация как вопрос будет выполняться

будет ли брин работать хотя бы как эксклуд для блоков которые не надо сканить

Evgeniy
01.03.2017
16:21:01
As new pages are filled with data, page ranges that are already summarized will cause the summary information to be updated with data from the new tuples. When a new page is created that does not fall within the last summarized range, that range does not automatically acquire a summary tuple; those tuples remain unsummarized until a summarization run is invoked later, creating initial summaries. This process can be invoked manually using the brin_summarize_new_values(regclass) function, or automatically when VACUUM processes the table.

Google
Stas
01.03.2017
16:22:17
вот тоже сейчас нашел этот коммент, значит не прав, думал оно всегда на обновление дергается

Evgeniy
01.03.2017
16:23:07
неа, brininsert() не делает

мне в итоге хочется понять как запрос выполняется

судя по плану, он всё равно юзает брин индекс, но получается что как блум фильтр что ли

вот спросят меня прогромисты, и что я им отвечу :(

Fike
01.03.2017
16:51:22
вот спросят меня прогромисты, и что я им отвечу :(
"Да все ок работает, десять лет уже с этой БД, не придумывай! У вас тест-то на это поведение написан?"

Darafei
01.03.2017
16:54:42
я вам завидую

у меня и без индексов-то ничего не работает :(

Evgeniy
01.03.2017
16:57:42
полигон не вертится, не растет кокос

Darafei
01.03.2017
17:02:13
ERROR: CREATE TABLE juno_osm_testing_point_tmp AS SELECT * FROM juno_osm_testing_point ORDER BY CASE WHEN ST_IsEmpty(way) THEN NULL ELSE ST_GeoHash(ST_Transform(ST_Envelope(way),4326),10) END COLLATE "C" failed: PANIC: stuck spinlock detected at hash_search_with_hash_value, /build/postgresql-9.6-999/build/../src/backend/utils/hash/dynahash.c:994 server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request.

Darafei
01.03.2017
17:18:15
не знаю что там под звёздочкой но всегда думал что сортировать надо не при вставке а при конечной выборке.
ознакомьтесь с http://www.paulnorman.ca/blog/2016/05/improve-your-st-geohash-sorting-with-these-three-simple-tricks/

с картинками на http://workshops.boundlessgeo.com/postgis-intro/clusterindex.html

Anton [Mgn, az09@osm]
01.03.2017
17:21:29
ознакомьтесь с http://www.paulnorman.ca/blog/2016/05/improve-your-st-geohash-sorting-with-these-three-simple-tricks/
вот видишьте, полгода едва прошло, а уже трюки не срабатывают

Darafei
01.03.2017
17:21:53
в смысле - не срабатывают?

это osm2pgsql

Anton [Mgn, az09@osm]
01.03.2017
17:25:17
это osm2pgsql
то-то мне имя автора показалось знакомым )

Darafei
01.03.2017
17:29:58
да, только застревает оно на спинлоках

Evgeniy
01.03.2017
17:54:49
а если прибавить макс_чарс?

Google
Evgeniy
01.03.2017
17:59:34
хотя наверное я херню несу

кот, а вы не писали в кх на тему спонсирования поддержки гиса?

Darafei
01.03.2017
18:22:56
кх?

Evgeniy
01.03.2017
18:23:54
клик хаус

Darafei
01.03.2017
18:24:27
нет, не писали

уж слишком уж большое количество эджкейсов - или следовать стандарту (и начинать тормозить), или не следовать (и реимплементить всё-превсё заново)

я смотрел, что нужно написать, чтобы просто сделать в базе минимальный закос под постгис, который сделал бы её drop-in совместимой с qgis

самая критическая штука - ST_Intersects от двух произвольных шейпов, чтобы лассо работало

крешер в ST_Intersects в постгисе я словил буквально прошлым летом :)

https://github.com/postgis/postgis/pull/105

Evgeniy
01.03.2017
18:51:22
ну мне кажется ты зря так пессимистично настроен

Darafei
01.03.2017
18:52:06
окей, а что такое в твоём понимании "поддержка гиса"?

Darafei
01.03.2017
18:58:53
в постгресе вот нативная геометрия есть. по ней есть быстрый кнн и всякие другие плюшки, но в моей картине мира для гисов она непригодна

Dmitrii
01.03.2017
19:00:06
А почему вот этот огромный экстеншен postgis еще не в самом pg?

Evgeniy
01.03.2017
19:00:38
а зачем

Darafei
01.03.2017
19:00:45
ты хочешь видеокодеки в ядре постгреса?

Evgeniy
01.03.2017
19:00:47
разные релиз цикли, модель разработки

Dmitrii
01.03.2017
19:01:12
Видео кодеки?

Darafei
01.03.2017
19:01:40
постгис в последних убунтах их вполне тянет с собой :)

Dmitrii
01.03.2017
19:01:59
А зачем они ему?) О_о

Google
Darafei
01.03.2017
19:02:16
c растрами работать, как зачем?

https://www.youtube.com/watch?v=fCrB1t8MncY

Andrey
01.03.2017
19:18:00
ты хочешь видеокодеки в ядре постгреса?
Осторожно. А то Nero получится. :)

Аггей
01.03.2017
20:52:23
в постгресе вот нативная геометрия есть. по ней есть быстрый кнн и всякие другие плюшки, но в моей картине мира для гисов она непригодна
Она не учитывает несферичность планеты? ) открывая в qgis список систем координат приходишь в ужас от всего разнообразия. А ещё есть всякие местные системы координат - и понимаешь, что порог вхождения повышает в том числе и эта путаница

Аггей
01.03.2017
20:54:30
А при построении полигонов есть проверки на самопересечение и прочее?

Сам в геодезии и картографии слаб, но сталкивался с entity spatial в oracle. Там достаточно много чего есть

Darafei
01.03.2017
20:57:01


OGC Simple Features

Admin
ERROR: S client not available

Darafei
01.03.2017
20:57:53
если в имплементации нет всего, что на рисунке выше, оно обязательно с чем-нибудь окажется несовместимо

Аггей
01.03.2017
21:01:12
А вот полигоны те же с дырками - я не совсем понимаю как они должны храниться. Полигон хранится координатами точек - полигон с дырками - номер контура и координаты?

Darafei
01.03.2017
21:01:26
там есть проверки вида "если вы вызовете area(), то мы проверим на самонепересечение"

для примера глянь https://en.wikipedia.org/wiki/Well-known_text

в общем случае полигон - это массив колец

первое кольцо внешнее, остальные - дырки

Аггей
01.03.2017
21:02:40
Кольцо - в моей терминологии - контур )

Darafei
01.03.2017
21:02:40
бокс полигона считается по первому кольцу

LinearRing в OGC-терминологии

Аггей
01.03.2017
21:04:54
А в pg получается нет возможности вычислить ту же площадь без костылей вида area(ring1)-area(ring2)...- area(ringN)?

Google
Darafei
01.03.2017
21:05:13
да

ну, всегда можно сделать с-образный полигон с канавкой, только его рисовать погано

Аггей
01.03.2017
21:06:45
)) и площадь чуть меньше будет

Darafei
01.03.2017
21:06:52
ровно такая же

Аггей
01.03.2017
21:06:57
На площадь канавки )

Darafei
01.03.2017
21:07:00
если по тем же точкам

но на дворе, кажется, не 1998, когда это было в моде :)

в общем, они срисованы откуда-то с интервалов и массивов, есть не сильно нужные операторы вроде "точно слева от?" и выколотость точек на концах, но нету ничего мульти-

Аггей
01.03.2017
21:16:49
Сталкивался с человеческим фактором который был где-то в 98. Когда в РФ ставили землю на учёт требования к точности были так себе, и сотрудники кадастровых палат рисовали мелкие участки буквально на глаз. Под теми же опорами ЛЭП площадь участка 20 кв.м что в массштабах целых районов/регионов - совсем ничто. И сотрудники для ускорения ввода рисовали их "кружочками" (2 клика мыши - центр и радиус, вместо 4х при рисовании квадратов). После нескольких лет работы с этим и нескольких перегонов из ГИС в ГИС эти кружочки стали полигоном с 360 точками. А учитывая их количество - вызывали нереальные нагрузки на oracle при обработках пересечений, расчетах площадей и прочем

Вот такая у нас картография в РФ )

Darafei
01.03.2017
21:20:50
ага. в нынешнем josm квадратик массово рисуется в полтора-два клика (если референсная линия зафиксирована, то одна протяжка по диагонали, если нет - клик по одному углу и протяжка по противоположной стене)

ребята из питерского транспорта жаловались, что сделали прототип на постгисе и всё работало, а потом заставили переделать всё на оракл и оно стало тормозить, так что могу представить :)

Аггей
01.03.2017
21:23:53
Ну я про эти 360 точек тоже узнал - когда тормозило и я искал медленные запросы. Почитаю про wkt думаю ещё будут вопросы

Алексей
01.03.2017
21:26:51
первое кольцо внешнее, остальные - дырки
Мне это кажется не совсем верным. Внешних колец может быть несколько.

Darafei
01.03.2017
21:27:03
это уже мультиполигон

и он массив полигонов

потому что в каждом внешнем кольце свои дырки

Алексей
01.03.2017
21:27:22
А речь шла о полигонах? Сорри, не заметил.

Darafei
01.03.2017
21:30:42
но да, мультиполигоны - это следующее, про что забывают при имплементации

потом забывают про смешанные коллекции

потом про коллекции коллекций

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