@pgsql

Страница 147 из 1062
Darafei
06.11.2016
07:44:00
в общем случае админа нет

Марк ☢
06.11.2016
07:44:25
Тогда если админ есть, то оптимально настроить все равно нельзя.

Вот в ceph раньше тоже писали данные в журнал. А сейчас перестали !!!

Darafei
06.11.2016
07:45:31
есть 1С и есть бухгалтер, который умеет гуглить и у которого есть домашний винчестер, а денег на новый для базы нет, а место кончилось, потому что темповые тейблспейсы всё пожрали, но он про них даже не знает, как узнать

Google
Darafei
06.11.2016
07:46:02
постгрес - система общего назначения и должна такое переживать :)

Марк ☢
06.11.2016
07:46:20
Для этого пусть дефолтные супернадежные и супермедленные настройки будут. Как в qemu cache=writethrough

Darafei
06.11.2016
07:51:52
они и есть

и есть fsync=off и synchronuous_commit=off, как вторая сторона спектра

промежуточных значений маловато, это да - их надо дописывать

Марк ☢
06.11.2016
07:56:09
Ну это уж совсем.

Не представляю систем, где можно это отключить и чтобы надежность сохранялась

Darafei
06.11.2016
08:01:32
fsync=off у нас на кластере у QA, чтобы тесты быстрее гнались - упадёт так упадёт, база живёт только пока тесты запускаются в этот раз в openstreetmap.org nominatim деплоится под fsync=off, и по успешному деплою включается обратно - всё равно сначала передеплоивать, если что-то пошло не так в нашей локальной базе со статистикой synchronuous_commit=off, база при падении консистентна, а пару секунд данных потерять разок в неделю - ну и чёрт с ними

вопрос приоритетов и определения понятия "надёжность"

Марк ☢
06.11.2016
08:05:57
Ну. Во всех этих случаях сохранность базы не гарантируется. Оно просто вам не нужно :) у нас тоже тесты в cache=unsafe (qemu) гоняются.

А вообще, с кем можно поговорить еще по моему вопросу? Возможно, с кем-то из PostgresPro ?

Darafei
06.11.2016
08:12:49
ну вот смотри, обесточили вашу железяку, с ней - приложение, которое пишет статистику, и базу, в которую пишется статистика есть в принципе разница - потеряете вы последние 10 инсертов, которые умрут в незакоммиченной транзакции (и не повторятся приложением, потому что оно тоже умрёт) или потеряете последнюю полусекунду данных, которая умрёт в незакоммиченном synchronous_commit, о чём никогда не узнает приложение, потому что оно тоже умрёт? в обоих случаях после поднятия база консистентна, руками ничего чинить не надо. подозреваю, разницы нет, а synchronuous_commit=off ресурс винчестера сбережёт и производительность поднимет.

А вообще, с кем можно поговорить еще по моему вопросу? Возможно, с кем-то из PostgresPro ?
у pgpro можно купить коммерческую поддержку. наши сегфолты они чинят весьма оперативно :)

Google
Darafei
06.11.2016
08:34:35
"это включено" = включен synchronuous_commit или включен synchronuous_commit=off? :)

Yury
06.11.2016
10:23:00
А по факту, на знании того, как работают гарантии от ОС, можно сделает нехилые оптимизации, уменьшающие объем записи в два раза.
нету этих гарантий. :( даже в рамках буфер кеша нету атомарности, я для этого даже мелкую прогу писал. При интенсивной записи, когда контекст не переключается всегда есть шанс увидеть/записать промежуточное состояние.

Марк ☢
06.11.2016
10:30:21
Можно подробнее?

Yury
06.11.2016
10:52:00
Можно подробнее?
пишем 2 проги, одна постоянно пытается записать 8к на диск, другая читает 8к с диска. Это всё одним write и одним read. :) При определённых обстоятельствах вторая прога читает наполовину заполненый файл (первая пишет то одни нули то одни еденицы)

Марк ☢
06.11.2016
10:52:38
Дак ежу понятно

Поэтому постгрессные процессы же сообща работают

Yury
06.11.2016
10:53:15
атомарность едрить её :( т.е. даже при том что физически диск тут даже не трогается

Поэтому постгрессные процессы же сообща работают
ага все дружно устроили курилку в локах

Марк ☢
06.11.2016
10:53:57
А што, нет ?

Yury
06.11.2016
10:54:17
Марк ☢
06.11.2016
10:55:49
Ну вот и я о чём. На мой вопрос я получил такой ответ: при модификации страницы, постгрес полностью меняет все ее байты в общем случае. Поэтому full page writes нужен.

Yury
06.11.2016
10:56:25
всё же чаще всего нет

т.е. даже полностью нет

Марк ☢
06.11.2016
10:56:47
??

Yury
06.11.2016
10:56:49
одна модификация которая лижит в критикал секции меняет крайне мало

Марк ☢
06.11.2016
10:57:08
Что ?

Yury
06.11.2016
10:57:18
другой разговор про то сколько будет изменений прежде чем буфер будет сброшен на диск

Марк ☢
06.11.2016
10:58:07
Тут говорили что даже селект может дефрагментировать содержимоеодной страницы

Google
Марк ☢
06.11.2016
10:58:17
Типа вакуумировать ее

Yury
06.11.2016
10:58:35
да, а что он длает с hint битами....

просто внутри postgres это всё выглядит гораздо более гранулированным

Марк ☢
06.11.2016
10:59:02
Блин сколько людей - столько и мнений. Есть недиванный эксперт ?

Yury
06.11.2016
10:59:10
я как бы

Марк ☢
06.11.2016
10:59:38
Окей, Юрий, я задам вопрос но позже. Сейчас в меге.

Yury
06.11.2016
10:59:59
ну т.е. я могу говорить за буфер менеджер, его поведение я хорошо знаю

хорошо!

Марк ☢
06.11.2016
11:01:24
Ну или промотай повыше. Там разговор про то зачем тупли еще и в wal пишутся. Я не понимаю, считаю, что можно сделать и без этого копирования надежно. Как в bluestore от ceph и как в ext4.

Yury
06.11.2016
11:01:52
ок

Yuriy
06.11.2016
11:02:25
Ребята, про машину времени для пг кто сталкивался ?

Марк ☢
06.11.2016
11:02:35
))))

Yuriy
06.11.2016
11:02:58
кто что моет посоветовать менее жрущее ?

все чаще возникает задача откатиться на конкретную минуту в состояниях базы

Марк ☢
06.11.2016
11:04:01
Снапшоты на фс прокатят ?

Btrfs тоесть

Yuriy
06.11.2016
11:04:47
нет

только база

кластерная

хотелось бы услышать тех, кто сталкивался с данным видом журналирования и восстановления

Google
Pavel
06.11.2016
11:13:08
Я где-то встречал крутой доклад как реализовать машину времени средствами view и схем и еще чего-то такого

キリル
06.11.2016
11:39:59
Можно почитать как работает oracle workspace manager и сделать такое же на посгре. Там вьюхи с копией таблицы и таймстампом используются. Вот и машина времени.

Ildar
06.11.2016
12:20:38
не так давно был доклад Генриетты Домбровской на эту тему: https://postgrespro.ru/blog/company/17879

Mike Chuguniy
06.11.2016
12:34:16
Я нипонел, тут продолжается это животрепещущее обсуждение, для зачем постгресу ACID? o_O

Evgeniy
06.11.2016
12:35:16
да

Марк ☢
06.11.2016
12:42:54
Нет. Я считаю, что можно этого достичь иным способом

Evgeniy
06.11.2016
12:45:58
почитай фундаментальный пдф где впервые придумали вал каким мы его знаем http://cs.stanford.edu/people/chrismre/cs345/rl/aries.pdf

один из важнейших постулатов — рекавери должен заебись работать на всех данных, быть простым, надеждным и быстрым

Admin
ERROR: S client not available

Марк ☢
06.11.2016
13:35:43
@stalkerg ну что, приступим.

Хотя нет, сначала прочитаю пдф

Pavel
06.11.2016
13:37:44
Вам бы уже по скайпу созвониться, так гораздо быстрее обсуждение пойдет

Evgeniy
06.11.2016
13:38:00
ну уж нет!

Alexey
06.11.2016
13:38:15
Сразу в кафе?

Pavel
06.11.2016
13:39:06
Собирайте митап

Или вебинар на худой конец

Alexey
06.11.2016
13:39:23
В коворкинге или антикафе?

Дресс код ивента — подвёрнутые штаны? Лекция о веганском борще с митболами и фалафели будет? :)

Evgeniy
06.11.2016
13:44:51
в постгресе дроп датабейз хуево работает кстати

Google
Evgeniy
06.11.2016
13:44:59
долго буферпул сканит

как и дроп тейбл

а вот транкейт заебись!

Alex
06.11.2016
13:45:27
Он не транзакционен же

Evgeniy
06.11.2016
13:45:44
транкейт в постгресе транзакционен

там делают костыль с подменой файла насколько я помню

но ребята из постгреспро лучше знают

Alex
06.11.2016
13:46:33
В документации было иное написано

Evgeniy
06.11.2016
13:46:38
как минимум те которые фаст транкейт предлагают

TRUNCATE is not MVCC-safe. After truncation, the table will appear empty to concurrent transactions, if they are using a snapshot taken before the truncation occurred. See Section 13.5 for more details. TRUNCATE is transaction-safe with respect to the data in the tables: the truncation will be safely rolled back if the surrounding transaction does not commit.

Айтуар
06.11.2016
13:47:41
а вот транкейт заебись!
Это да. Лучше чем фулл вакуум.

У меня была пустая таблица весом 170Гб.

Alex
06.11.2016
13:48:40
Хм.. че то открытие прям

Аггей
06.11.2016
13:56:57
И прям можно trancate table, а потом rollback?

Evgeniy
06.11.2016
13:57:41
да

написано же

Аггей
06.11.2016
13:58:06
Ух ты. Догнали и перегнали oracle

Sergey
06.11.2016
15:01:16
Кто-нибудь в курсе, pg_upgrade с 9.3 до 9.6 работает без проблем и сюрпризов?

Айтуар
06.11.2016
15:07:22
Кто-нибудь в курсе, pg_upgrade с 9.3 до 9.6 работает без проблем и сюрпризов?
А чё ему не работать? На 9.5 нормально работает, не думаю что там что-то изменилось.

Evgeniy
06.11.2016
15:20:34
главное на 9.6.1

ато может быть сюрприз

Страница 147 из 1062