Присоединение и отсоединение БД PostgreSQL

Присоединение базы данных

База данных и файловые архивы могут быть вынесены на другой компьютер или хранилище отдельно от Pilot-Server. В этом случае нужно настроить сетевое окружение таким образом, чтобы база данных и файловые архивы были в любой момент времени доступны для службы Pilot-Server.

Чтобы присоединить базу данных, на компьютере, где установлен Pilot-Server, выполните команду --attachpg (-atpg) с параметрами:

$ su pilotuser

$ cd /opt/pilot-server

$ ./Ascon.Pilot.Daemon --attachpg my-database "Host=address:port; Username=pilotuser; Password=password; Include Error Detail=true; Pooling=true; Connection Lifetime=0; Keepalive=3; DataBase=database_pg" "/home/pilotuser/my-database/Index" "/home/pilotuser/my-database/FileArchive/44191f9c-c8a4-4689-b38b-474f2aba4465.pilotfa"

$ exit

Где:

my-database — задайте имя базы данных,

"Host=10.128.4.12:6432; Username=pilotuser; Password=password; Include Error Detail=true; Pooling=true; Connection Lifetime=0;Keepalive=3; DataBase=pilot-bim_ru" — строка присоединения к базе данных PostgreSQL,

address:port — адрес и порт, на котором работает Postrges,

pilotuser и password — имя и пароль пользователя PostgreSQL,

database_pg — имя присоединяемой базы данных PostgreSQL,

"/home/pilotuser/my-database/Index" — полный путь для хранения индексных файлов,

"/home/my-database/FileArchive/44191f9c-c8a4-4689-b38b-474f2aba4465.pilotfa" — полный путь к файловому архиву.

Присоединяемая база данных прописывается в файле settings.xml, располагающемся в папке вместе с Pilot-Server. Например:

<DatabaseParameters Name="my-database" Filename="" State="Launched" Version="20250317" Id="f6ba197a-057f-4dd5-94e9-7fa4905cb737" SessionId="00000000-0000-0000-0000-000000000000" WarmUp="false" IsLaunched="false">

<FileArchiveFolders>

<FileArchiveParameters Folder="/home/my-database/FileArchive" Id="44191f9c-c8a4-4689-b38b-474f2aba4465" IsWritable="true" />

</FileArchiveFolders>

<PgConnectionString ConnectionString="Host=http://10.128.4.12:6432;Username=pilotuser;Password=password;Include Error Detail=True;Pooling=True;Connection Lifetime=0;Keepalive=3;Database=database_pg;" />

<IndexPath>/home/pilotuser/my-database/Index</IndexPath>

<SnapshotPath />

</DatabaseParameters>

Базу данных можно присоединить, указав эти параметры в файле settings.xml и перезапустив Pilot-Server.

Отсоединение базы данных

Чтобы временно отсоединить базу данных от сервера, на компьютере, где установлен Pilot-Server, выполните команду --detach (-de) с именем базы данных в качестве параметра. Идентификатор базы данных в этом случае сохранится, и в следующий раз она будет присоединена с этим же идентификатором. Пример:

$ su pilotuser

$ cd /opt/pilot-server

$ ./Ascon.Pilot.Daemon --detach my-database

$ exit

Чтобы отсоединить базу данных для тиражирования, на компьютере, где установлен Pilot-Server, выполните команду --detach (-de) с именем базы данных и ключом сброса идентификатора в качестве параметров. Идентификатор базы данных в этом случае будет сброшен, и в следующий раз она будет присоединена с новым идентификатором. Пример:

$ su pilotuser

$ cd /opt/pilot-server

$ ./Ascon.Pilot.Daemon --detach my-database true

$ exit

При отсоединении база данных удаляется из файла settings.xml. Отсоединить базу данных можно, если отредактировать файл settings.xml, удалить сведения о базе данных из файла и перезапустить Pilot-Server.

Переименование базы данных

Имя базы данных в списке баз Pilot-Server задаётся при её присоединении. Переименование базы данных реализуется через её отсоединение и последующее присоединение с новым именем.