---
title: "PostgreSQL"
canonical_url: "https://www.zone.lv/help/ru/kb/postgresql-3/"
post_type: "ht_kb"
published: "2024-10-23T16:21:28+00:00"
modified: "2024-10-24T06:22:04+00:00"
language: "ru"
author: "silver"
taxonomies:
  ht_kb_category:
    - name: "MariaDB / MySQL"
      url: "https://www.zone.lv/help/ru/kb-categories/mariadb-mysql-ru/"
  ht_kb_tag:
    - name: "PostgreSQL"
      url: "https://www.zone.lv/help/ru/kb-tags/postgresql-ru/"
---

# PostgreSQL

Внимание! **Zone не предоставляет официальную поддержку PostgreSQL! PostgreSQL – это неуправляемая услуга.**
Это руководство предназначено для опытных пользователей, которые знакомы с администрированием PostgreSQL и хорошо знающих оболочку Linux. В руководстве рассматривается только запуск услуги PostgreSQL на платформе Zone (PoC). Дальнейшее администрирование, управление пользователями и базами данных, резервное копирование и т.д. входит в обязанности пользователя!

### 1. Войдите на виртуальный сервер с помощью SSH

[Подключение через протокол SSH](https://www.zone.lv/help/ru/kb/podkluchenije-cherez-protokol-ssh/).

### 2. Создайте базу данных PostgreSQL

```
initdb -D $HOME/postgresql
echo "listen_addresses = '$(vs-loopback-ip -4)'" >> $HOME/postgresql/postgresql.conf
echo "unix_socket_directories = '$HOME/tmp'" >> $HOME/postgresql/postgresql.conf

```

### 3. Создайте файл конфигурации PM2

Файл PM2 необходим для автоматического запуска службы PostgreSQL. В имени файла важно окончание **.config.js**!

Откройте файл `~/postgresql/postgresql.config.js` и добавьте:

```
module.exports = {
  apps: [
    {
      name: "postgresql",
      script: "/opt/zse/bin/postgres",
      args: "-D " + process.env.HOME + "/postgresql/",
      exec_mode: "fork", // Ensures it runs in the background
      autorestart: true, // Restart if it crashes
      watch: false, // PM2 will not watch for file changes
      max_restarts: 10, // Maximum number of restarts before giving up
    },
  ],
};

```

### 4. Добавить приложение PM2 в панель управления Мой Zone

В управлении веб-хостингом в панели `Мой Zone` выберите `PM2 (Node.js)`, а затем `Установить новое приложение`.
Введите `Postgresql` в поле **Имя приложения**.
В поле **Скрипт или PM2 .JSON** введите: `postgresql/postgresql.config.js`.
**Максимальное использование памяти**: перетащите ползунок на максимальное значение.
Нажмите кнопку `Сохранить`.

Подождите 3-4 минуты, пока в `pm2 list` в shell не появится статус приложения postgresql: online.

![](https://www.zone.lv/static/sites/5/Screenshot-2024-10-16-113046-1-1024x116.png)

### 5. Установите пароль пользователя root!

 Очень важно! **По умолчанию пользователь root не имеет пароля, и внешний пользователь может получить доступ к вашему серверу PostgreSQL!**
Выберите длинный (не менее 14 символов) и надежный пароль и храните его в безопасности!

Имя пользователя root – это ваше имя пользователя SSH в форме virtXXX, которое вы видите при запуске shell: `whoami`

Хост сервера PostgreSQL – это ваш loopback IP-адрес, который вы можете увидеть, если выполните команду shell: `vs-loopback-ip -4`

Чтобы установить пароль, войдите на сервер PostgreSQL:

```
psql -h $(vs-loopback-ip -4) -U $(whoami) -d postgres
```

Замените **new\_password** на надежный пароль и запуст

```
ALTER USER SESSION_USER WITH PASSWORD 'new_password';
```

Затем удалите метод “trust” из файла pg\_hba.conf (без него пароль не будет запрашиваться):

```
sed -i 's/trust$/md5/g' ~/postgresql/pg_hba.conf
```

Перезапустите сервер postgresql:

```
pm2 restart postgresql
```

**Убедитесь, что теперь при подключении вам будет предложено ввести пароль!**

```
psql -h $(vs-loopback-ip -4) -U $(whoami) -d postgres
```

### 6. Примечания

- NB! На сервере ZoneOS доступна только одна версия PostgreSQL (в настоящее время 14.5), и она может измениться с обновлением ZoneOS без предварительного уведомления!
- Нелишним будет регулярно создавать резервные копии базы данных самостоятельно, поскольку резервное копирование файловой системы Zone по умолчанию может быть не идеальным.
- Если вы хотите использовать PostgreSQL с PHP, вам нужно активировать расширение PostgreSQL в разделе Расширения PHP в панели управления Мой Zone.
