
Alexey
07.10.2018
08:20:36

Jack
07.10.2018
08:23:19
Вам нужны все теги?
мне нужно взять всех юзеров у кототырх есть определенные теги. например юзер дает список из 5, или 6 или 10, не важно, тега и мне надо взять всех юзеров у которых есть ВСЕ эти теги. Если тегов 5 и какой-то юзер имеет 4 тега, но не имеет последный тег, то он не будет выбран. собственно как я понял ваш пример это только для двух тегов так ?

Alexey
07.10.2018
08:23:46
А, ну тогда оператор @> используй

Google

Jack
07.10.2018
08:24:22
можете на первом примере модифицировать ? я попробую. если не сложно

Alexey
07.10.2018
08:25:47
select
user
from (
select
user,
array_agg(tag) as tags
from t
group by user
) as tmp
where
array['tag1', 'tag2'] <@ tags

Jack
07.10.2018
08:28:08
а это какой оператор ? у меня redshift вроде не понимает этого

Alexey
07.10.2018
08:29:14
Ничего не знаю про redshift.

Yaroslav
07.10.2018
08:29:28

Jack
07.10.2018
08:32:17
да вроде redshift это pgsql, но если я пойму как все делать, то там скорее всего будут свои методы и несложно будет

Yaroslav
07.10.2018
08:36:16

Jack
07.10.2018
08:42:09

Terminator
07.10.2018
10:25:34
Alexander Moroz будет жить. Поприветствуем!
@x2bool будет жить. Поприветствуем!
@UDIN111 будет жить. Поприветствуем!

Mikhail
07.10.2018
17:57:20
@andrshmi
> у меня проблема, третий день страдаю
> нужен полнотекстовый поиск
> в связке с гео
задача "найти ближайшее место со словом ""пиво"?" или надо сравнивать расстояния между слвами в километрах? // всегда интересовали такие задачи

Google

Fike
07.10.2018
18:02:34
звучит как задача для эластиксерча ???

Andrei
07.10.2018
18:03:17
В функции есть лимит на результат плюс радиус поиска
В радиусе ищем по максимальной релевантности текста

elfiki
07.10.2018
18:04:12
пиво в километре и пивас в 500 метрах различаются?

Andrei
07.10.2018
18:04:24
Если лимит не набрался, то добираем максимально близкими по расстоянию

elfiki
07.10.2018
18:04:30
ну то есть что долно быть?
так-то всегда можно получить два параметра:
расстояние до и релевантность поиска

Andrei
07.10.2018
18:05:59
Все что попадает в радиус поиска - сортируется по релевантности текста, что за пределами радиуса поиска - по растоянию

elfiki
07.10.2018
18:06:01
а вот как их сортировать уже не очень понятно

Mikhail
07.10.2018
18:07:28

Andrei
07.10.2018
18:08:10
Да, но за пределами радиуса сортировка другая

Mikhail
07.10.2018
18:08:52
Какая?

Andrei
07.10.2018
18:09:05
По расстоянию

elfiki
07.10.2018
18:09:14
ну вроде все просто

Andrei
07.10.2018
18:09:19
Через cte решил

Mikhail
07.10.2018
18:09:25
И на сколько мелко масштаб побит?

elfiki
07.10.2018
18:09:27
пара дополнительных параметров по условию и сортировка по ним

Andrei
07.10.2018
18:09:31
Набирал по расстоянию лимит
А потом все, что в радиусе, пересортировывал

Mikhail
07.10.2018
18:10:17
Можно геокоды положить ключами в полнотекст : один из рабочих вариантов всегда

Google

Сергей
07.10.2018
18:22:36

AlexAnder
08.10.2018
03:41:07
есть ли разница в последовательности удаления триггера и функции для него?
DROP FUNCTION IF EXISTS public."FN_users_update_something"()
DROP TRIGGER IF EXISTS "TR_users_something" ON public.tablename

Andrey
08.10.2018
03:43:54

Михаил
08.10.2018
05:42:51

AlexAnder
08.10.2018
06:24:24
ok, ty

Andrey
08.10.2018
06:53:18
Вообще правильнее, конечно, сначала удалять сам триггер. Кроме того, одна и та же функция может использоваться в нескольких тригеррах.

Aleksander
08.10.2018
08:39:48
Привет, скажите, может ли wal_level = logical приводить к раздуванию wal? Все еще ищу причины странной проблемы, при логической репликации, wal сжирает все место, и не чистится, только после рестарта это происходит. Для сравнения, база 200 гб, вал вырастает до 200-300 гб

Yaroslav
08.10.2018
08:42:16
Привет, скажите, может ли wal_level = logical приводить к раздуванию wal? Все еще ищу причины странной проблемы, при логической репликации, wal сжирает все место, и не чистится, только после рестарта это происходит. Для сравнения, база 200 гб, вал вырастает до 200-300 гб
> может ли wal_level = logical приводить к раздуванию wal?
Пишется туда побольше, но вот к этому:
> Все еще ищу причины странной проблемы, при логической репликации, wal сжирает все место, и не чистится, только после рестарта это происходит.
wal_level = logical почти наверняка не относится.

Mike Chuguniy
08.10.2018
08:43:25

Aleksander
08.10.2018
08:44:02

Mike Chuguniy
08.10.2018
08:45:45

Konstantin
08.10.2018
08:48:44
если реплика не успевет проигрывать и отстаёт, то ес-но WAL будет пухнуть.

Aleksander
08.10.2018
08:51:14
мб, я что-то криво настроил, и она что-то не тянет из репликейшен слота

Konstantin
08.10.2018
08:51:58
Запросто - может и несколько часов достигать

Aleksander
08.10.2018
08:52:44
проблема в том, что она в лог вообще ничего не ишет, как будто все норм. (я про слейв)
о - есть такое на мастере
2018-10-08 11:47:02.541 MSK [271] LOG: checkpoints are occurring too frequently (29 seconds apart)
2018-10-08 11:47:02.541 MSK [271] HINT: Consider increasing the configuration parameter "max_wal_size".
2018-10-08 11:49:41.505 MSK [271] LOG: checkpoints are occurring too frequently (28 seconds apart)
2018-10-08 11:49:41.505 MSK [271] HINT: Consider increasing the configuration parameter "max_wal_size".

Konstantin
08.10.2018
08:54:57

Aleksander
08.10.2018
08:55:29
00:00:00.369

Google

Aleksander
08.10.2018
08:57:49
еще там разные версии. Мастер 10 1, слейв 10 5

Maksim
08.10.2018
09:01:26

S
08.10.2018
09:04:12

Konstantin
08.10.2018
09:05:40
А max_wal_size там какой?

Grigory
08.10.2018
09:06:44
00:00:00.369
пришлите результаты запросов:
select * from pg_get_replication_slots();
select * from pg_stat_replication;


Aleksander
08.10.2018
09:07:24
postgres=# select * from pg_get_replication_slots();
slot_name | plugin | slot_type | datoid | temporary | active | active_pid | xmin | catalog_xmin | restart_lsn | confirmed_flush_lsn
------------+----------+-----------+--------+-----------+--------+------------+------+--------------+---------------+---------------------
divico_sub | pgoutput | logical | 16385 | f | t | 17147 | | 255670518 | 1B14/3F5CE7F0 | 1B1E/4FFFD058
(1 row)
pid | usesysid | usename | application_name | client_addr | client_hostname | client_port | backend_start | backend_xmin | state | sent_lsn | write_lsn | flush_lsn | replay_lsn | write_lag | flush_lag | replay_lag | sync_priority | sync_state
-------+----------+----------+------------------+----------------+-----------------+-------------+-------------------------------+--------------+-----------+---------------+---------------+---------------+---------------+-----------+-----------+------------+---------------+------------
17147 | 10 | postgres | divico_sub | 91.109.204.172 | | 44064 | 2018-10-08 08:40:33.722731+03 | | streaming | 1B1E/56FFEDC8 | 1B1E/56FFEDC8 | 1B1E/56FFEDC8 | 1B1E/56FFEDC8 | | | | 0 | async
(1 row)


Grigory
08.10.2018
09:09:25
слот у вас логический, а реплика физическая

Aleksander
08.10.2018
09:09:51

Grigory
08.10.2018
09:10:04
slot_type - logical
реплика этот слот не использует
судя по всему, никто его не использует

Aleksander
08.10.2018
09:10:58
а как объяснить, то, что когда реплика стопается, active у слота в false переходит?
И наоборот
Настройку всю делал по этому видео https://www.youtube.com/watch?v=uy1E7y7kIOM&t=621s

S
08.10.2018
09:15:27

Aleksander
08.10.2018
09:15:58
после рестарта - пишет так

Google

Aleksander
08.10.2018
09:17:12
2018-10-08 12:16:18.522 MSK [20313] postgres@divico LOG: starting logical decoding for slot "divico_sub"
2018-10-08 12:16:18.522 MSK [20313] postgres@divico DETAIL: streaming transactions committing after 1B1F/65ED4DE0, reading WAL from 1B1F/65ED4D38
2018-10-08 12:16:18.522 MSK [20313] postgres@divico LOG: logical decoding found consistent point at 1B1F/65ED4D38
и wal исчезает

Terminator
08.10.2018
09:26:04
Тимур Алиев будет жить. Поприветствуем!

Dmitry
08.10.2018
09:48:32
а pg_repack/compact table умеют строить индексы на одной новой таблице паралельно?
кто-нибудь в курсах?

Aleksander
08.10.2018
10:14:38
А могут ли мои проблемы с репликацией быть связаны с разной таймзоной на серверах?

Maxim ??
08.10.2018
10:45:29
Желательно что бы на мастере и реплике была одинаковая таймзона

Amir
08.10.2018
10:52:31
привет знатокам, подскажите плиз как создать сиквенс зависящий от группировки:
есть дополнительное поле, в разрезе этого поля необходимо накручивать счетчик
это же возможно?

Сергей
08.10.2018
10:54:07
напрямую вроде как нет. есть идея в тригере дергать нужный сиквенс в зависимости от условия

Artyem
08.10.2018
10:55:53
теоретически можно напилить секционирование таблиц по этому полю и в каждой таблице указать свой сиквенс. но не настолько в этом разбираюсь, чтоб увидеть все подводные камни. и это врятли то что вам нужно.