Перейти к содержанию

Установка PostgreSQL

Если вам нужна помощь специалиста для решения этой или любой другой проблемы, изучите наши условия технической поддержки

При эксплуатации в производственных (production) средах с большим количеством камер (больше 10-ти) и включённой детекцией движения мы рекомендуем использовать в качестве базы данных PostgreSQL, как более производительную. Есть множество способов как установить СУБД PostgreSQL, мы опишем 2 по нашему мнению самых простых и быстрых. Вам нужно выбрать наиболее подходящий для вас.

В примерах использован простой пароль, его желательно изменить!

Установка PostgreSQL из пакетов на хост

Для установки используйте официальную инструкцию с сайта разработчика https://www.postgresql.org/download/

Быстрая установка в Debian или Ubuntu:

sudo apt install postgresql-common
sudo sh /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh
sudo apt install postgresql-14 -y

После установки и запуска, нужно создать базу данных и роль для подключения.

sudo -u postgres psql -c "CREATE DATABASE yucca;"
sudo -u postgres psql -c "CREATE USER postgres WITH PASSWORD 'postgres';"
sudo -u postgres psql -c 'GRANT ALL PRIVILEGES ON DATABASE yucca TO postgres;'

Установка PostgreSQL в docker

Запустите официальный контейнер с нужными параметрами:

docker run -d \
    --name yucca-postgres \
    --net host \
    --restart always \
    -e POSTGRES_USER=postgres \
    -e POSTGRES_PASSWORD=postgres \
    -e POSTGRES_DB=yucca \
    postgres:14.4-alpine

Настройка подключения Юкка к базе

Остновите сервер:

sudo systemctl stop yucca

Укажите тип postgres в параметре database.type, а так же остальные реквизиты для подключения:

пример конечной конфигурации через файл:

[database]
  host = "127.0.0.1:5432"
  name = "yucca"
  password = "postgres"
  type = "postgres"
  user = "postgres"

Запустите сервер:

sudo systemctl start yucca

При успешном подключении, в логе(debug) можно увидеть прмерно следующие сообщения:

sudo journalctl -o short --no-pager -n 100 -f -u yucca
2022-08-12T12:10:44.865+0500    DEBUG   server/server.go:366    postgres ORM engine initialization successful

PostgreSQL 14 и старше

Поддерживается начиная с версии Юкка 0.7.0, подробнее тут https://gitlab.com/yuccastream/yucca/-/issues/820