Размеры баз на PostgreSQL и SQL Server

1. towix 15.11.22 14:25 Сейчас в теме
Всем привет!
Не так давно, в качестве теста перевели базу на с MS SQL Server на PostgreSQL. Размер базы увеличился в 3 раза!
80 гб на MS SQL Windows
260 гб на PostgreSQL Linux

Разницу в размерах больше всего можно наблюдать на индексах. На postgresql индексы занимают больше места в 2-3 раза.

Вопрос: почему такая большая разница? Возможно ли уменьшить размер базы?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
7. a.doroshkevich 1421 19.12.22 11:45 Сейчас в теме
(1)
Скорее всего на MS SQL руками удаляли индексы из базы
Чтобы провести "чистый эксперимент" надо восстановить один и тот же dt и в PostgreSQL и в MS SQL


Vacuum fuul после заливки dt не нужен, там нечего чистить.
2. redfred 15.11.22 15:27 Сейчас в теме
Может у вас там автовакуум нормально не настроен и старые версии строк лежат мёртвым грузом в pg, ктож знает
4. towix 16.11.22 05:37 Сейчас в теме
(2) Спасибо, но как только развернул базу, сразу запустил VACUUM FULL и настроил автовакуум
3. winapi 60 15.11.22 17:44 Сейчас в теме
Сделайте REINDEX средствами СУБД, возможно там много лишнего - вы же наверное через dt просто восстанавливали?
5. towix 16.11.22 05:43 Сейчас в теме
(3) На всякий случай повторно запустил REINDEX, размер не уменьшился.
Мертвых строк по минимуму - проверял скриптами и pgstattupple
6. winapi 60 16.11.22 12:01 Сейчас в теме
(5) Ну значит индексы в постгрес как-то по-особенному строятся. А там эти индексы случайно не на строковые поля или ссылочные также?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот