5.9. Базы данных #
В этом разделе описано, как управлять базами данных, и приведены следующие инструкции:
Создание базы данных
В навигационной панели перейдите в Базы данных.
В правом верхнем углу страницы нажмите Создать базу данных.
Укажите параметры новой базы данных (помеченные звёздочкой параметры являются обязательными):
Экземпляр: экземпляр, в котором будет создана база данных.
Название БД.
Владелец БД.
Кодировка (ENCODING):: кодировка символов в базе данных.
Категория сортировки (LC_COLLATE): устанавливает значение
LC_COLLATEв окружении операционной системы сервера баз данных.Категория типов символов (LC_CTYPE): устанавливает значение
LC_CTYPEв окружении операционной системы сервера баз данных.Табличное пространство: табличное пространство, в котором будет создана база данных.
Разрешить соединения: указывает, будет ли база данных доступна для подключений.
Ограничение количества соединений: максимальное количество одновременных сеансов с базой данных.
Является ли шаблоном: указывает, будет ли созданная база данных шаблоном.
Шаблон: шаблон базы данных.
Нажмите Сохранить.
Просмотр баз данных
В навигационной панели перейдите в Базы данных.
(Необязательно) Чтобы отобразить системные базы данных, активируйте переключатель Показывать системные базы данных.
Таблица баз данных содержит следующие столбцы:
Имя БД.
Общий размер.
Горизонтальный индикатор показывает размер таблиц, индексов и их раздувания.
Wraparound: процент свободных идентификаторов транзакций в базе данных.
Экземпляр: экземпляр, в котором создана база данных.
Сбор данных: объём информации о службе экземпляра, собранной агентами.
Таблицы:
количество таблиц
размер таблиц
процент раздувания таблиц
Индексы:
количество индексов
размер индексов
процент раздувания индексов
Действия.
За подробной информацией о доступных действиях обратитесь к другим инструкциям в этом разделе.
Размер базы данных рассчитывается как сумма размеров всех реляционных объектов базы данных. Такой подход позволяет исключить избыточный вызов функции pg_database_size, которая использует рекурсивный обход директорий и файлов и может негативно влиять на производительность основной рабочей нагрузки экземпляра.
Важно
Если база данных создаётся за пределами PPEM, информация о ней в веб-приложении может появляться с задержкой. Длительность задержки зависит от настройки агента и по умолчанию равна одной минуте.
Запуск терминала psql
Терминал psql предоставляет низкоуровневый доступ к экземпляру СУБД и предназначен для тех случаев, когда возможностей PPEM недостаточно. Он предоставляет большую часть функциональности стандартного psql, но всё же имеет ряд ограничений. Например, запрещён вызов метакоманды \! для запуска shell-команд.
При запуске терминала используются параметры подключения к экземпляру СУБД.
Чтобы запустить терминал psql:
В навигационной панели перейдите в Базы данных.
(Необязательно) Чтобы отобразить системные базы данных, активируйте переключатель Показывать системные базы данных.
Нажмите PSQL рядом с базой данных.
Сбор статистики планировщика для базы данных
При сборе статистики планировщика выполняется SQL-команда ANALYZE.
Чтобы запустить сбор статистики планировщика для базы данных:
В навигационной панели перейдите в Базы данных.
(Необязательно) Чтобы отобразить системные базы данных, активируйте переключатель Показывать системные базы данных.
Нажмите
→ Собрать статистику • Analyze рядом с базой данных.
Укажите параметры сбора статистики (помеченные звёздочкой параметры являются обязательными):
Задать выполнение cron-строкой: позволяет задать интервал времени для сбора статистики в формате crontab.
Если этот переключатель активирован, заполните поле Выполнение.
Планирование задачи: тип задачи по сбору статистики.
Возможные значения:
Выполнить сейчас: статистика будет собрана автоматически сразу после выполнения этой инструкции.
Отложенное по времени: статистика будет собрана в указанную дату и время.
По расписанию: статистика будет собрана с указанным интервалом времени.
Для этого значения укажите следующие параметры:
Интервал: единицы измерения интервала времени.
Возможные значения:
Минуты
Часы
Дни
Повторять каждые: интервал времени для сбора статистики по минутам или часам.
Этот параметр доступен, только если в разделе Интервал вы выбираете Минуты или Часы.
Дни выполнения: дни, когда будет собираться статистика.
Итоговая cron‑строка: строка в формате crontab, задающая интервал времени для сбора статистики.
Значение подставляется автоматически.
Этот параметр доступен, только если вы деактивируете переключатель Задать выполнение cron-строкой.
Название: уникальное имя задачи по сбору статистики.
Этот параметр доступен, только если активирован переключатель Задать выполнение cron-строкой или в разделе Планирование задачи выбрано По расписанию.
Время: дата и/или время, когда будет собираться статистика.
Этот параметр доступен, только если в разделе Планирование задачи вы выбираете Отложенное по времени или в разделе Интервал — Дни.
Начать и Повторять до: дата и время начала и окончания сборки статистики.
Эти параметры доступны, только если вы активируете переключатель Задать выполнение cron-строкой или в разделе Планирование задачи выбираете По расписанию.
Нажмите Применить.
Подтвердите операцию.
Сбор статистики начнётся в асинхронном режиме.
Примечание
В зависимости от количества таблиц и столбцов эта операция может потребовать значительных ресурсов, поэтому рекомендуется её отслеживать.
Переиндексация базы данных
При переиндексации выполняется SQL-команда REINDEX.
Чтобы переиндексировать базу данных:
В навигационной панели перейдите в Базы данных.
(Необязательно) Чтобы отобразить системные базы данных, активируйте переключатель Показывать системные базы данных.
Нажмите
→ Перестроить индексы • Reindex рядом с базой данных.
Укажите параметры переиндекации (помеченные звёздочкой параметры являются обязательными):
Задать выполнение cron-строкой: позволяет задать интервал времени для переиндексации в формате crontab.
Если этот переключатель активирован, заполните поле Выполнение.
Планирование задачи: тип задачи по переиндексации.
Возможные значения:
Выполнить сейчас: переиндексация будет выполнена автоматически сразу после выполнения этой инструкции.
Отложенное по времени: переиндексация будет выполнена в указанную дату и время.
По расписанию: переиндексация будет выполнена с указанным интервалом времени.
Для этого значения укажите следующие параметры:
Интервал: единицы измерения интервала времени.
Возможные значения:
Минуты
Часы
Дни
Повторять каждые: интервал времени для переиндексации по минутам и часам.
Этот параметр доступен, только если в разделе Интервал вы выбираете Минуты или Часы.
Дни выполнения: дни, когда будет выполняться переиндексация.
Итоговая cron‑строка: строка в формате crontab, задающая интервал времени для переиндексации.
Значение подставляется автоматически.
Этот параметр доступен, только если вы деактивируете переключатель Задать выполнение cron-строкой.
Название: уникальное имя задачи по переиндексации.
Этот параметр доступен, только если активирован переключатель Задать выполнение cron-строкой или в разделе Планирование задачи выбрано По расписанию.
Время: дата и/или время, когда будет выполнена переиндексация.
Этот параметр доступен, только если в разделе Планирование задачи вы выбираете Отложенное по времени или в разделе Интервал — Дни.
Начать и Повторять до: дата и время начала и окончания переиндексации.
Эти параметры доступны, только если вы активируете переключатель Задать выполнение cron-строкой или в разделе Планирование задачи выбираете По расписанию.
Подтвердите операцию.
Примечание
В зависимости от количества и размера индексов эта операция может потребовать значительных ресурсов, поэтому рекомендуется её отслеживать.
Очистка базы данных
При очистке выполняется SQL-команда VACUUM.
Чтобы очистить базу данных:
В навигационной панели перейдите в Базы данных.
(Необязательно) Чтобы отобразить системные базы данных, активируйте переключатель Показывать системные базы данных.
Нажмите
→ Очистить • Vacuum рядом с базой данных.
Укажите параметры очистки (помеченные звёздочкой параметры являются обязательными):
Режимы: режимы очистки.
Возможные значения:
Analyze: обновляет статистику, которую планировщик использует для выбора наиболее эффективного способа выполнения запроса.
Full: выполняет полную очистку через переиндексацию всех файлов таблицы.
Примечание
При выполнении очистки в этом режиме все сеансы, работающие с переиндексируемыми таблицами, будут заблокированы.
Freeze: выполняет агрессивную «заморозку» кортежей для продвижения горизонта заморозки и освобождения идентификаторов транзакций для дальнейшего переиспользования.
Агрессивная заморозка всегда выполняется при перезаписи таблицы, поэтому не выбирайте Freeze, если уже выбран Full.
Задать выполнение cron-строкой: позволяет задать интервал времени для очистки в формате crontab.
Если этот переключатель активирован, заполните поле Выполнение.
Планирование задачи: тип задачи по очистке.
Возможные значения:
Выполнить сейчас: очистка будет выполнена сразу после выполнения этой инструкции.
Отложенное по времени: очистка будет выполнена в указанную дату и время.
По расписанию: очистка будет выполнена с указанным интервалом времени.
Для этого значения укажите следующие параметры:
Интервал: единицы измерения интервала времени.
Возможные значения:
Минуты
Часы
Дни
Повторять каждые: интервал времени для выполнения очистки по минутам или часам.
Этот параметр доступен, только если в разделе Интервал вы выбираете Минуты или Часы.
Дни выполнения: дни, когда будет выполняться очистка.
Итоговая cron‑строка: строка в формате crontab, задающая интервал времени для очистки.
Значение подставляется автоматически.
Этот параметр доступен, только если вы деактивируете переключатель Задать выполнение cron-строкой.
Название: уникальное имя задачи по очистке.
Этот параметр доступен, только если активирован переключатель Задать выполнение cron-строкой или в разделе Планирование задачи выбрано По расписанию.
Время: дата и/или время, когда будет выполняться очистка.
Этот параметр доступен, только если в разделе Планирование задачи вы выбираете Отложенное по времени или в разделе Интервал — Дни.
Начать и Повторять до: дата и время начала и окончания очистки.
Эти параметры доступны, только если вы активируете переключатель Задать выполнение cron-строкой или в разделе Планирование задачи выбираете По расписанию.
Нажмите Применить.
Подтвердите операцию.
Примечание
В зависимости от количества и размера таблиц эта операция может потребовать значительных ресурсов, поэтому рекомендуется её отслеживать.
Переименование базы данных
При переименовании базы данных выполняется SQL-команда ALTER DATABASE с предложением RENAME TO.
Чтобы переименовать базу данных:
В навигационной панели перейдите в Базы данных.
(Необязательно) Чтобы отобразить системные базы данных, активируйте переключатель Показывать системные базы данных.
Нажмите
→ Переименовать • Rename рядом с базой данных.
Укажите новое имя базы данных.
Нажмите Сохранить.
Удаление базы данных
При удалении базы данных выполняется SQL-команда DROP DATABASE.
Важно
После удаления базы данных невозможно восстановить.
Чтобы удалить базу данных:
В навигационной панели перейдите в Базы данных.
(Необязательно) Чтобы отобразить системные базы данных, активируйте переключатель Показывать системные базы данных.
Нажмите
→ Удалить • Drop рядом с базой данных.
(Необязательно) Чтобы принудительно удалить базу данных, установите флажок Принудительное удаление.
Если этот флажок установлен, все подключения к базе данных будут завершены перед её удалением.
База данных не будет удалена при наличии подготовленных транзакций, слотов логической репликации или подписок.
Нажмите Удалить.
Подтвердите операцию.