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


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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Да.

таки да


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

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


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

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

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

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

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


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