Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / почему после pg_restore размер таблиц отличается? / 20 сообщений из 20, страница 1 из 1
25.10.2020, 14:38
    #40011678
почему после pg_restore размер таблиц отличается?
я сделал бэкап на версии 11.8, а потом восстановил на версии 12.4 на другом сервере
но некоторые таблицы получились меньше по размеру (смотрю через \dtS+)
есть таблица, которая в старой показывает 206Mb, а в новой - 107Mb
при этом и count(*), и содержимое (проверял записи в начале и в конце) совершенно идентичны...
в остальных таблицах разрыв меньше, всего несколько Mb, где-то его вообще нет (что странно)
в общем непонятно... что это?
...
Рейтинг: 0 / 0
25.10.2020, 14:49
    #40011679
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему после pg_restore размер таблиц отличается?
Алексей Роза
я сделал бэкап на версии 11.8, а потом восстановил на версии 12.4 на другом сервере
но некоторые таблицы получились меньше по размеру (смотрю через \dtS+)
есть таблица, которая в старой показывает 206Mb, а в новой - 107Mb
при этом и count(*), и содержимое (проверял записи в начале и в конце) совершенно идентичны...
в остальных таблицах разрыв меньше, всего несколько Mb, где-то его вообще нет (что странно)
в общем непонятно... что это?


А почему они должны совпадать даже в пределах одной версии?
Таблицы легко и в 10 раз могут быть распухшие а 50% bloat это вообще штатное состояние.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
25.10.2020, 15:46
    #40011692
почему после pg_restore размер таблиц отличается?
Maxim Boguk
Таблицы легко и в 10 раз могут быть распухшие

за счёт чего?
одна и та же таблица имеет разный размер и это типа норма? А как она хоть объясняется то?
...
Рейтинг: 0 / 0
25.10.2020, 15:55
    #40011694
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему после pg_restore размер таблиц отличается?
Алексей Роза
Maxim Boguk
Таблицы легко и в 10 раз могут быть распухшие

за счёт чего?
одна и та же таблица имеет разный размер и это типа норма? А как она хоть объясняется то?


Я бы порекомендовал все таки почитать теорию как Pg внутри устроен чтобы не задавать совсем уж простых вопросов.
Потому что тут придется целую книжку писать в ответ на такое.

Если кратко - вот вы удалили строку из таблицы... как по вашему размер таблицы изменится или нет?

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
25.10.2020, 18:00
    #40011709
почему после pg_restore размер таблиц отличается?
Maxim Boguk
Если кратко - вот вы удалили строку из таблицы... как по вашему размер таблицы изменится или нет?

ну таких книжек то конечно можно понаписать целый лес, ага
но мне пожалуйста про мой вопрос книжку дайте, а не про свои фантазии.
я ничего не удалял. И всё что надо уже прочёл. Отвечайте по теме или не засоряйте её.
...
Рейтинг: 0 / 0
25.10.2020, 18:37
    #40011714
mefman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему после pg_restore размер таблиц отличается?
Алексей Роза
Maxim Boguk
Если кратко - вот вы удалили строку из таблицы... как по вашему размер таблицы изменится или нет?

ну таких книжек то конечно можно понаписать целый лес, ага
но мне пожалуйста про мой вопрос книжку дайте, а не про свои фантазии.
я ничего не удалял. И всё что надо уже прочёл. Отвечайте по теме или не засоряйте её.

Иди ка ты в жепу документацию читай.
Прости модератор, не смог сдержаться.
...
Рейтинг: 0 / 0
25.10.2020, 19:02
    #40011716
почему после pg_restore размер таблиц отличается?
ещё один "помощник"
сколько вас тут таких дармоедов?
можно мимо моей темы ходить в свой туалет и там срать, а сюда только рабочие советы давать?
спасибо.
...
Рейтинг: 0 / 0
26.10.2020, 10:25
    #40011788
Павел Лузанов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему после pg_restore размер таблиц отличается?
Алексей Роза
...мне пожалуйста про мой вопрос книжку дайте...

https://postgrespro.ru/docs/postgresql/13/routine-vacuuming
...
Рейтинг: 0 / 0
26.10.2020, 14:13
    #40011880
почему после pg_restore размер таблиц отличается?
vacuum...
напомню, что в старой БД таблица весит 206 Mb, а в новой - 107 Mb
вопрос: почему в старой за столько времени autovacuum не отработал?
и что после запуска VACUUM FULL таблица станет 107 Mb ?
...
Рейтинг: 0 / 0
26.10.2020, 14:40
    #40011893
Guzya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему после pg_restore размер таблиц отличается?
Алексей Розавопрос: почему в старой за столько времени autovacuum не отработал?

autovacuum не ужимает файлы с данными.

Алексей Розаи что после запуска VACUUM FULL таблица станет 107 Mb ?

Да.
...
Рейтинг: 0 / 0
26.10.2020, 14:40
    #40011894
Павел Лузанов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему после pg_restore размер таблиц отличается?
Алексей Роза,

autovacuum запускает обычный vacuum, который только помечает место свободным, но не возвращает обратно. По ссылке в разделе 24.1.2 второй абзац.

Если есть возможность запустить vacuum full в старой бд - запустите и проверьте, зачем гадать.
...
Рейтинг: 0 / 0
26.10.2020, 17:12
    #40011951
почему после pg_restore размер таблиц отличается?
да прям щас не могу, надо ночи ждать
Павел Лузанов
autovacuum запускает обычный vacuum, который только помечает место свободным, но не возвращает обратно.

почему-то я был уверен, что в итоге место таки очищается. А пометки он делает, чтобы демон разом всё удалял, а не по одной строке. Но если в итоге там до VACUUM FULL не доходит, то это что получается, что без ручного запуска VACUUM FULL БД так и будет говном обрастать?
...
Рейтинг: 0 / 0
26.10.2020, 18:29
    #40011982
vyegorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему после pg_restore размер таблиц отличается?
Алексей Роза,

Если вы считаете, что UPDATE-ы из ваших приложений — говно, то да, им и будет обрастать.
...
Рейтинг: 0 / 0
26.10.2020, 19:51
    #40012007
почему после pg_restore размер таблиц отличается?
vyegorov, причём тут UPDATE... если таблица была 206, а стала 107, то 99 мб там это мусор
почему он там всё время живёт и убирается только либо вручную, либо при бэкапе...
...
Рейтинг: 0 / 0
26.10.2020, 20:28
    #40012015
почему после pg_restore размер таблиц отличается?
Guzya
Алексей Розаи что после запуска VACUUM FULL таблица станет 107 Mb ?

Да.
таки да
...
Рейтинг: 0 / 0
26.10.2020, 22:18
    #40012033
Guzya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему после pg_restore размер таблиц отличается?
Алексей Роза
Guzya
пропущено...

Да.

таки да


еще так можно
pg_repack и deferred constraints
...
Рейтинг: 0 / 0
26.10.2020, 23:04
    #40012044
vyegorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему после pg_restore размер таблиц отличается?
Алексей Роза,

потому что почитайте уже наконец документацию, чтобы понять откуда берётся этот “мусор”!
И что есть MVCC, как оно обеспечивается на физическом уровне. Что такое UNDO и REDO, как они называются в Postrges-е.
...
Рейтинг: 0 / 0
27.10.2020, 00:06
    #40012063
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему после pg_restore размер таблиц отличается?
Алексей Роза
vyegorov, причём тут UPDATE... если таблица была 206, а стала 107, то 99 мб там это мусор
почему он там всё время живёт и убирается только либо вручную, либо при бэкапе...


Это не мусор а база так устроена... 40% bloat - штатная ситуация, 100% - нормальная (особенно если за базой никто особо не смотрит и там то autovacuum не справляется, то транзакции сутками висят открытые).
Вам жалко что ли? Диски дешевые.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
27.10.2020, 16:01
    #40012263
почему после pg_restore размер таблиц отличается?
Maxim Boguk
Вам жалко что ли? Диски дешевые.

какая сомнительная аргументация для серьёзной БД...
Maxim Boguk
особенно если за базой никто особо не смотрит

слово auto vacuum как бэ намекает.
А в итоге "вам чё жалко чтоли, что autovacuum вовсе не auto? Купи дисков!"
"Вам чё жалко чтоли SSD-рейд купить, чтобы нормально летало? Купи дисков уже!"
"Чё разнылся то? Тебя не жалко. Иди диски покупай, нытик!"
...
Рейтинг: 0 / 0
27.10.2020, 16:03
    #40012265
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
почему после pg_restore размер таблиц отличается?
Алексей Роза,

Ну ты блин достал.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / почему после pg_restore размер таблиц отличается? / 20 сообщений из 20, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]