
blkmrkt
30.07.2018
03:50:41
Ок, это наверное из-за ORDER BY

wonser
30.07.2018
05:10:26

Google

blkmrkt
30.07.2018
05:12:33
А почему gin индекс должен ускорять like запрос?
Да это я просто тестировал. Там обычный btree раньше был.
Еще странно - сейчас сделал запрос без ORDER BY, с
WHERE profile ->> 'domain' LIKE '%username%', выполнилось за 800мс. Делаю
WHERE profile ->> 'domain' LIKE '%usernam%', квери висит до сих пор.
Как такой поиск вообще ускорить? В поле 'domain' просто никнейм пользователя, вот нужно быстрый 'term%' или '%term%' реализовать.
Сервер на медленных дисках, в таблице 500милл записей.

Anton
30.07.2018
06:01:12
= и индекс хотя бы btree. А json обязательно?
Может вынести это поле из структуры?

Volodymyr Kostyrko
30.07.2018
06:14:47
Нет, если jsonb можно напрямую адресовать и индексы строиться будут.
Быстрый поиск... У вас оно на логические куски делится или положение '%term%' в строке случайно?

blkmrkt
30.07.2018
06:18:48

Volodymyr Kostyrko
30.07.2018
06:19:50
Ну тогда постройте по полю хотя бы btree.

blkmrkt
30.07.2018
06:20:25

Volodymyr Kostyrko
30.07.2018
06:21:08
А.
Кстати, в gin логичнее запихивать весь jsonb.

Konstantin
30.07.2018
06:23:36
https://youtu.be/zoW3lqbaGxM
случайно в буфере оказалось ) пардон

Google

Mikhail
30.07.2018
07:47:05
not (table.state = 2)
и
table.state != 2
Это ведь одно и тоже?

Denis
30.07.2018
07:48:25
да

Leonid
30.07.2018
08:25:01
Подскажите, какой максимальный размер jsonb записи в postgresql?

Darafei
30.07.2018
08:28:42
~256 mb
у json гигабайт

blkmrkt
30.07.2018
08:50:42

Alex
30.07.2018
09:01:50
ребята, а можно через psql задать адреса, которые сервер будет слушать
ну аля listen_addresses, только без самого рестарта?
нашел pg_ctl reload, спасибо)

Денис
30.07.2018
10:00:46
Привет. Господа (и дамы), помогите пожалуйста с натуральной сортировкой цифер. Я создал коллате: CREATE COLLATION numeric (provider = icu, locale = 'uni-u-kn-true'); и пытаюсь применять его в сортировке: select * from zip_code order by (code COLLATE "numeric"); Но сортировка не работает вообще. Помогите пожалуйста. Как мне отсортировать по цифрам корректно?

wonser
30.07.2018
10:05:55
А должнл быть 1 2 3 10 10а.. 30...?

Денис
30.07.2018
10:06:09

Natalia
30.07.2018
10:06:48
ребята, привет! Заранее прошу прощения за спам, но вдруг кого-то заинетересует, а может быть у кого-то есть знакомые, которым может быть интересно: мы ищем разработчиков баз данных, которым интересно принять участие в разработке больших, распределенных систем обработки информации.

Денис
30.07.2018
10:06:49
Это номера домов

Natalia
30.07.2018
10:07:34
на все вопросы готова ответить в direct
во вакансии)

Денис
30.07.2018
10:10:38
# select '2' < '10' COLLATE numeric;
?column?
----------
f
Я так понимаю, с поддержкой коллег в этой группе не особо густо. Что-ж, восполню немного это упущение. Нашел решение вопроса натуральной сортировки, единственное, которое нормально работает с номерами домов. С цифрами и буквами. Единственная проблема - цифры, идущие после букв - игнорируются. Может кому пригодится: https://stackoverflow.com/a/46643772
#натуральнаясортировка

Arthur
30.07.2018
11:27:12

Yaroslav
30.07.2018
11:31:12

Google

Денис
30.07.2018
11:33:42
# select '2' < '10' COLLATE numeric;
?column?
----------
f

Arthur
30.07.2018
11:36:19

Денис
30.07.2018
11:36:51
PostgreSQL 10.4 (Debian 10.4-2.pgdg80+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 4.9.2-10+deb8u1) 4.9.2, 64-bit
Может быть нужны какие-то необязательные зависимости?

Андрей
30.07.2018
12:20:15
парни хелп
почему при такой
INSERT INTO user_subservices
values(unnest(ARRAY[1,2,3,4,5,6,7]),unnest(ARRAY['q','w','e'])); будет нормальных 21 строк но если первый масив будет кратный 3, то строк будет столько, сколько чисел в массиве
у меня?

S
30.07.2018
12:33:01
Note
By design, ICU will accept almost any string as a locale name and match it to the closest locale it can provide, using the fallback procedure described in its documentation. Thus, there will be no direct feedback if a collation specification is composed using features that the given ICU installation does not actually support. It is therefore recommended to create application-level test cases to check that the collation definitions satisfy one's requirements.

Gennady
30.07.2018
12:33:29
парни хелп
почему при такой
INSERT INTO user_subservices
values(unnest(ARRAY[1,2,3,4,5,6,7]),unnest(ARRAY['q','w','e'])); будет нормальных 21 строк но если первый масив будет кратный 3, то строк будет столько, сколько чисел в массиве
Какая у Вас version() ?
ERROR: set-returning functions are not allowed in VALUES

Андрей
30.07.2018
12:34:14

S
30.07.2018
12:34:15
@bondarden ваш icu из вашего debian возможно не поддерживает нужную вам локаль

Андрей
30.07.2018
12:37:53

Gennady
30.07.2018
12:54:30
select unnest(ARRAY[1,2,3,4,5,6,7]),unnest(ARRAY['q','w','e']);
работает так, как Вы описали

Андрей
30.07.2018
12:56:25
select unnest(ARRAY[1,2,3,4,5,6,7]),unnest(ARRAY['q','w','e']);
работает так, как Вы описали
да, но сделайте первый массив не с 7 элемонтов а 6

Gennady
30.07.2018
12:58:03
Нет никаких проблем, на вашей версии (9.3, кажется) посмотреть не могу

Андрей
30.07.2018
12:59:22
на какой вы смотрите

Google

Gennady
30.07.2018
12:59:42
10.3

Андрей
30.07.2018
13:00:28
тоесть на 10.3 если первого массив длинна 6 а второго 3 то результат 18 строк?

Admin
ERROR: S client not available

Виктор
30.07.2018
13:03:40
Странно как то работает.
При соотношении в размере не нацело между массивами, получаем декартово произведение, иначе - нет.

Gennady
30.07.2018
13:05:46

Amir
30.07.2018
13:10:54
спросили, сам не разу не использовал, но стало интересно
SELECT INTO плюсы и минусы?

Андрей
30.07.2018
13:13:05
блин, мне нужно передать два массива и число [1,2,3] ['a','s'],1 и что б мне построих отношение типа
1 'a' 1
1 's' 1
2 'a' 1
2 's' 1
3 'a' 1
3 's' 1
как это сделать думал через эти unnest, но нет
не выходит

Gennady
30.07.2018
13:17:12
cross join ?

Денис
30.07.2018
13:17:27
Сейчас проверил под убунтой на десктопе - работает.
Осталось понять, почему на стейджинге не работает. Версии постгреса одинаковые. Локали системы - тоже.

S
30.07.2018
13:25:49
это же зависит от libicu, а не версии postgres или системных локалей libc

Денис
30.07.2018
13:27:42
Как мне понять причину? Какие шаги предпринять?
я понимаю, что проблема с icu, раз тут не работает, а там работает. но не знаю, что мне сделать, чтобы однозначно понять в чем причина.

Mike Chuguniy
30.07.2018
13:31:26
@bondarden посмотрите, какие локали у вас в системах установлены и там, и там, locale -a

alex
30.07.2018
13:38:08
дурги , подскажите по проблеме
настравиаю посгри + патрони, на одной машине все поднялось. на другой ошибку кажет
CRITICAL: system ID mismatch, node jr-conf-app-01 belongs to a different cluster: 6583990523194021581 != 6583943263285112373
как починить

Google

alex
30.07.2018
13:39:03
поднялось там где нету никакой базы
а на сервере где есть база, не подымается

Денис
30.07.2018
13:44:07

Sergey
30.07.2018
14:08:36
Чет никогда раньше не задумывался )
например есть таблица "избранное", в которой надо связать user_id и id из двух таблиц (!) т.е. у пользователя может быть в избраном и Группа, и Диалог Как тогда делают связующую таблицу с group_id и dialogue_id ?

elfiki
30.07.2018
14:31:51
ну типа две таблицы
одну с группами, вторую с диалогами

Sergey
30.07.2018
14:33:23
ок

Alexandr
30.07.2018
14:39:32
@obartunov - Демоны..

Mikhail
30.07.2018
14:40:04
модно чтоли стало ебанутые ники ставить...

Nikolai
30.07.2018
14:41:01
это ж спам

Mikhail
30.07.2018
14:41:31
я их уже 3 тут вижу, минимум =)))