15.1. Создание хранилища #

Если вы планируете создать S3-хранилище, перед выполнением этой инструкции создайте простой секрет.

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

  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 генерируются с помощью сторонних библиотек.

Пример 15.1. Создание локального хранилища

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

Пример 15.2. Создание S3-хранилища

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

После выполнения этого запроса pgpro_metastore выполняет следующие действия:

  1. Проверяет права пользователей.

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

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

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

За подробной информацией о подключении к S3-хранилищу обратитесь к Приложению D.