
Mike Chuguniy
04.10.2016
08:26:35

Maxim
04.10.2016
08:28:01
в лимитировании ресурсов, например
не всем нужно базе целую машину отдавать
сетевая изоляция

Google

Maxim
04.10.2016
08:28:59
повторяемость сборки
короче, есть плюсы ;)

Sergey
04.10.2016
08:36:08

Darafei
04.10.2016
08:39:38
горизонтально масштабировать легко.
у нас докеры с базой с замороженными данными поднимаются по мере необходимости и роста нагрузки, благо, на aws это легко

Айтуар
04.10.2016
08:40:24

Darafei
04.10.2016
08:40:59
там даже не шардинг

Maxim
04.10.2016
08:41:46
слейвы так поднимаются?

Айтуар
04.10.2016
08:42:13

Maxim
04.10.2016
08:42:37
ну если мастера, то это же сплитбрейн забесплатно

Darafei
04.10.2016
08:42:52
там вся база меняется раз в релиз, на ней запросы все read-only cpu-bound

Айтуар
04.10.2016
08:43:02
а если БД в 500Г, то гонять на слейв новый как-то не очень

Maxim
04.10.2016
08:43:02
ааа
удобно ;)

Google

Айтуар
04.10.2016
08:43:26

Darafei
04.10.2016
08:44:22
да, и вся боль перетекает в оффлайн-сборку нового релиза замороженной базы :)

Аггей
04.10.2016
08:45:14

Vadim
04.10.2016
09:22:41
автостарт постгреса как сервиса как сделать, если из исходников компилить, есть инструктажка, или лучше из пакета установить?

Mike Chuguniy
04.10.2016
09:24:24
sysv - Deb/RH?

Vadim
04.10.2016
09:25:28
centos 7, systemd

Mike Chuguniy
04.10.2016
09:26:35
Из пакетов. Однозначно.
Что, впрочем, актуально для любого дистрибутива.

Vadim
04.10.2016
09:28:04
ок, спасиб

Yury
04.10.2016
10:05:21
кому был интересен бекап с реплики? pg_arman научился для 9.6 это делать.
После перехода на 9.6 теперь вместо:
select count(tags_array[1:array_length(tags_array, 1)]) from jvwall_posts;
желательно использовать:
select count(tags_array[1:]) from jvwall_posts;
Это даёт 7% прирост в скорости выборки.
PS count тут просто, что бы seqscan сделать полный

Nikolay
04.10.2016
10:40:06
да кстати, прикольное замечание, что опущение array boundary не просто удобство, а и ускорение
В Changelog об этом ни слова, а зря. Зато видно, кто патч делал ;)
Allow omitting one or both boundaries in an array slice specifier, e.g. array_col[3:] (Yury Zhuravlev)
Omitted boundaries are taken as the upper or lower limit of the corresponding array subscript. This allows simpler specification for many common use-cases.

Yury
04.10.2016
10:53:28

Антон
04.10.2016
12:03:44
котаны, какие подводные камни есть, если засунуть base/pgsql_tmp/ на рамдиск?

Айтуар
04.10.2016
12:05:39

Антон
04.10.2016
12:05:56

Айтуар
04.10.2016
12:06:16
почти это сколько?

Антон
04.10.2016
12:07:07
ну 50 мб в пике

Google

Айтуар
04.10.2016
12:07:09

Антон
04.10.2016
12:07:39
да у меня вся база меньше :)
work_mem поднял до небес, и все равно фигачит временные файлы
размером по 5 килобайт блин

Sergey
04.10.2016
12:08:47
надо было брать оракл

Айтуар
04.10.2016
12:09:07

Антон
04.10.2016
12:09:30
выполняется быстро, но это практически все что у меня убивает ссдшку

Айтуар
04.10.2016
12:10:50
мне бы такие проблемы ))

Антон
04.10.2016
12:11:15
у всех свои нюансы :)

Айтуар
04.10.2016
12:11:20
базы в 50 МБ, ssd, tmp в 5 кб


Антон
04.10.2016
12:11:50
2016-10-04 15:11:23 MSK [4688-120] gdeposylka@gdeposylka STATEMENT: SELECT t0.id AS id_1, t0.name AS name_2, t0.short_name AS short_name_3, t0.source_slug AS source_slug_4, t0.lat AS lat_5, t0.lng AS lng_6, t0.street_id AS street_id_7, t0.zip_code_id AS zip_code_id_8 FROM moscow.house t0 INNER JOIN moscow.government_house_link ON t0.id = moscow.government_house_link.house_id WHERE moscow.government_house_link.government_id = $1 ORDER BY t0.name ASC
2016-10-04 15:11:23 MSK [4688-121] gdeposylka@gdeposylka LOG: temporary file: path "base/pgsql_tmp/pgsql_tmp4688.60", size 5634980
2016-10-04 15:11:23 MSK [4688-122] gdeposylka@gdeposylka STATEMENT: SELECT t0.id AS id_1, t0.name AS name_2, t0.short_name AS short_name_3, t0.source_slug AS source_slug_4, t0.lat AS lat_5, t0.lng AS lng_6, t0.street_id AS street_id_7, t0.zip_code_id AS zip_code_id_8 FROM moscow.house t0 INNER JOIN moscow.government_house_link ON t0.id = moscow.government_house_link.house_id WHERE moscow.government_house_link.government_id = $1 ORDER BY t0.name ASC
2016-10-04 15:11:23 MSK [4688-123] gdeposylka@gdeposylka LOG: temporary file: path "base/pgsql_tmp/pgsql_tmp4688.61", size 3912
2016-10-04 15:11:23 MSK [4688-124] gdeposylka@gdeposylka STATEMENT: SELECT t0.id AS id_1, t0.name AS name_2, t0.short_name AS short_name_3, t0.source_slug AS source_slug_4, t0.lat AS lat_5, t0.lng AS lng_6, t0.street_id AS street_id_7, t0.zip_code_id AS zip_code_id_8 FROM moscow.house t0 INNER JOIN moscow.government_house_link ON t0.id = moscow.government_house_link.house_id WHERE moscow.government_house_link.government_id = $1 ORDER BY t0.name ASC
2016-10-04 15:11:24 MSK [4688-125] gdeposylka@gdeposylka LOG: temporary file: path "base/pgsql_tmp/pgsql_tmp4688.62", size 5634980
2016-10-04 15:11:24 MSK [4688-126] gdeposylka@gdeposylka STATEMENT: SELECT t0.id AS id_1, t0.name AS name_2, t0.short_name AS short_name_3, t0.source_slug AS source_slug_4, t0.lat AS lat_5, t0.lng AS lng_6, t0.street_id AS street_id_7, t0.zip_code_id AS zip_code_id_8 FROM moscow.house t0 INNER JOIN moscow.government_house_link ON t0.id = moscow.government_house_link.house_id WHERE moscow.government_house_link.government_id = $1 ORDER BY t0.name ASC
2016-10-04 15:11:24 MSK [4688-127] gdeposylka@gdeposylka LOG: temporary file: path "base/pgsql_tmp/pgsql_tmp4688.63", size 3912
2016-10-04 15:11:24 MSK [4688-128] gdeposylka@gdeposylka STATEMENT: SELECT t0.id AS id_1, t0.name AS name_2, t0.short_name AS short_name_3, t0.source_slug AS source_slug_4, t0.lat AS lat_5, t0.lng AS lng_6, t0.street_id AS street_id_7, t0.zip_code_id AS zip_code_id_8 FROM moscow.house t0 INNER JOIN moscow.government_house_link ON t0.id = moscow.government_house_link.house_id WHERE moscow.government_house_link.government_id = $1 ORDER BY t0.name ASC
2016-10-04 15:11:23 MSK [4688-123] gdeposylka@gdeposylka LOG: temporary file: path "base/pgsql_tmp/pgsql_tmp4688.61", size 3912


Антон
04.10.2016
12:12:05
вот таких огромное количество
при ворк_мем 16 мб
при чем тут размер базы? размер директории временных файлов же говорил

Айтуар
04.10.2016
12:15:01
какого размера таблицы house и government_house_link ?

Антон
04.10.2016
12:15:58
по 100 мб
метчится запросом около 500-1000 записей

Айтуар
04.10.2016
12:17:07
насколько я знаю при join желательно слева иметь меньшего размера таблицу.

Alexey
04.10.2016
12:18:55
неужели PG оптимизатор смотрит на такое? Что-то сильно сомнительно (очень не хочется в такое верить)

Google

Антон
04.10.2016
12:19:32
я думаю дело все-таки в сортировке

Айтуар
04.10.2016
12:21:20
я думаю дело все-таки в сортировке
может так написать
FROM moscow.house t0, moscow.government_house_link t1
AND t0.id = t1.house_id
WHERE t1.government_id = $1
ORDER BY t0.name ASC

Darafei
04.10.2016
12:22:40
выставили work_mem в почти всю память, аналитика пошла считаться хорошо
(параллельных запросов почти не случается)

Stanislav
04.10.2016
12:37:25

Admin
ERROR: S client not available

Антон
04.10.2016
12:38:09
скорее что будет с постгресом когда место кончится в разделе

Stanislav
04.10.2016
12:38:31
OOM

Darafei
04.10.2016
12:39:16

Stanislav
04.10.2016
12:39:27
Если на обычном диске - то очевидно, не сможет записать и откажется работать
А кто-нибудь знает, эта тема так и заглохла в 2015 в рассылке? https://www.postgresql.org/message-id/5560C182.30602@wizmail.org

Dmitry
04.10.2016
14:26:38
точто нет

Stanislav
04.10.2016
14:28:06
а где посмотреть ее развитие?

Dmitry
04.10.2016
14:34:02
в треде, который завершилсо.
можно такое дописать, но только в треде уже сказали: нужны описание, спеки, библиотеки и прочее.
но сама эта фича под вопросом: в реальности ты живешь с синхронной репликой и с synconous_commit = remote_write можно жить и через wal_buffers

Petr
04.10.2016
14:58:14
http://i.imgur.com/dBkySQ3.png
что эт вообще?
винда 10

blkmrkt
04.10.2016
15:19:53

Google

Petr
04.10.2016
15:24:47
Но он не запускается

Айтуар
04.10.2016
15:40:01
только консоль, только psql

Slava
04.10.2016
15:41:09
запросы на 300 строк тоже в psql пишите?

Mike Chuguniy
04.10.2016
15:47:31

Slava
04.10.2016
15:48:30
вимите значит, понятно)

Mike Chuguniy
04.10.2016
15:48:58
Не вимить, а гвимить.

Айтуар
04.10.2016
15:48:58
Ну да. ))

Mike Chuguniy
04.10.2016
15:49:18
гвим, он таки поприятней вима. :)

Sergey
04.10.2016
15:49:33

Slava
04.10.2016
15:49:39
чем обычный вим плох?)

Pavel
04.10.2016
15:50:15
тем что требует эмулятор терминала для запуска, ну.

Айтуар
04.10.2016
15:50:22
Ну тогда сублиме, он лучше. И плагинов к нему куча.

Jonh
04.10.2016
15:52:45
И с плагинами чехарда

Mike Chuguniy
04.10.2016
15:54:17
чем?
Отдельным окном. У меня в консольном вим-е цветовая дифференциация ... эээ... кода отключена. От слова совсем, потому что на разных дистрах она (подсветка синтаксиса) разнится от неприемлемой до полного непотребства. :) Цвета в консоли мне настраивать лень. А в гвиме подсветка нормальная. Это вот, если не лезь в diff .{,g}vimrc

Айтуар
04.10.2016
15:55:59
А общем как всегда, на вкус все фломастеры разные))

Alexandr
04.10.2016
16:06:05
ещё 1 и будет 500