Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных


В версии 0.6 в PostgreSQL была добавлена новая база данных lepus и новые роли пользователей. Если у вас уже установлен NAICE версии 0.5, то при обновлении PostgreSQL необходимо выполнить действия по одному их следующих сценариев.


1. Обновление контейнера naice-postgres с потерей данных

Если вам не нужны данные, которые были добавлены в NAICE версии 0.5, то выполните следующие действия:

  1. Удалите все файлы из директории с данными PostgreSQL:

    cd /etc/docker-naice
    sudo rm -r var/pgdata/
  2. Измените версию образа контейнера на актуальную в переменных окружения .env:

    sudo nano .env
    
    POSTGRES_VERSION_TAG:0.6.1
  3. Перезапустите контейнеры с обновлением образов:

    docker compose down && docker compose pull && docker compose up -d


2. Обновление контейнера naice-postgres без потери данных

Для сохранения данных при обновлении последовательность действий следующая:

  1. Закоментировать проброс volume в контейнер в docker-compose.yml:

    cd /etc/docker-naice
    sudo nano docker-compose.yml
    
      postgres:
        container_name: naice-postgres
        image: nexus.eltex.loc:9012/naice/postgres:${POSTGRES_VERSION_TAG}
    #    volumes:
    #      - ./var/pgdata:/var/lib/postgresql/data
  2. Измените версию образа контейнера на актуальную в переменных окружения .env:

    sudo nano .env
    
    POSTGRES_VERSION_TAG:0.6.1
  3. Перезапустить контейнер:

    docker compose stop && docker compose pull && docker compose up -d
  4. Раскомментировать проброс volume, перезапустить контейнер.
  5. Создать файл скрипта naice06.sql следующего содержания:

    CREATE ROLE ovis LOGIN ENCRYPTED PASSWORD 'ovis' IN ROLE ursus;
    CREATE ROLE lemmus LOGIN ENCRYPTED PASSWORD 'lemmus' IN ROLE ursus;
    CREATE ROLE radius LOGIN ENCRYPTED PASSWORD 'radius' IN ROLE ursus;
    
    CREATE ROLE lepus LOGIN ENCRYPTED PASSWORD 'lepus';
    CREATE ROLE vulpus LOGIN ENCRYPTED PASSWORD 'vulpus' IN ROLE lepus;
    
    CREATE DATABASE lepus OWNER lepus;
  6. Выполнить скрипт (требует наличия postgresql-client-15):

    psql -h <IP-адрес PostgreSQL> -U ursus -f naice06.sql

    Пароль пользователя ursus по умолчанию - ursus.


3. Обновление данных в сервисе PostgreSQL

Если PostgreSQL установлен как сервис (не в docker-контейнере), то необходимо:

  1. Создать файл скрипта naice06.sql следующего содержания:

    CREATE ROLE ovis LOGIN ENCRYPTED PASSWORD 'ovis' IN ROLE ursus;
    CREATE ROLE lemmus LOGIN ENCRYPTED PASSWORD 'lemmus' IN ROLE ursus;
    CREATE ROLE radius LOGIN ENCRYPTED PASSWORD 'radius' IN ROLE ursus;
    
    CREATE ROLE lepus LOGIN ENCRYPTED PASSWORD 'lepus';
    CREATE ROLE vulpus LOGIN ENCRYPTED PASSWORD 'vulpus' IN ROLE lepus;
    
    CREATE DATABASE lepus OWNER lepus;
  2. Выполнить скрипт (требует наличия postgresql-client-15):

    psql -h <IP-адрес PostgreSQL> -U ursus -f naice06.sql

    Пароль пользователя ursus по умолчанию - ursus.


  • Нет меток