1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-11-29 22:27:42 +02:00

Дополнение перевода

This commit is contained in:
Anton Titovets
2025-06-17 15:26:11 +03:00
parent 6b38814bb9
commit 6da67d8cd4
2 changed files with 8309 additions and 8307 deletions

View File

@@ -1,88 +1,88 @@
---
id: PostgreSQL
sidebar_class_name: PostgreSQL
keywords: [1C, 1С, 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. На данной странице описаны все действия, необходимые для полноценного начала работы
<div class="theme-admonition theme-admonition-info admonition_node_modules-@docusaurus-theme-classic-lib-theme-Admonition-Layout-styles-module alert alert--info">
<img src={require('../../static/img/addin.png').default} class="tipimage" />
<div class="addin">Для реализации некоторых функции в этой библиотеке используется внешняя компонента <br/>
Пожалуйста, ознакомьтесь с разделом ["О внешних компонентах"](/docs/Start/Component-requirements) перед началом работы</div>
</div>
<div class="theme-admonition theme-admonition-caution admonition_node_modules-@docusaurus-theme-classic-lib-theme-Admonition-Layout-styles-module alert alert--warning">
<img src={require('../../static/img/lock.png').default} class="tipimage" />
<div class="addin">Для работы этой библиотеки на Linux необходим **OpenSSL 3.x** <br/>
Узнать больше: <a href="/docs/Start/Component-requirements#openssl" class="orangelink">"Об использовании OpenSSL во внешних компонентах"</a></div>
</div>
## О реализованных методах
Данная библиотека состоит из двух частей: основных методов, вроде подключения и выполнения 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
## TLS
Библиотека поддерживает работу в режиме TLS. Для его включения необходимо сформировать настройки TLS при помощи функции `ПолучитьНастройкиTls`, и передать их как соответствующий параметр в функцию `ОткрытьСоединение` или одну из функций ORM, поддерживающих данный параметр. Если параметр TLS при вызове этих функций не передан, соединение инициализируется в незащищенном режиме
:::tip
Настройки Tls могут быть установлены только в момент создания соединения: явного, при использовании функции `ОткрытьСоединение` или неявного, при передаче строки подключения в методы ORM.
Передача настроек Tls совместно с передачей уже созданного соединения в параметр Соединение будет проигнорирована
:::
## Совместимость
---
id: PostgreSQL
sidebar_class_name: PostgreSQL
keywords: [1C, 1С, 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. На данной странице описаны все действия, необходимые для полноценного начала работы
<div class="theme-admonition theme-admonition-info admonition_node_modules-@docusaurus-theme-classic-lib-theme-Admonition-Layout-styles-module alert alert--info">
<img src={require('../../static/img/addin.png').default} class="tipimage" />
<div class="addin">Для реализации некоторых функции в этой библиотеке используется внешняя компонента <br/>
Пожалуйста, ознакомьтесь с разделом ["О внешних компонентах"](/docs/Start/Component-requirements) перед началом работы</div>
</div>
<div class="theme-admonition theme-admonition-caution admonition_node_modules-@docusaurus-theme-classic-lib-theme-Admonition-Layout-styles-module alert alert--warning">
<img src={require('../../static/img/lock.png').default} class="tipimage" />
<div class="addin">Для работы этой библиотеки на Linux необходим **OpenSSL 3.x** <br/>
Узнать больше: <a href="/docs/Start/Component-requirements#openssl" class="orangelink">"Об использовании OpenSSL во внешних компонентах"</a></div>
</div>
## О реализованных методах
Данная библиотека состоит из двух частей: основных методов, вроде подключения и выполнения 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
## TLS
Библиотека поддерживает работу в режиме TLS. Для его включения необходимо сформировать настройки TLS при помощи функции `ПолучитьНастройкиTls`, и передать их как соответствующий параметр в функцию `ОткрытьСоединение` или одну из функций ORM, поддерживающих данный параметр. Если параметр TLS при вызове этих функций не передан, соединение инициализируется в незащищенном режиме
:::tip
Настройки Tls могут быть установлены только в момент создания соединения: явного, при использовании функции `ОткрытьСоединение` или неявного, при передаче строки подключения в методы ORM.
Передача настроек Tls совместно с передачей уже созданного соединения в параметр Соединение будет проигнорирована
:::
## Совместимость
Технически, реализация коннектора представляет из себя Native компоненту на Rust. Она поставляется в формате zip-архива со сборками для всех основных платформ: x86 и x64 Windows и Linux. Фактическое тестирование проводилось на Windows x64 и, косвенно (через OneScript), на Linux x64