Я импортировал данные в новую базу данных (около 600 м строк timestamp, integer, double). Затем я создал несколько индексов и попытался изменить некоторые столбцы (из-за проблем с пространством) база данных была очищена.
Теперь pgAdmin III сообщает мне, что « Размер временных файлов » составляет 50G ~ +.
- Что это за временные файлы? это как журнал транзакций SQL Server?
- Как можно от них избавиться, кажется, база данных намного больше, чем должна (общий размер базы данных составляет 91 ГБ)
Использование Posgres 9.4.1 на сервере Windows 2012.
Скриншот вкладки статистики базы данных:
postgresql
pgadmin
Ofiris
источник
источник
Ответы:
Я ничего не нашел в документации pgAdmin, но исходный код показывает запрос за этими записями (добавлено для Postgres 9.2+):
Это сводится к:
А в руководстве Postgres есть детали для
pg_stat_database
:Обратите внимание, что эти значения не влияют на размер вашей базы данных. Но они указывают, что ваши настройки для
work_mem
могут быть слишком низкими, так что многие операции сортировки перетекают на диск (что очень медленно по сравнению с просто оперативной памятью).Связанный:
Чтобы на самом деле сжать размер вашей базы данных:
Чтобы измерить размер:
Кроме того: WAL (Write Ahead Log) будет эквивалентен в Postgres для журнала транзакций в SQL Server. Хорошее объяснение в этом связанном ответе на SO:
источник
В соответствии с:
http://www.postgresql.org/message-id/BLU0-SMTP179B92C5102247CD961A4B3CF2A0@phx.gbl
Временной счетчик (используемые файлы и пространство) показывает общее количество всех временных файлов, использованных с момента создания кластера. Он не отражает текущее пространство, используемое временными файлами.
Например, моя система показывает почти 700 ГБ временных файлов, но фактическое пространство, занимаемое временными файлами в /var/lib/pgsql/9.3/data/base/pgsql_tmp, в настоящее время составляет всего 53 МБ.
источник