Найти тему
Будни одинэсника | 1С

Как сжать базу данных PostgresSQL?

Оглавление

Бывает так, что базы данных на Postgres сильно разрастаются в размере, в этом случае их можно сжать.

В статье будет несколько базовых команд по работе PostgresSQL и описание команды сжатия базы данных.

Рассматривать примеры работы будем на PostgresSQL 11.7 под операционной системой Windows.

⛔️ ВАЖНО. Выполнение любых операций с базой данных нужно производить при наличии актуальной резервной копии базы данных!

Инструкция по резервному копированию баз на PostgresSQL

1️⃣ Подключение к консоли psql

В меню Пуск в папке с программой PostgresSQL выбираем пункт — psql к 'postgres:

Открытие консоли psql
Открытие консоли psql

Для запуска консоли необходимо ввести пароль от пользователя системного пользователя postgres. После правильного ввода пароля можно выполнять команды для работы с базами данными:

2️⃣ Получить список баз данных Postgres

Команда: \l или \l+

Вторая команда показывает список баз и их размер. Может выполняться с задержкой, требуется время для подсчета размеров баз данных:

Список баз с их размерами
Список баз с их размерами

3️⃣ Подключение к базе данных Postgres

Команда: \с DatabaseName

Подключение к базе данных
Подключение к базе данных

4️⃣ Сжатие базы данных Postgres

После подключения к нужной базе выполняем команду:

vacuum full verbose; reindex database database_name;

Вместо database_name пишем имя нашей базы.

Выполнение команды может занять продолжительное время все зависит от размера база и производительности сервера.

Сжатие базы данных PostgresSQL
Сжатие базы данных PostgresSQL

После завершения операции, можно проверить размер текущей базы и сравнить его с изначальным.

Для получения информации о размере текущей базы можно выполнить команду:

select pg_size_pretty(pg_database_size(current_database()));

Размер текущей базы
Размер текущей базы

Видно, что исходный размер базы был 30Gb, после сжатия 22 Gb.

#1c #базаданных #postgres #резервноекопирование #серверы #windows