# Установка PostgreSQL

## Загрузка и установка <a href="#download-and-install" id="download-and-install"></a>

Для загрузки файлов перейдите на [сайт разработчиков](https://www.enterprisedb.com/downloads/postgres-postgresql-downloads) и выберете нужную версию.

Запустите скачанный файл для начала процесса установки.

<figure><img src="https://2982419670-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fw42gvnbAkwAz4lPHWZM0%2Fuploads%2FbO2YwAK6GoNuL81VKYLB%2F10.png?alt=media&#x26;token=a44402ef-da33-4a66-8436-8c43dfb41fd2" alt=""><figcaption></figcaption></figure>

На первом шаге укажите папку, в которую будет устанавливаться PostgreSQL.

<figure><img src="https://2982419670-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fw42gvnbAkwAz4lPHWZM0%2Fuploads%2FkKaJIM1ROQo6so2qmQY2%2F11.png?alt=media&#x26;token=1f2c8696-df76-4ff5-a35b-f832c4042314" alt=""><figcaption></figcaption></figure>

Затем выберите те компоненты, которые будут установлены.

* **PostgreSQL Server** – сервер СУБД;
* **PgAdmin 4** – графический интерфейс для администрирования серверов СУБД;
* **Stack Builder** – дополнительные инструменты для разработки (для учебного проекта они не нужны);
* **Command Line Tools** – инструменты командной строки. необходимы для работы сервера баз данных. Без этого пункта продолжение установки невозможно.

<figure><img src="https://2982419670-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fw42gvnbAkwAz4lPHWZM0%2Fuploads%2Fy3jAv0HiBIDMsMmGEjDl%2Fimage.png?alt=media&#x26;token=b70f57a4-f2cc-4bbc-97e3-45ae0aa1fbbf" alt=""><figcaption></figcaption></figure>

Укажите папку для хранения данных.

<figure><img src="https://2982419670-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fw42gvnbAkwAz4lPHWZM0%2Fuploads%2FeTXuhjKEMTVEwKX8Ynks%2F13.png?alt=media&#x26;token=79da6daf-d3c7-4504-91d0-6e26380b0782" alt=""><figcaption></figcaption></figure>

Теперь необходимо задать пароль для суперпользователя **postgres** (он создается по умолчанию). Этот пароль необходим для доступа к серверу СУБД при работе через pgAdmin.

Под пользователем **postgres** серверная часть WT-программы будет отправлять запросы к базе данных. Настройки пароля этого пользователя задаются в серверном файле конфигурации **appsettings.json** в поле [Database](https://wfsys.gitbook.io/wt-knowledge-base/platforma-wt/configuration-files/appsettings.json#database).

По умолчанию в файле прописан пароль **postgres**. Этот пароль укажите в окне настроек пароля. Если хотите задать свой пароль, то *запишите его или запомните* - при разворачивании учебного проекта в файл appsettings.json укажите новый пароль.

<figure><img src="https://2982419670-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fw42gvnbAkwAz4lPHWZM0%2Fuploads%2Fj7lSBWNDRce449YxUJl0%2F14.png?alt=media&#x26;token=5674acb4-aa1d-46d2-9b04-10f0465d204b" alt=""><figcaption></figcaption></figure>

На следующем шаге укажите порт, на котором будет запущен сервер СУБД.

<figure><img src="https://2982419670-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fw42gvnbAkwAz4lPHWZM0%2Fuploads%2FvM7oX3jq3nf1TbCKO7u9%2F15.png?alt=media&#x26;token=3482513c-f07f-4064-9c8f-4339f9f2d7ed" alt=""><figcaption></figcaption></figure>

Выберете локализацию. По умолчанию будет установлена англоязычная локаль.

<figure><img src="https://2982419670-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fw42gvnbAkwAz4lPHWZM0%2Fuploads%2FZWKlmR2rmif9CcBQPlzf%2Fimage.png?alt=media&#x26;token=9cec2fc4-1d7d-46f4-a38c-cdde7fa4c28a" alt=""><figcaption></figcaption></figure>

Еще раз проверьте все настройки установки.

<figure><img src="https://2982419670-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fw42gvnbAkwAz4lPHWZM0%2Fuploads%2FmMquS61SxGlXkX2fwsGa%2Fimage.png?alt=media&#x26;token=82a39afc-97e1-4e6a-9d0e-d0c0e19b7526" alt=""><figcaption></figcaption></figure>

СУБД PostgreSQL и необходимые компоненты готовы к установке.

<figure><img src="https://2982419670-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fw42gvnbAkwAz4lPHWZM0%2Fuploads%2F3bSbDfrVNjxZBQr0OYML%2Fimage.png?alt=media&#x26;token=34981756-6c8e-4f0d-b949-4dc8df8ce1f9" alt=""><figcaption></figcaption></figure>

Установка успешно завершена.

<figure><img src="https://2982419670-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fw42gvnbAkwAz4lPHWZM0%2Fuploads%2F75sQNLy0eOAFzw0bzIRQ%2Fimage.png?alt=media&#x26;token=26c059d1-e7cc-4e11-9bea-baafd5a1ac47" alt=""><figcaption></figcaption></figure>

## pgAdmin 4

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

Запустите редактор PgAdmin 4.

<figure><img src="https://2982419670-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fw42gvnbAkwAz4lPHWZM0%2Fuploads%2F7laiFKTOdIX0QXyeLYqG%2F18.png?alt=media&#x26;token=06e212d6-6f43-4ffe-b4ba-d6f6b5d1fb89" alt=""><figcaption></figcaption></figure>

Для доступа к серверу СУБД нужно ввести пароль суперпользователя postgres, который задавали при установке.

<figure><img src="https://2982419670-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fw42gvnbAkwAz4lPHWZM0%2Fuploads%2FfCaVU3zivlDYBsXl6D9A%2Fimage.png?alt=media&#x26;token=296a1cb3-d096-4ba5-8323-05d51bd73e0f" alt=""><figcaption></figcaption></figure>

### Создание базы данных <a href="#create-database" id="create-database"></a>

В окне **Object Explorer** разверните дерево **Servers** и правой кнопкой мыши кликните по узлу **Databases**. В появившемся контекстном меню выберите пункт **Create -> Database...** для открытия окна создания базы данных.

<figure><img src="https://2982419670-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fw42gvnbAkwAz4lPHWZM0%2Fuploads%2FPHlWfkwRA3QRteV3Xv1i%2Fimage.png?alt=media&#x26;token=dcc48e0c-3e53-4bb8-8a56-cba89ab852a0" alt=""><figcaption></figcaption></figure>

В открывшемся окне введите имя базы данных, например, **template\_project**. Этого достаточно, чтобы создать базу данных с настройками по умолчанию.

<figure><img src="https://2982419670-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fw42gvnbAkwAz4lPHWZM0%2Fuploads%2FJy2JEWGSSaUoBxFZEPWX%2Fimage.png?alt=media&#x26;token=744b886e-f609-4f26-9c77-813705b4b4aa" alt=""><figcaption></figcaption></figure>

В результате будет создана база данных с одной схемой *public* по умолчанию.

<figure><img src="https://2982419670-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fw42gvnbAkwAz4lPHWZM0%2Fuploads%2FUWXHRwfjbOUVamQsBEDS%2F____1.png?alt=media&#x26;token=58aa59a0-1893-4a59-9b93-1fe2448ae0c5" alt=""><figcaption></figcaption></figure>

### Восстановление бэкапа базы данных <a href="#restore-backup" id="restore-backup"></a>

В окне **Object Explorer** выберите ранее созданную базу данных, кликните по ней правой кнопкой мыши и в появившемся контекстном меню выберите пункт **Restore...** для восстановления из резервной копии.

<figure><img src="https://2982419670-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fw42gvnbAkwAz4lPHWZM0%2Fuploads%2Fu95V5PSwKWlS1EoFgUJx%2Fimage.png?alt=media&#x26;token=39e70154-57f0-4e27-a9ee-b4540f11b604" alt=""><figcaption></figcaption></figure>

Откроется окно восстановления базы, где можете задать параметры восстановления, в частности выбрать файл резервной копии.

<figure><img src="https://2982419670-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fw42gvnbAkwAz4lPHWZM0%2Fuploads%2FreTQdS601g0wFfygWGwN%2Fimage.png?alt=media&#x26;token=5d70914a-f7d1-4a90-8331-bfbcf2028f50" alt=""><figcaption></figcaption></figure>

### Возможная проблема

Если при восстановлении резервной копии, возникла ошибка:

<figure><img src="https://2982419670-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fw42gvnbAkwAz4lPHWZM0%2Fuploads%2FrHZ6Z5kKMpsR54Bmt49I%2Fimage.png?alt=media&#x26;token=ac5aef20-fb08-44a0-916d-94ccd21bbe87" alt=""><figcaption></figcaption></figure>

Повторите восстановление с настройками:

<figure><img src="https://2982419670-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fw42gvnbAkwAz4lPHWZM0%2Fuploads%2FsjAtvEtxj7Lhl3oZzHzC%2Fimage.png?alt=media&#x26;token=7fb7f830-055e-4036-972f-fae8eb49a33e" alt=""><figcaption></figcaption></figure>
