
Артур
15.03.2017
19:04:47
@Komzpa есть совет?
Ты вроде как разные грани постгриса смотрел

Lev
15.03.2017
19:08:30
Ну так может libpostal? Чтобы нормализовать адрес а не хранить варианты написания.
Или вообще геокодер как отдельную сущность. Чтобы по названию выдал place id.

Google

Артур
15.03.2017
19:13:43
Челб-ск, Курч. р-н, ул-ца Автодрожная
libpostal нормализует?
г. Небережные Челны содержит кроме улиц еще и локальное деление - Комплекса (как видно в примере)
Мне нужно по сути не только принять и валидировать, но и при наличии нового варианта ввода - хранить его для защиты от дурака
При всем при этом - только 1 вариант верный

Lev
15.03.2017
19:16:25
Можно натренировать. Там машинное обучение есть. Возможно из коробки именно для Челнов нет.
Г. Москва м. Ново-кая. Какой ответ правильный?

Артур
15.03.2017
19:26:08
Я не устанавливал, пытаюсь оценить необходимоть развертки через онлайн инструменты.
Судя по всему это библиотека для нормализации почтовых адресов. Тект должен быть полным походу

Lev
15.03.2017
19:28:20
По умолчанию mapbox гоняет на США. Русскую схему надо шаманить.

Артур
15.03.2017
19:29:22
У тебя она есть развернутая?

Lev
15.03.2017
19:32:08
Нет

Google

Артур
15.03.2017
19:33:44
Есть хотя бы онлайн пример испольования этой библиотеки с русской адресной базой?
OSM Например такое не жрет
Ну судя по документации postgres - они Тоже за таблицу один ко многим
F.31.5
Получается что это самое простое решение. Хотя и не радуют меня лишние таблицы в БД

blkmrkt
16.03.2017
02:30:34
чтоб скормить sql dump в pgloader, нужно оставить в дампе только сами строки данных, вырезав все комманды оттуда, и указать тип LOAD COPY?
а ок, ему можно любое мясо скармливать, он все равно отбрасывает невалидные строки. Замечательная утилита, столько времени сэкономила

Артур
16.03.2017
03:08:14
Может это норм и не надо стараться улучшать код и выносить его полностью в pg
У кого какое мнение?

Олег
16.03.2017
07:39:48
Я сопровождаю постгрес с 3к pl/sql процедур. Вся логика в базе.
Не надо так.
Это невозможно профилировать, это сложно поддерживать, это пздц мигрировать (а у меня 9.0)
(На самом делн профилировать тоже можно, но в основном силами прогеров)

Петр
16.03.2017
07:42:27
Не надо так.
postgres=# select count(*) from pg_proc;
count
-------
10327

Олег
16.03.2017
07:42:29
Моё личное мнение - база должна быть базой. Без серьёзной необходимости (например, много данных приходится гонять и проще их обработать внутри базы) НЕ НУЖНО пихать логику в базу
И да, не запихивайте файлы в базу "патамушта так проще"
Тоже при крайней необходимости
А то в нагрузку к первой базе есть отддельная (первая база лезет через sql в другую) на полтора терабайта.
Разъехалась реплика + медленные диски = хер знает как это чинить.

Петр
16.03.2017
07:45:57
все, что вы написали - это все сомнительно (точнее спорно), надеюсь не ради холивара

Google

Олег
16.03.2017
07:45:58
Наболело
А что сомнительно?

Петр
16.03.2017
07:46:19
все

Олег
16.03.2017
07:47:07
Давайте по пунктам, что ли?

Петр
16.03.2017
07:47:24
нет, в другой раз, работать надо

Олег
16.03.2017
07:47:26
Это правда моё личное мнение и особо обсудить его было не с кем
Нуок

Ivan
16.03.2017
08:02:43

Артур
16.03.2017
08:04:46
А если таблиц 8-9 с дочерними таблицами variants. Но родителькие содержат разное количество столбцов?
В процедуре жестко задаются возвращаемые столбцы (RETURNS TABLE() ) и этот пипец ёмко будет каждый раз перечитывать дропать и апдейтить процедуру при изменении структуры таблицы
Я поэтому код и выложил. До этого 2 часа пробовал либо с JOIN либо процедурой Всё это получается слишком емко и дорого с точки зрения обслуживания
Пришел к выводу что это самый оптимальный вариант. Тем не менее это субъективное мнение. И это осознаю.
Именно по этой причине я задаю вопрос и ссмотрю с любой стороны. @vanadium23 твое мнение имеет место быть. Но скинь свое решение. Чтобы как-то на примере


Yury
16.03.2017
08:09:44

Артур
16.03.2017
08:10:29
Антипаттерн "золотой молоток" говорит о том, что нельзя применять одно и тоже средство для всех подходов.

Ivan
16.03.2017
08:12:04

Yury
16.03.2017
08:12:09
это не патерн это называется, думать головой надо

Артур
16.03.2017
08:12:34
С этого началось

Yury
16.03.2017
08:13:08

Артур
16.03.2017
08:13:30

Yury
16.03.2017
08:14:23
если можно обойтись без процедуры (т.е. скорость не просядет и тебе пол бд доставать не нужно) то нужно обойтись

Google

Артур
16.03.2017
08:15:57

Yury
16.03.2017
08:16:02

Артур
16.03.2017
08:16:20
Это интересно. Например?
Я готов слушать и слышать

Admin
ERROR: S client not available

Yury
16.03.2017
08:20:44

Артур
16.03.2017
08:26:24
Ну как бы array_unique и чтобы порядок остался
В postgres Это DISTINCT
Но он в купе с order Не работает

Darafei
16.03.2017
08:54:07
в смысле не работает?
select distinct on ()
кто на конференции? на какой следующий доклад идёте и почему?

James
16.03.2017
08:59:31
коллеги подскажите момент по чистке таблиц
таблицу чищу а место на винте не освобождается

Ivan
16.03.2017
09:01:59
блоб отданный таблице будет дальше им и пользоваться
только после vacuum full место освобождается
ЕМНИП

Fedor
16.03.2017
09:02:41
PG_repack посмотри

James
16.03.2017
09:06:36
спс ща смотрю

Артур
16.03.2017
09:22:23

Google

Mike Chuguniy
16.03.2017
09:25:19
никогда, и особенно в postgres
Я тут мал-мала кой над чем поиздевался, и у меня кастомный скрипт с функицей оказался ощутимо быстрее, чем с прямой вставкой. Так что - спорное утверждение. Весьма спорное.

Yury
16.03.2017
09:26:22

Mike Chuguniy
16.03.2017
09:28:27
Юр, на какую реку ты поехал? Не на Пехорку случаем?

James
16.03.2017
09:29:42
подскажите в 9.4 автовакуум по дефолту включен или выключен?

Yury
16.03.2017
09:31:34

James
16.03.2017
09:31:56
хмм почему же место не освобождается

Yury
16.03.2017
09:32:03
а оно и не должно :)
место освобождает vacuum full
авто вакуум немного другими делами занимается (в редких случаях вроде может немного уменьшить с конца место, но на практике этого не происходит)

Павел П.
16.03.2017
09:55:48
что-то странное увидел