
Ivan
31.01.2017
16:48:55
Я хочу туда синхронную асинхронщины принести

Alexey
31.01.2017
16:48:56
Оффтопик. Пост закрыт.

vladget
31.01.2017
17:26:56
Привет! Как избежать "canceling statement due to conflict with recovery" при чтении со слейва?
ERROR: canceling statement due to conflict with recovery
DETAIL: User query might have needed to see row versions that must be removed.

Google

Fike
31.01.2017
17:49:50
всем привет, задам вот такой вопрос, по хранению в БД, надо сохранять стату по объекту, несколько показателей за день, нагрузка небольшая, но вот история хранения может быть полгода, например:
объявление, дата, показы, клики, еще набор числовых параметров
можно сделать circular log на коленке:
CREATE TABLE metric_store (metric VARCHAR, sample INT, taken_at DATETIME, value INT, PRIMARY KEY (metric, sample);
после этого можно делать апсерт по паре metric/sample, где sample - это (timestamp / sampling period) % history length. В результате sample будет постоянно кольцеваться от нуля до history length, и более поздние значения будут переписывать более ранние. В разрезе постгре это конечно значит, что старые значения придется активно собирать вакуумом.

vladget
31.01.2017
18:27:32
вот так вот.. просто повторите попытку..


Петр
31.01.2017
18:30:31
Привет! Как избежать "canceling statement due to conflict with recovery" при чтении со слейва?
салют
это может происходить, когда
- удаляется тейблспейс
- удаляется бд
- происходит очистка вакуумом записей, приводящий к конфликту
- access exclusive lock на примари включающий явную LOCK команду и какой-либо DDL, приводящий к конфликту доступа к таблице на стендбае
Если предполагается, что запрос, приводящий к конфликту, достаточно быстро выполняется, то ему позволяется его закончить задерживая применение WAL. Если же запрос довольно долгоиграющий то он завершается.
На это поведение можно повлиять параметрами:
max_standby_archive_delay или max_standby_streaming_delay
Также, другой вариант заключается в увеличении vacuum_defer_cleanup_age на примари. Параметр указывает на количество транзакций на которые откладываются очистка устаревших версий строк вакуумом и горячими обновлениями. Обычно этот параметр установлен в 0, что означет, что старые версии строк очищаются как можно быстрее. Установив параметр в ненулевое значение можно дать больше времени на завершение выполнения запросов на стендбае. Но, т.к. параметр указывает кол-во транзакций, то точно определить сколько времени на завершение запроса невозможно.


vladget
31.01.2017
18:32:21
hot_standby_feedback в on решает проблему тоже?

Петр
31.01.2017
18:32:25
Так же есть параметр hot_standby_feedback, который определяет будет отправлен отзыв о выполняющихся на данный момент запросов на стендбае на примари или нет. Если параметр включен (по умолчанию выключен), то при необходимости, процессы, выполняющие очистку устаревших версий данных, могут быть отменены. Это может повлечь раздувание базы данных. (Отзыв обратной связи будут отправляться не чаще чем wal_receiver_status_interval)
выше ответил
я его включаю

vladget
31.01.2017
18:33:14
понял, спасибо!

Петр
31.01.2017
18:33:29
но, основной способ борьбы - это увеличение max_standby_streaming_delay (max_standby_archive_delay)
а так же, тюнинг кода

Evgeniy
31.01.2017
18:46:21
>>Re: [HACKERS] Patch: Write Amplification Reduction Method (WARM)
>Unless there are objections I will push this later this afternoon.
такие дела

Google

Аггей
31.01.2017
18:51:23
Насколько я понимаю, max_standby_streaming_delay , не совсем решает проблему - так как неизвестно сколько времени прошло с последнего применения логов, до запуска нашей транзакции - max_standby_streaming_delay - задает максимальный интервал времени, но не гарантирует, что recovery не произойдет раньше

Wom
31.01.2017
18:52:13
я в итогде плюнул и не стал бакапить со стендбая. чуть ли не через раз облом

vladget
31.01.2017
18:54:09
бэкапить я давно перестал со стенбая, но вот балансировка нагрузки и всякие ридонли для аналитики...

Wom
31.01.2017
18:55:30
и у тебя на простых запросах эта ошибка? сколько же они выполняются?

vladget
31.01.2017
19:05:36
Да есть там всякое зло типа where id in (полотенце)

Петр
31.01.2017
19:10:11

Аггей
31.01.2017
19:12:07
http://dba.stackexchange.com/questions/30626/running-pg-dump-on-a-hot-standby-server
Второй совет - перед бэкапом делать остановку наката логов

Wom
31.01.2017
19:13:21
и можно получить дырку

Аггей
31.01.2017
19:14:24
Ну тут эмпирическим путем подбираются значения сохранения логов (wal_keep_segments) на мастере - чтобы перекрывать период бэкапа
И опять же - если standby не используется для запросов на чтение
Что касается запросов на чтение - то тут как сказал Петр - играем с параметрами max_standby_streaming_delay (max_standby_archive_delay) и оптимизируем и еще раз оптимизируем запросы


Dmitry
01.02.2017
07:13:23
https://docs.google.com/document/d/1GCK53YDcBWQveod9kfzW-VCxIABGiryG7_z_6jHdVik/pub
Figure out why PostgreSQL suddenly had problems with max_connections being set to 8000, despite it having been set to that since 2016-05-13. A large portion of frustration arose because of this suddenly becoming a problem.
SH: It looks like pg_dump may be failing because PostgreSQL 9.2 binaries are being run instead of 9.6 binaries. This happens because omnibus only uses Pg 9.6 if data/PG_VERSION is set to 9.6, but on workers this file does not exist. As a result it defaults to 9.2, failing silently. No SQL dumps were made as a result. Fog gem may have cleaned out older backups.
меняажтрисет

Rafkat
01.02.2017
07:19:09
и че теперь с гитлабом будет

Stas
01.02.2017
07:20:12


Jim
01.02.2017
07:47:46
посоны, есть такая задача - помочь конечному пользователю в поиске украинских слов, в том случае когда юзер русский и пишет слова как слышит и из-за этого не находит искомый вариант. как думаете уместно ли будет в данном случае юзать https://postgrespro.ru/docs/postgrespro/9.5/pgtrgm или
https://postgrespro.ru/docs/postgrespro/9.5/fuzzystrmatch ?

Alex
01.02.2017
07:48:26
смотреть в сторону metaphone

Jim
01.02.2017
07:48:29
например Велика кишеня юзер пишет как Вэлыка кышеня, т.е. как услышал

Alex
01.02.2017
07:48:31
приводить к нему и по нему искать

Google

Alex
01.02.2017
07:48:53
с использованием триграммов и фаззистрматч, да

Jim
01.02.2017
07:49:08
ага, ну как раз к fuzzystrmatch всё и ведёт, thx

Alexey
01.02.2017
08:15:18
раз уже тема такая тут затронута, может подскажете куда смотреть для решения такой задачи:
Есть фамилия на русском, есть фамилия латиницей (например из заграна) необходимо оценить схожесть этих фамилий

Alexey
01.02.2017
08:15:32
смотреть в сторону metaphone

Alex
01.02.2017
08:16:42
фиг его знает...
в качестве быстрого решения я бы попробовал, сравнивать похожесть метафонов с каким-то найденым относительным коэффицентом похожести

Jim
01.02.2017
08:17:25

redbeard
01.02.2017
08:17:50

Alexey
01.02.2017
08:17:59

Alex
01.02.2017
08:18:07
или левенштейн да

Jim
01.02.2017
08:18:12
заграны по одному стандарту

Alexey
01.02.2017
08:18:24

Jim
01.02.2017
08:18:40
гост же есть по транслиту, для паспортов, не?

Alex
01.02.2017
08:18:43
по загранам кто то aleksander кто то alexander
нет там гостов

Alexey
01.02.2017
08:19:07
есть, только их не один.
гугление даёт например http://transliteration.ru/gost/

Alex
01.02.2017
08:19:18
у каждого свой ? :)

Dmitry
01.02.2017
08:20:08

Google

Alexey
01.02.2017
08:20:33
во-первых да, во-вторых их не один, в-третьих французский Yekaterinburg расово верный в английском — Ekaterinburg. и это не смотря на −burg, −bourg, −bourgh.
короче, единого для вселенной правила транслитерации пока не завезли.

redbeard
01.02.2017
08:22:08
"Грязьбург" уж проще :)

Jim
01.02.2017
08:22:18
по всем правилам напилить и сравнивать =)

Alexey
01.02.2017
08:22:26

Anton [Mgn, az09@osm]
01.02.2017
08:22:43
в Снегбурге?

Alexey
01.02.2017
08:22:44

Jim
01.02.2017
08:23:19

Alex
01.02.2017
08:23:34
тут да
скорее всего

Fike
01.02.2017
08:25:31

Alexey
01.02.2017
08:26:04
сноубол не имеет отношения к ks / x от слова совсем.

Jim
01.02.2017
08:26:14

Alexey
01.02.2017
08:26:50

Alex
01.02.2017
08:27:35
По метафону оба приводятся к ALKSNTR
=)

Alexey
01.02.2017
08:28:14
А Xeon, Xerox и Xynix? ;)
А Hermitage, например и Helene? :)

Alex
01.02.2017
08:29:19
разные же
или они таки похожи ? :)

Google

Alexey
01.02.2017
08:29:51
Абсолютно. Поэтому франц / англ транслитерированные к одному знаменателю так просто не привести.

Fike
01.02.2017
08:30:26

Alex
01.02.2017
08:30:28
даже с левенштейном для сравнения метафонов ?

Alexey
01.02.2017
08:30:50

Alex
01.02.2017
08:33:15
да это понятно. тут же вопрос необходимости нахождения схожести этих фамилий
а не точное равенство

Alexey
01.02.2017
08:34:01
Тогда по гостовским правилам метафонить.

Alex
01.02.2017
08:34:15
я про это и говорю.

Wom
01.02.2017
09:13:42
уже стебутся - http://checkyourbackups.work/

Vitaliy
01.02.2017
09:53:07
Товарищи, есть кто пользовался сервисами типа elephantsql или им подобными, у нас дино на хероку и при обновлении плана скорость переноса в 1гиг/3мин немного не устраивает

Yury
01.02.2017
10:13:13

Vitaliy
01.02.2017
10:21:08

Yury
01.02.2017
10:21:42
а как вы данные переносите?

Vitaliy
01.02.2017
10:23:21

Yury
01.02.2017
10:26:03

Sergey
01.02.2017
10:52:40