Принцип использования


В базе данных PostgreSQL создаются таблицы, идентичные таблицам 1С. Далее настраивается Включение истории pghist.hist_enable создает в схеме таблицы 3 объекта для работы с историей:

1. В базе данных PostgreSQL создаются таблицы, идентичные таблицам (объектам метаданных) 1С

2. Настраивается автоматическое обновление данных и метаданных

3. Создаются внешние ключи и представления

4. К таблицам настраивается доступ пользователей

5. Целевое использование

6. При длительном выполнении SQL-запросов на необходимые поля таблицы создаются индексы

Безопасность


pg1c.create_table(table_1c, server_1c, schema, table_name_pg)


Для таблицы 1С функция создает в PostgreSQL таблицу и хранимые процедуры, загружает данные, возвращает полное имя созданной таблицы.
Если данные загружать не требуется (например, загрузка выполняется по расписанию), нужно вызывать функцию pg1c.create_table_only с аналогичными параметрами

Параметры:
table_1cvarchar-Таблица 1С
server_1cvarchar-Сервер 1С (необязательный, по умолчанию DEFAULT)
schemaname-Схема создаваемой таблицы в PostgreSQL (необязательный, по умолчанию тип объекта конфигурации 1С)
table_name_pgname-Имя создаваемой таблицы в PostgreSQL (необязательный, по умолчанию имя объекта конфигурации 1С)

Примеры использования:
-- Создаем таблицу
select pg1c.create_table('Справочник.Контрагенты');

-- Создаем таблицу с другими схемой и названием (public.Goods) в PostgreSQL
select pg1c.create_table('Справочник.Товары', schema=>'public', table_name_pg=>'Goods');

-- Создаем таблицу без загрузки данных для сервера УТ
select pg1c.create_table_only('Справочник.Контрагенты', 'УТ');

pg1c.create_table_all(server_1c, commit_tables)


Процедура создает все таблицы, доступные по протоколу OData (результат функции pg1c.load_metadata_tables). Ранее созданные таблицы пропускаются

Параметры:
server_1cvarchar-Сервер 1С (необязательный, по умолчанию DEFAULT)
commit_tablesint-Количество таблиц, создаваемых в одной транзакции. Значение null отключает промежуточное фиксирование транзакций (необязательный, по умолчанию 100)

Примеры использования:
-- Создаем все таблицы
call pg1c.create_table_all();

-- Создаем все таблицы для сервера УТ без промежуточного фиксирования транзакций
call pg1c.create_table_only('УТ', null);

-- Получаем список всех созданных таблиц
select * from pg1c.table;

[Таблица]()


Функция обновляет все данные в одноименной таблице PostgreSQL из соответствующей таблицы 1С. Иными словами, после успешного выполнения содержимое таблицы в PostgreSQL станет идентичным данным из 1С

Примеры использования:
-- Обновляем и выбираем все данные
select * from Справочник.Контрагенты();

-- Обновляем данные на процедурном языке PL/pgSQL
do $$ begin
  perform Справочник.Контрагенты();
  -- Далее используем актуальные данные
  -- select * from Справочник.Контрагенты,Справочник.Контрагенты_КонтактнаяИнформация;
end $$;