PostgreSQL
Источник данных: внешний PostgreSQLStandard Edition+Введение
PostgreSQL можно подключить к NocoBase в качестве внешней базы данных. После подключения NocoBase считывает таблицы, поля и представления из PostgreSQL и использует их как таблицы данных внешнего источника данных.
В отличие от основной базы данных, фактическая структура таблиц внешнего PostgreSQL по-прежнему поддерживается исходной бизнес-системой, клиентом базы данных или скриптами миграции. NocoBase отвечает за чтение структуры, сохранение метаданных полей, настройку блоков страниц, прав доступа, рабочих процессов и API.
Внешний PostgreSQL подходит для следующих сценариев:
- Подключени е к базам данных PostgreSQL существующих бизнес-систем ERP, MES, WMS, CRM и других
- Создание интерфейса управления в NocoBase без переноса исторических данных
- Настройка прав доступа, обработка рабочих процессов, исправление данных или создание отчётов для существующих таблиц
- Поддержка структуры базы данных по-прежнему осуществляется DBA, скриптами миграции или исходной системой
Внешний PostgreSQL не является системной базой данных NocoBase. NocoBase не управляет её резервным копированием, восстановлением, миграцией и изменением структуры таблиц.
Установка плагина
Этот плагин является коммерческим. Подробные сведения об активации см. в руководстве по активации коммерческих плагинов
Добавление источника данных
В разделе «Управление и сточниками данных» нажмите «Add new», выберите PostgreSQL и укажите параметры подключения.

Основные параметры подключения:
Если в PostgreSQL много объектов, сначала сузьте область с помощью Schema, Table prefix и «Collections». Подключайте только таблицы и представления, используемые текущим приложением: это упростит последующую настройку прав доступа, создание страниц и синхронизацию.
Выбор таблиц данных
После указания параметров подключения можно нажать «Load Collections», чтобы загрузить доступные таблицы и представления PostgreSQL. Результаты загрузки зависят от учётной записи подключения, Schema, Table prefix и настроек «Collections».
По умолчанию включён параметр «Add all collections», то есть подключаются все таблицы и представления в текущей области. Если необходимо подключить только некоторые объекты, отключите «Add all collections», а затем выберите нужные таблицы или представления в списке.

Один внешний источник данных может одновременно подключить не более 500 таблиц или представлений. Если в PostgreSQL много объектов, рекомендуется сначала сузить область с помощью Schema, Table prefix или «Collections».
Синхронизация и настройка полей
Структура таблиц внешнего PostgreSQL поддерживается на стороне базы данных. NocoBase не создаёт поля во внешнем PostgreSQL, не изменяет типы полей и не удаляет существующие поля.
Если структура таблиц на стороне PostgreSQL изменится, в источнике данных можно выполнить «Sync from database», чтобы заново считать метаданные таблиц и полей. Синхронизация обновит сохранённые в NocoBase таблицы данных, поля, первичные ключи, уникальные ключи и сведения о сопоставлении типов полей, но не удалит реальные таблицы или данные в PostgreSQL.
После синхронизации полей в NocoBase можно настроить заголовок поля, тип поля (Field type) и компонент поля (Field interface). Если необходимо создать поле связи NocoBase, метаданные связи также сохраняются в NocoBase; реальные внешние ключи в таблице PostgreSQL автоматически не добавляются.
Сопоставление типов полей
NocoBase автоматически сопоставляет типы полей PostgreSQL с подходящими Field type и Field interface. Способ отображения в интерфейсе можно изменить в настройках поля.
Основные варианты сопоставления:
Неподдерживаемые типы полей PostgreSQL отображаются отдельно в настройках полей. Чтобы использовать такие поля в NocoBase как обычные, потребуется разработать адаптер.
Первичный ключ и уникальный идентификатор записи
Для таблиц данных, используемых в блоках страниц для отображения и редактирования, рекомендуется наличие первичного ключа или уникального поля. В качестве уникального идентификатора записи NocoBase в первую очередь использует первичный ключ.
Если подключается представление, таблица без первичного ключа или таблица с составным первичным ключом, необходимо вручную задать «Record unique key» в настройках таблицы данных. Если доступный уникальный идентификатор отсутствует, блоки страниц могут неправильно отображать, редактировать или удалять записи.

Связанные ссылки
- Внешняя база данных — общие сведения о настройке и управлении внешними базами данных
- Управление источниками данных — сведения о доступе к источникам данных и способах управления ими
- Поля таблицы данных — сведения о типах полей и их сопоставлении

