Принцип использования
В базе данных 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_1c | varchar | - | Таблица 1С | ||
| server_1c | varchar | - | Сервер 1С (необязательный, по умолчанию DEFAULT) | ||
| schema | name | - | Схема создаваемой таблицы в PostgreSQL (необязательный, по умолчанию тип объекта конфигурации 1С) | ||
| table_name_pg | name | - | Имя создаваемой таблицы в 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_1c | varchar | - | Сервер 1С (необязательный, по умолчанию DEFAULT) | ||
| commit_tables | int | - | Количество таблиц, создаваемых в одной транзакции. Значение 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 $$;