проверить эту вики. https://wiki.postgresql.org/wiki/Disk_Usage
SELECT *, pg_size_pretty(total_bytes) AS total , pg_size_pretty(index_bytes) AS INDEX , pg_size_pretty(toast_bytes) AS toast , pg_size_pretty(table_bytes) AS TABLE FROM ( SELECT *, total_bytes-index_bytes-COALESCE(toast_bytes,0) AS table_bytes FROM ( SELECT c.oid,nspname AS table_schema, relname AS TABLE_NAME , c.reltuples AS row_estimate , pg_total_relation_size(c.oid) AS total_bytes , pg_indexes_size(c.oid) AS index_bytes , pg_total_relation_size(reltoastrelid) AS toast_bytes FROM pg_class c LEFT JOIN pg_namespace n ON n.oid = c.relnamespace WHERE relkind = 'r' ) a ) a
Считается, что лучшая практика к автоматическому создает и статистика автоматического обновления. SQL-сервер создаст их, если ему нужны они. Вы будете часто видеть, что настраивающийся мастер генерирует многие из них, и Вы будете также видеть, что люди советуют, обновить статистику как часть плана технического обслуживания, но это не необходимо и могло бы на самом деле сделать вещи хуже, настолько долго поскольку автоматический создают, и автоматическое обновление включены.
Если у Вас есть статистика обновления, и автоматический создают статистику на затем, она должна работы как, прежде чем можно будет также работать sp_updatestats
или UPDATE STATISTICS WITH FULLSCAN
после внесения изменений
Почему Вы отбрасываете объекты? Кажется мне, последовательность должна быть намного более простой, и менее разрушительной: присвойте все эти объекты значение по умолчанию, затем делайте изменение в не nullable.
Статистические данные являются слишком определенными для данных, чтобы быть оснащенными. Это было бы потенциально очень неэффективно для слепого воссоздавания их на наборе данных.