5.9. Базы данных #

В этом разделе описано, как управлять базами данных, и приведены следующие инструкции:

Создание базы данных

  1. В навигационной панели перейдите в Базы данных.

  2. В правом верхнем углу страницы нажмите Создать базу данных.

  3. Укажите параметры новой базы данных (помеченные звёздочкой параметры являются обязательными):

    • Экземпляр: экземпляр, в котором будет создана база данных.

    • Название БД.

    • Владелец БД.

    • Кодировка (ENCODING):: кодировка символов в базе данных.

    • Категория сортировки (LC_COLLATE): устанавливает значение LC_COLLATE в окружении операционной системы сервера баз данных.

    • Категория типов символов (LC_CTYPE): устанавливает значение LC_CTYPE в окружении операционной системы сервера баз данных.

    • Табличное пространство: табличное пространство, в котором будет создана база данных.

    • Разрешить соединения: указывает, будет ли база данных доступна для подключений.

    • Ограничение количества соединений: максимальное количество одновременных сеансов с базой данных.

    • Является ли шаблоном: указывает, будет ли созданная база данных шаблоном.

    • Шаблон: шаблон базы данных.

  4. Нажмите Сохранить.

Просмотр баз данных

  1. В навигационной панели перейдите в Базы данных.

  2. (Необязательно) Чтобы отобразить системные базы данных, активируйте переключатель Показывать системные базы данных.

Таблица баз данных содержит следующие столбцы:

  • Имя БД.

  • Общий размер.

    Горизонтальный индикатор показывает размер таблиц, индексов и их раздувания.

  • Wraparound: процент свободных идентификаторов транзакций в базе данных.

  • Экземпляр: экземпляр, в котором создана база данных.

  • Сбор данных: объём информации о службе экземпляра, собранной агентами.

  • Таблицы:

    • количество таблиц

    • размер таблиц

    • процент раздувания таблиц

  • Индексы:

    • количество индексов

    • размер индексов

    • процент раздувания индексов

  • Действия.

    За подробной информацией о доступных действиях обратитесь к другим инструкциям в этом разделе.

Размер базы данных рассчитывается как сумма размеров всех реляционных объектов базы данных. Такой подход позволяет исключить избыточный вызов функции pg_database_size, которая использует рекурсивный обход директорий и файлов и может негативно влиять на производительность основной рабочей нагрузки экземпляра.

Важно

Если база данных создаётся за пределами PPEM, информация о ней в веб-приложении может появляться с задержкой. Длительность задержки зависит от настройки агента и по умолчанию равна одной минуте.

Запуск терминала psql

Терминал psql предоставляет низкоуровневый доступ к экземпляру СУБД и предназначен для тех случаев, когда возможностей PPEM недостаточно. Он предоставляет большую часть функциональности стандартного psql, но всё же имеет ряд ограничений. Например, запрещён вызов метакоманды \! для запуска shell-команд.

При запуске терминала используются параметры подключения к экземпляру СУБД.

Чтобы запустить терминал psql:

  1. В навигационной панели перейдите в Базы данных.

  2. (Необязательно) Чтобы отобразить системные базы данных, активируйте переключатель Показывать системные базы данных.

  3. Нажмите PSQL рядом с базой данных.

Сбор статистики планировщика для базы данных

При сборе статистики планировщика выполняется SQL-команда ANALYZE.

Чтобы запустить сбор статистики планировщика для базы данных:

  1. В навигационной панели перейдите в Базы данных.

  2. (Необязательно) Чтобы отобразить системные базы данных, активируйте переключатель Показывать системные базы данных.

  3. Нажмите Значок в виде трёх вертикальных точекСобрать статистику • Analyze рядом с базой данных.

  4. Укажите параметры сбора статистики (помеченные звёздочкой параметры являются обязательными):

    • Задать выполнение cron-строкой: позволяет задать интервал времени для сбора статистики в формате crontab.

      Если этот переключатель активирован, заполните поле Выполнение.

    • Планирование задачи: тип задачи по сбору статистики.

      Возможные значения:

      • Выполнить сейчас: статистика будет собрана автоматически сразу после выполнения этой инструкции.

      • Отложенное по времени: статистика будет собрана в указанную дату и время.

      • По расписанию: статистика будет собрана с указанным интервалом времени.

        Для этого значения укажите следующие параметры:

        • Интервал: единицы измерения интервала времени.

          Возможные значения:

          • Минуты

          • Часы

          • Дни

        • Повторять каждые: интервал времени для сбора статистики по минутам или часам.

          Этот параметр доступен, только если в разделе Интервал вы выбираете Минуты или Часы.

        • Дни выполнения: дни, когда будет собираться статистика.

        • Итоговая cron‑строка: строка в формате crontab, задающая интервал времени для сбора статистики.

          Значение подставляется автоматически.

      Этот параметр доступен, только если вы деактивируете переключатель Задать выполнение cron-строкой.

    • Название: уникальное имя задачи по сбору статистики.

      Этот параметр доступен, только если активирован переключатель Задать выполнение cron-строкой или в разделе Планирование задачи выбрано По расписанию.

    • Время: дата и/или время, когда будет собираться статистика.

      Этот параметр доступен, только если в разделе Планирование задачи вы выбираете Отложенное по времени или в разделе ИнтервалДни.

    • Начать и Повторять до: дата и время начала и окончания сборки статистики.

      Эти параметры доступны, только если вы активируете переключатель Задать выполнение cron-строкой или в разделе Планирование задачи выбираете По расписанию.

  5. Нажмите Применить.

  6. Подтвердите операцию.

Сбор статистики начнётся в асинхронном режиме.

Примечание

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

Переиндексация базы данных

При переиндексации выполняется SQL-команда REINDEX.

Чтобы переиндексировать базу данных:

  1. В навигационной панели перейдите в Базы данных.

  2. (Необязательно) Чтобы отобразить системные базы данных, активируйте переключатель Показывать системные базы данных.

  3. Нажмите Значок в виде трёх вертикальных точекПерестроить индексы • Reindex рядом с базой данных.

  4. Укажите параметры переиндекации (помеченные звёздочкой параметры являются обязательными):

    • Задать выполнение cron-строкой: позволяет задать интервал времени для переиндексации в формате crontab.

      Если этот переключатель активирован, заполните поле Выполнение.

    • Планирование задачи: тип задачи по переиндексации.

      Возможные значения:

      • Выполнить сейчас: переиндексация будет выполнена автоматически сразу после выполнения этой инструкции.

      • Отложенное по времени: переиндексация будет выполнена в указанную дату и время.

      • По расписанию: переиндексация будет выполнена с указанным интервалом времени.

        Для этого значения укажите следующие параметры:

        • Интервал: единицы измерения интервала времени.

          Возможные значения:

          • Минуты

          • Часы

          • Дни

        • Повторять каждые: интервал времени для переиндексации по минутам и часам.

          Этот параметр доступен, только если в разделе Интервал вы выбираете Минуты или Часы.

        • Дни выполнения: дни, когда будет выполняться переиндексация.

        • Итоговая cron‑строка: строка в формате crontab, задающая интервал времени для переиндексации.

          Значение подставляется автоматически.

      Этот параметр доступен, только если вы деактивируете переключатель Задать выполнение cron-строкой.

    • Название: уникальное имя задачи по переиндексации.

      Этот параметр доступен, только если активирован переключатель Задать выполнение cron-строкой или в разделе Планирование задачи выбрано По расписанию.

    • Время: дата и/или время, когда будет выполнена переиндексация.

      Этот параметр доступен, только если в разделе Планирование задачи вы выбираете Отложенное по времени или в разделе ИнтервалДни.

    • Начать и Повторять до: дата и время начала и окончания переиндексации.

      Эти параметры доступны, только если вы активируете переключатель Задать выполнение cron-строкой или в разделе Планирование задачи выбираете По расписанию.

  5. Подтвердите операцию.

Примечание

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

Очистка базы данных

При очистке выполняется SQL-команда VACUUM.

Чтобы очистить базу данных:

  1. В навигационной панели перейдите в Базы данных.

  2. (Необязательно) Чтобы отобразить системные базы данных, активируйте переключатель Показывать системные базы данных.

  3. Нажмите Значок в виде трёх вертикальных точекОчистить • Vacuum рядом с базой данных.

  4. Укажите параметры очистки (помеченные звёздочкой параметры являются обязательными):

    • Режимы: режимы очистки.

      Возможные значения:

      • Analyze: обновляет статистику, которую планировщик использует для выбора наиболее эффективного способа выполнения запроса.

      • Full: выполняет полную очистку через переиндексацию всех файлов таблицы.

        Примечание

        При выполнении очистки в этом режиме все сеансы, работающие с переиндексируемыми таблицами, будут заблокированы.

      • Freeze: выполняет агрессивную «заморозку» кортежей для продвижения горизонта заморозки и освобождения идентификаторов транзакций для дальнейшего переиспользования.

        Агрессивная заморозка всегда выполняется при перезаписи таблицы, поэтому не выбирайте Freeze, если уже выбран Full.

    • Задать выполнение cron-строкой: позволяет задать интервал времени для очистки в формате crontab.

      Если этот переключатель активирован, заполните поле Выполнение.

    • Планирование задачи: тип задачи по очистке.

      Возможные значения:

      • Выполнить сейчас: очистка будет выполнена сразу после выполнения этой инструкции.

      • Отложенное по времени: очистка будет выполнена в указанную дату и время.

      • По расписанию: очистка будет выполнена с указанным интервалом времени.

        Для этого значения укажите следующие параметры:

        • Интервал: единицы измерения интервала времени.

          Возможные значения:

          • Минуты

          • Часы

          • Дни

        • Повторять каждые: интервал времени для выполнения очистки по минутам или часам.

          Этот параметр доступен, только если в разделе Интервал вы выбираете Минуты или Часы.

        • Дни выполнения: дни, когда будет выполняться очистка.

        • Итоговая cron‑строка: строка в формате crontab, задающая интервал времени для очистки.

          Значение подставляется автоматически.

      Этот параметр доступен, только если вы деактивируете переключатель Задать выполнение cron-строкой.

    • Название: уникальное имя задачи по очистке.

      Этот параметр доступен, только если активирован переключатель Задать выполнение cron-строкой или в разделе Планирование задачи выбрано По расписанию.

    • Время: дата и/или время, когда будет выполняться очистка.

      Этот параметр доступен, только если в разделе Планирование задачи вы выбираете Отложенное по времени или в разделе ИнтервалДни.

    • Начать и Повторять до: дата и время начала и окончания очистки.

      Эти параметры доступны, только если вы активируете переключатель Задать выполнение cron-строкой или в разделе Планирование задачи выбираете По расписанию.

  5. Нажмите Применить.

  6. Подтвердите операцию.

Примечание

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

Переименование базы данных

При переименовании базы данных выполняется SQL-команда ALTER DATABASE с предложением RENAME TO.

Чтобы переименовать базу данных:

  1. В навигационной панели перейдите в Базы данных.

  2. (Необязательно) Чтобы отобразить системные базы данных, активируйте переключатель Показывать системные базы данных.

  3. Нажмите Значок в виде трёх вертикальных точекПереименовать • Rename рядом с базой данных.

  4. Укажите новое имя базы данных.

  5. Нажмите Сохранить.

Удаление базы данных

При удалении базы данных выполняется SQL-команда DROP DATABASE.

Важно

После удаления базы данных невозможно восстановить.

Чтобы удалить базу данных:

  1. В навигационной панели перейдите в Базы данных.

  2. (Необязательно) Чтобы отобразить системные базы данных, активируйте переключатель Показывать системные базы данных.

  3. Нажмите Значок в виде трёх вертикальных точекУдалить • Drop рядом с базой данных.

  4. (Необязательно) Чтобы принудительно удалить базу данных, установите флажок Принудительное удаление.

    Если этот флажок установлен, все подключения к базе данных будут завершены перед её удалением.

    База данных не будет удалена при наличии подготовленных транзакций, слотов логической репликации или подписок.

  5. Нажмите Удалить.

  6. Подтвердите операцию.