5.1. Настройка каталога pgpro_metastore #

Таблицы метаданных pgpro_metastore хранятся в схеме axe_catalog, или в так называемом каталоге pgpro_metastore. Этот каталог можно создать на сервере pgpro_metastore или на отдельном сервере.

Чтобы настроить каталог pgpro_metastore:

  1. Настройте подключение к серверу с каталогом pgpro_metastore:

    SELECT metastore.define_catalog_connection('хост', 'порт', 'имя_БД', 'имя_пользователя', 'пароль')

    Где:

    • хост и порт: имя хоста и номер порта для сервера с каталогом pgpro_metastore.

    • имя_БД: имя базы данных где будет создан каталог pgpro_metastore.

    • имя_пользователя и пароль: имя пользователя и пароль для подключения к серверу с каталогом pgpro_metastore.

    Если какой-то из параметров отсутствует, например, при подключении к серверу с каталогом pgpro_metastore без пароля, вместо значения передайте пустую строку:

    SELECT metastore.define_catalog_connection('хост','порт','имя_БД','','');

    Чтобы изменения вступили в силу, повторно подключитесь к серверу pgpro_metastore (не к серверу с каталогом pgpro_metastore).

    Если соединение с сервером с каталогом pgpro_metastore прервалось, повторное подключение произойдёт автоматически с использованием последних настроек параметров конфигурации:

    Пример 5.1.

    postgres=# SELECT metastore.remove_storage('mt_storage');
    INFO:  Connection failed! Trying to reconnect.
    INFO:  Reconnecting...1
    INFO:  Reconnect successful!
            remove_storage
    -----------------------------------
    Storage was removed successfully.
    (1 row)

  2. Создайте каталог pgpro_metastore:

    SELECT metastore.init(force_init bool DEFAULT false)

    Если на сервере уже создан каталог pgpro_metastore, будет выведено предупреждение:

    postgres=# SELECT metastore.init();
    INFO:  Metastore catalog already initialized on remote server
    INFO:  Run metastore.init(true) to force rewrite catalog on remote server
    init
    ------
    
    (1 row)

    В этом случае каталог pgpro_metastore можно создать повторно. Для этого выполните тот же запрос, задав для параметра force_init значение true:

      postgres=# SELECT metastore.init(true);
      init
      ------
    
      (1 row)