[Документация Yandex Cloud](../../index.md) > [Yandex MPP Analytics for PostgreSQL](../index.md) > [Пошаговые инструкции](index.md) > Базы данных > Управление базами данных

# Управление базами данных в Yandex MPP Analytics for PostgreSQL

Yandex MPP Analytics for PostgreSQL позволяет управлять базами данных кластера только с помощью SQL-запросов.

Изменить или удалить базу данных может только ее владелец.

## Получить список баз данных в кластере {#list-db}

Получить список баз данных могут все [пользователи](../concepts/cluster-users.md).

{% list tabs group=instructions %}

- SQL {#sql}

  Чтобы получить список баз данных в кластере, выполните команду:

  ```sql
  SELECT * FROM pg_database ORDER BY datname;
  ```

{% endlist %}

## Создать базу данных {#add-db}

Для создания базы данных требуется роль с атрибутом `CREATEDB`.

{% list tabs group=instructions %}

- SQL {#sql}

  Чтобы создать базу данных, выполните команду:

  ```sql
  CREATE DATABASE <имя_БД> <имя_параметра> <значение_параметра>;
  ```

  Пар `имя параметра — значение параметра` может быть несколько.

  Доступные параметры:

  * `TEMPLATE` — шаблон базы данных. В новую БД будет скопировано все содержимое БД, указанной в параметре `TEMPLATE`, включая таблицы с данными. Значение по умолчанию — `template1`.
  * `CONNECTION LIMIT` — максимальное число подключений.

  [Подробнее о доступных параметрах в официальной документации Greenplum®](https://techdocs.broadcom.com/us/en/vmware-tanzu/data-solutions/tanzu-greenplum/6/greenplum-database/ref_guide-sql_commands-CREATE_DATABASE.html).

  >Например, чтобы создать базу данных `db1`, которая может обрабатывать не более 55 активных подключений, выполните команду:
  >```sql
  >CREATE DATABASE db1 CONNECTION LIMIT 55;
  >```

{% endlist %}

## Создать копию базы данных {#copy-db}

Для создания копии базы данных требуется роль с атрибутом `CREATEDB`.

{% list tabs group=instructions %}

- SQL {#sql}

  Чтобы создать копию базы данных в том же кластере, выполните команду:

  ```sql
  CREATE DATABASE <имя_копии> TEMPLATE <имя_копируемой_БД>;
  ```

{% endlist %}

## Узнать размер базы данных {#db-size}

Узнать размер базы данных могут все пользователи.

{% list tabs group=instructions %}

- SQL {#sql}

  Чтобы узнать размер базы данных, выполните команду:

  ```sql
  SELECT pg_size_pretty(pg_database_size('<имя_БД>'));
  ```

{% endlist %}

## Переименовать базу данных {#rename-db}

{% list tabs group=instructions %}

- SQL {#sql}

  Чтобы переименовать базу данных, выполните команду:

  ```sql
  ALTER DATABASE <имя_БД> RENAME TO <новое_имя_БД>;
  ```

{% endlist %}

## Изменить максимальное число подключений к базе данных {#max-conn}

{% list tabs group=instructions %}

- SQL {#sql}

  Чтобы изменить максимальное число подключений, выполните команду:

  ```sql
  ALTER DATABASE <имя_БД> CONNECTION LIMIT <новое_число_подключений>;
  ```

{% endlist %}  
  
## Изменить настройки СУБД на уровне базы данных {#greenplum-settings}

Настройки, заданные на уровне базы данных с помощью SQL-запросов, переопределяют настройки, заданные [на уровне кластера](../concepts/settings-list.md).

{% list tabs group=instructions %}

- SQL {#sql}

  Изменить настройку на уровне базы данных:

  ```sql
  ALTER DATABASE <имя_БД> SET <имя_настройки> TO <новое_значение_настройки>;
  ```

  Удалить значение настройки на уровне базы данных:

  ```sql
  ALTER DATABASE <имя_БД> RESET <имя_настройки>;
  ```

  Удалить значения всех настроек на уровне базы данных:

  ```sql
  ALTER DATABASE <имя_БД> RESET ALL;
  ```

  {% note info %}

  Если значение настройки удалено, для нее будет использоваться значение, заданное на уровне кластера.

  {% endnote %}

{% endlist %}  

## Удалить базу данных {#remove-db}

Перед удалением убедитесь, что соблюдены следующие условия:

* Вы владелец базы данных.
* К базе данных нет активных подключений.
* Вы подключены к другой базе данных.

{% list tabs group=instructions %}

- SQL {#sql}

  Чтобы удалить базу данных, выполните команду:

  ```sql
  DROP DATABASE <имя_БД>;
  ```

  {% note warning %}

  Удаление базы данных необратимо.

  {% endnote %}

{% endlist %}

_Greenplum® и Greenplum Database® являются зарегистрированными товарными знаками или товарными знаками Broadcom Inc в США и/или других странах._