172 похожих чатов

День добрый, подскажите, насколько время обновления с 9.4 до

13 зависит от объема данных в базе? Мне казалось что там используются hard links и время обновления не должно сильно зависеть от объема данных

10 ответов

9 просмотров

через pg_upgrade если, то да, hard links. время зависит от сложности схемы (pg_dump+pg_restore schema-only) + время сбора статистики (но это уже на запущенной базе). обычно в 10-20 минут можно уложиться

У pg_upgrade есть --link, да. Только что толку, если все равно прочитать все надо.

b s
У pg_upgrade есть --link, да. Только что толку, ес...

хм, что прочитать? только системный каталог, всё остальное линкуется. у меня еженедльные тесты на 10TB базе с 2-мя табличными областями — 31 минута в среднем на апгрейд со сбором полной статы.

Виктор Егоров
хм, что прочитать? только системный каталог, всё о...

Интересно. Тогда я вообще плохо понимаю, зачем pg_upgrade нужен.

b s
Интересно. Тогда я вообще плохо понимаю, зачем pg_...

в смысле? это он и делает всё. без него имеем либо pg_dump+pg_restore с непонятным, но где-то в районе суток даунтаймом. либо через логическую репликацию, с плясками по переносу схему и синхронизации всего, кроме таблиц.

Виктор Егоров
в смысле? это он и делает всё. без него имеем либо...

А что он такого делает, чего нельзя воткнуть в код постгреса, чтобы он, обнаружив старую версию под собой, молча жевал свой системный каталог? Recovery же мы тоже не вручную запускаем, и никто не умирает от этого.

b s
А что он такого делает, чего нельзя воткнуть в код...

pg_upgrade — системная утилита, которая: - делает проверку совместимости инсталляций - переносит системный каталог - линкует файлы - правит контольные файлы. в код постгреса это не втыкают чтобы не сложнять его, т.к. пришлось бы слишком много ветвлений для разных версий иметь. т.к. перезапуск всё равно нужен, делаем всю работу через утилиту

Виктор Егоров
pg_upgrade — системная утилита, которая: - делает ...

Ну хорошо. Не в код. Но пусть он этот pg_upgrade сам вызывает и сам себя перезапускает. Какого черта я, средняя скриптомакака, которая ничего сложнее инстанса за $10 на AWS в жизни не видела, должна пользоваться отдельной утилитой, у которой 10 опций командной строки, позволяющих по-разному отстрелить себе ноги?

b s
А что он такого делает, чего нельзя воткнуть в код...

Ради того, что происходит раз в год, делать нетривиальный анализ каждый раз при... старте/первом обращении к таблице? А если что-то пойдёт не так? Апгрейд - всё-таки планируемая операция, а тут нежданчик може прилететь после каждого рестарта СУБД. Например, флипнулся бит где-нибудь в заголовке таблицы - просто она не будет читаться. А если встроить апгрейд, то можно вообще попортить все данные из-за ложного детекта.

Radist
Ради того, что происходит раз в год, делать нетрив...

xlog мы переименуем в wal, чтобы неподготовленные пользовали перестали удалять «какие-то логи», а у остальных все скрипты сломались.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
22
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта