24.1. Создание хранилища (metastore.add_storage) #

Перед созданием S3-хранилища необходимо создать простой секрет. Можно создать только одно S3-хранилище.

Требуемые права: только администратор Postgres Pro AXE. За подробной информацией о хранимых процедурах и правах обратитесь к Разделу 22.1.

Выполните следующую команду:

  SELECT metastore.add_storage('имя_хранилища', 'URI_корневого_каталога', 'URI_временного_каталога');

Где:

  • имя_хранилища: уникальное имя хранилища.

  • URI_корневого_каталога: URI корневого каталога хранилища.

  • URI_временного_каталога: URI каталога хранилища для временных файлов.

У локальных хранилищ URI простой, например file:///home/j.doe/workspace/axe/.

S3-хранилища отличаются URI с более сложной структурой и логикой разбора, например s3://premdb/team01.csv?versionId=w_B5qT8s5MkiT09.IRHay0lW.PycsHTS. Эти URI генерируются с помощью сторонних библиотек.

Postgres Pro AXE выполняет следующие действия:

  1. Проверяет параметры ввода и права пользователя.

  2. Проверяет, что для хранилища достаточно дискового пространства. По умолчанию требуется 10 ГБ.

  3. Проверяет, что указанные каталоги существуют.

  4. Создаёт новую запись в таблице метаданных pga_storage.

Пример 24.1. Выполнение хранимой процедуры metastore.add_storage (локальное хранилище)

  SELECT metastore.add_storage('local_storage_example', 'file:///tmp/local_storage_example/', 'file:///tmp/local_storage_example/tmp_dir/');

Пример 24.2. Выполнение хранимой процедуры metastore.add_storage (S3-хранилище)

  SELECT metastore.add_storage('s3_storage_example', 's3://demo/s3_storage_example/','s3://demo/s3_storage_example/tmp/');

За сценарием подключения к S3-хранилищу обратитесь к Разделу 24.3.