
Айтуар
08.12.2016
15:29:52

Anton
08.12.2016
15:29:58
рестартовал
=) не помогает
пока как WA планирую пересоздать базу, но блин.. хочется знать что за .....

Google

Игорь
08.12.2016
15:30:25
Ы...

Айтуар
08.12.2016
15:30:45
а ты сам себя блочишь вроде ))

Игорь
08.12.2016
15:30:56
Так ты законнектился к этой базе и ее схему дропаешь?

Anton
08.12.2016
15:31:06
PostgreSQL 9.5.5 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-17), 64-bit
[postgres@p00db01 ~]$ psql -U postgres -d "evotedb-public" -c "DROP SCHEMA IF EXISTS PUBLIC CASCADE;"

Айтуар
08.12.2016
15:31:54

Anton
08.12.2016
15:32:16
да
почему должно не прокатывать ?

Игорь
08.12.2016
15:34:41
Должно

Anton
08.12.2016
15:37:33
postgres=# drop database "evotedb-public"
postgres-# ;
ERROR: database "evotedb-public" is being accessed by other users
DETAIL: There is 1 prepared transaction using the database.
=) вот оно наверно что
подскажите пожалуйста как ее сбросить можно ?
evotedb-public=# rollback prepared '1096044365_MTkyLjE2OC40My40MC50bTE0ODExNTI2Mzk3MTAwMjM0Mw==_MTkyLjE2OC40My40MC50bTIzMzI='
evotedb-public-# ;
ROLLBACK PREPARED

Google

Anton
08.12.2016
15:39:58
помогло

Антон
08.12.2016
16:42:58
пацаны, у меня очень странная проблема
совершенно непонятно почему внезапно секвенс начал зависеть от неправильных колонок

Артем
08.12.2016
17:21:40
Можно в пгадмине увидеть структуру в графическом виде?

Антон
08.12.2016
17:26:23
кстати забекапил схему в sql, развернул, в новой схеме все хорошо

Sergey
08.12.2016
17:28:42

blkmrkt
09.12.2016
04:32:48
поясните что делают эти команды:
select * from country_state for update \g /tmp/ignore;
select * from country for update \g /tmp/ignore;
а ясно

Ryzhikov
09.12.2016
09:13:31
Привет всем, а кто знает способ ускорить сортировку по full text search rank? Индекс наверно не построить - может какие-нибудь трюки?

Stas
09.12.2016
09:14:59
Ранк стандарный? Есть понимание как вообще результаты должны сортироваться?
https://github.com/postgrespro/rum — умеет постинг листы хранить в заранее определенном порядке
если можно посчитать заранее какие-то веса документов, то может сильно помочь

Vadim
09.12.2016
09:18:06
Мы не можем уже второй месяц добиться чтобы починили этот экстеншн
https://github.com/postgrespro/rum/issues/9

Ryzhikov
09.12.2016
09:22:49
Ранк стандартный

Alex
09.12.2016
09:23:04
Говорят под нагрузкой не очень работает этот ваш rum

Ryzhikov
09.12.2016
09:23:46
Поиск врачей по имени специальности аддресу

Vadim
09.12.2016
09:24:03
у нас не получилось даже создать индекс GIN. Очень любит в процессе создания положить всю БД.

Stas
09.12.2016
09:24:48

Google

Alex
09.12.2016
09:24:57
Я бы взял pg_trgm + fuzzymatch кажется назывался модуль

Ryzhikov
09.12.2016
09:25:29
чтобы те кто лучше заматчился - всплывали
имя имеет больший вес

Stas
09.12.2016
09:26:41
можно правда тогда с фаззи поиграться, например отсортировать по левенштейну по фамилии
тож не быстро правда

Ryzhikov
09.12.2016
09:27:01
хотелось все в одну строчку поиска впихнуть
причем если запрос селективный - все быстро - но ребята переодически ищут всех джонов в США

Alex
09.12.2016
09:27:32
Если в отдельное поле писать при вставке то ок

Ryzhikov
09.12.2016
09:28:01
и тут все тупить начинает
хотелось бы как-то откинуть тупняк

Stas
09.12.2016
09:28:56
еще фамилиям можно проставить вес
ранкер умеет в эту инфу

Ryzhikov
09.12.2016
09:29:18
да я под именами и фамилию понимаю
там 50 полей из них 10 имена 20 специальности 20 аддреса

Stas
09.12.2016
09:30:05
но попробовать стоит

Ryzhikov
09.12.2016
09:30:25
был триграм - заменил на полнотекст
рад ранкинга
ради

Alex
09.12.2016
09:30:41
Хм

Google

Ryzhikov
09.12.2016
09:30:41
:)

Arthur
09.12.2016
09:31:34
можно использовать индекс с весами для столбцов

Stas
09.12.2016
09:31:40
сколько врачей вообще подходят под запрос? без ранкинга

Arthur
09.12.2016
09:31:41
CREATE FUNCTION messages_trigger() RETURNS trigger AS $$
begin
new.tsv :=
setweight(to_tsvector('pg_catalog.english', coalesce(new.title,'')), 'A') ||
setweight(to_tsvector('pg_catalog.english', coalesce(new.body,'')), 'D');
return new;
end
$$ LANGUAGE plpgsql;
CREATE TRIGGER tsvectorupdate BEFORE INSERT OR UPDATE
ON messages FOR EACH ROW EXECUTE PROCEDURE messages_trigger();

Ryzhikov
09.12.2016
09:32:01
Артур - так и сделанно
если я ищи например по необычной фамилии или уникальному сочетанию - то все приемлемо быстро

Admin
ERROR: S client not available

Ryzhikov
09.12.2016
09:33:07
но запрос типа john - 20 секунд

Alex
09.12.2016
09:33:22
Отсекционировать дополнительно ?

Ryzhikov
09.12.2016
09:33:30
это как?

Alex
09.12.2016
09:34:06
Ммм понял, никак :)

Stas
09.12.2016
09:34:15
я бы разный поиск мутил в зависимости от длины запроса

Ryzhikov
09.12.2016
09:34:16
причем на john мы впринципе ничего нормального ответить не можем
ну вот и я думаю об этом

Stas
09.12.2016
09:34:27

Ryzhikov
09.12.2016
09:34:31
только как зарание узнать

Stas
09.12.2016
09:34:44
srtlen()
=)

Ryzhikov
09.12.2016
09:34:47
например русская редкая фамилия
хорошо фильтрует

Google

Ryzhikov
09.12.2016
09:35:23
если бы я у базы мог эстимэйт спросить на query
типа запрос не селективный - выключаем rank

Stas
09.12.2016
09:36:08
хмхм
а сколько займет просто count без ранкинга?

Ryzhikov
09.12.2016
09:38:00
сча попробую
больше 10 секунд для john

Stas
09.12.2016
09:43:34
а можно explain analyze?

Darafei
09.12.2016
09:43:34
а количество?
а то можно (select ... from (select ... from ... where matches() limit 100) order by rank())

Stas
09.12.2016
09:45:07
тогда качество поиска может пострадать)
если лимит перед ранком)

Darafei
09.12.2016
09:46:01
так просят же отключить ранк для плохоселективных

Ryzhikov
09.12.2016
09:46:24
так и сделал - f389b96f-59f5-46b8-9312-6007560b6f7b

Stas
09.12.2016
09:46:48
даж explain (analyze, buffers)
показать

Ryzhikov
09.12.2016
09:47:44
select select limit - за 300ms отрабатывает
уже более менее
можно оценить
сейчас на редком попробую