1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-11-27 22:18:36 +02:00
Files
OpenIntegrations/docs/ru/md/Instructions/PostgreSQL.md
2025-10-20 15:14:00 +03:00

7.5 KiB
Vendored

id, sidebar_class_name, keywords
id sidebar_class_name keywords
PostgreSQL PostgreSQL
1C
1С:Предприятие
1С:Предприятие 8.3
API
Интеграция
Сервисы
Обмен
OneScript
CLI
PostgreSQL
postgres

<img src={require('../../static/img/APIs/PostgreSQL.png').default} width='64px' />

PostgreSQL

Этот раздел посвящен библиотеке для работы с базами данных PostgreSQL в 1С:Предприятие, OneScript и CLI. На данной странице описаны все действия, необходимые для полноценного начала работы

<img src={require('../../static/img/addin.png').default} class="tipimage" />

Для реализации некоторых функции в этой библиотеке используется внешняя компонента
Пожалуйста, ознакомьтесь с разделом ["О внешних компонентах"](/docs/Start/Component-requirements) перед началом работы

<img src={require('../../static/img/lock.png').default} class="tipimage" />

Для работы этой библиотеки на Linux необходим **OpenSSL 3.x**
Узнать больше: "Об использовании OpenSSL во внешних компонентах"

О реализованных методах

Данная библиотека состоит из двух частей: основных методов, вроде подключения и выполнения SQL-запросов, и небольшой ORM для часто встречающихся операций, вроде CREATE, SELECT, INSERT, DELETE и пр. Работа через ORM и через тексты запросов, выполняемые функцией ВыполнитьЗапросSQL(), технически не отличается: ORM просто формирует текст SQL-запроса на основе макетов, но далее также выполняет их этой функцией

По умолчанию, все запросы SELECT возвращают массив выбранных данных, а остальные запросы - только true в поле result при успехе, либо false и текст ошибки в полях result и error соответственно. Для выполнения запросов, требующих возврата данных, но не являющихся запросами SELECT, в функции ВыполнитьЗапросSQL() есть параметр ФорсироватьРезультат

Параметры запросов

Коннектор PostgreSQL поддерживает использование позиционных параметров. Все значения, передаваемые как при прямом выполнении запросов через функцию ВыполнитьЗапросSQL(), так и в ORM методах с установкой значений, вроде ДобавитьЗаписи и ОбновитьЗаписи, должный представлять из себя структуру вида {'Тип данных': 'Значение'}. Поддерживаются следующие типы данных:

:::tip 🟢 - Реализовано, проверено; 🟡 - Реализовано, не проверено :::

Тип Поддержка Синонимы Допустимые нативные типы
BOOL 🟢 - Булево
"char" 🟢 OLDCHAR Число
SMALLINT 🟢 - Число
SMALLSERIAL 🟢 - Число
INT 🟢 - Число
SERIAL 🟢 - Число
BIGINT 🟢 - Число
BIGSERIAL 🟢 - Число
OID 🟢 - Число
REAL 🟢 - Число
DOUBLE PRECISION 🟢 DOUBLE_PRECISION Число
VARCHAR 🟢 - Строка
TEXT 🟢 - Строка
CHAR 🟢 - Строка
CITEXT 🟢 - Строка
NAME 🟢 - Строка
INET 🟢 - Строка
UUID 🟢 - Строка, УникальныйИдентификатор
TIMESTAMP 🟢 - Дата, Строка (ISO 8601, RFC 3339)
TIMESTAMP WITH TIME ZONE 🟢 TIMESTAMP_WITH_TIME_ZONE Дата (часовой пояс будет указан как UTC), Строка (RFC 3339)
DATE 🟢 - Дата (с любым временем), Строка (ISO 8601, RFC 3339)
TIME 🟢 - Дата (с любой датой), Строка (ISO 8601, RFC 3339)
BYTEA 🟢 - ДвоичныеДанные, Путь к файлу, Base64 строка (все приводится к Base64 строке)
JSON 🟢 - Массив, Структура, Соответствие, Строка (в JSON формате)
JSONB 🟢 - Массив, Структура, Соответствие, Строка (в JSON формате)
LTREE 🟡 - Строка
LQUERY 🟡 - Строка
LTXTQUERY 🟡 - Строка
HSTORE 🟡 - Структура, Соответствие

Аналогичный список типов доступен и для получения в качестве результатов запросов из PostgreSQL

Получение двоичных данных

Двоичные данные при получении из БД будут представлены как объект (структура) вида {"BYTES": "Base64 строка"} и должны быть преобразованы из Base64 вручную

TLS

Библиотека поддерживает работу в режиме TLS. Для его включения необходимо сформировать настройки TLS при помощи функции ПолучитьНастройкиTls, и передать их как соответствующий параметр в функцию ОткрытьСоединение или одну из функций ORM, поддерживающих данный параметр. Если параметр TLS при вызове этих функций не передан, соединение инициализируется в незащищенном режиме

:::tip Настройки Tls могут быть установлены только в момент создания соединения: явного, при использовании функции ОткрытьСоединение или неявного, при передаче строки подключения в методы ORM.

Передача настроек Tls совместно с передачей уже созданного соединения в параметр Соединение будет проигнорирована :::