PostgreSQL
Data source: External PostgreSQLStandard Edition+はじめに
PostgreSQL は外部データベースとして NocoBase に接続できます。接続すると、NocoBase は PostgreSQL 内のテーブル、フィールド、ビューを読み取り、外部データソースのデータテーブルとして使用できるようにします。
メインデータベースとは異なり、外部 PostgreSQL の実際のテーブル構造は、引き続き元の業務システム、データベースクライアント、またはマイグレーションスクリプトによって管理されます。NocoBase は構造の読み取り、フィールドメタデータの保存、ページブロック、権限、ワークフロー 、API の設定を担当します。
外部 PostgreSQL は、次のような用途に適しています。
- 既存の ERP、MES、WMS、CRM などの業務システムの PostgreSQL データベースに接続する
- 過去のデータを移行せずに、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」を無効にして、一覧から必要なデータテーブルまたはビューを選択してください。

1 つの外部データソースで一度に接続できるデータテーブルまたはビューは、最大 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」を手動で設定する必要があります。使用可能な一意識別子がない場合、ページブロックでレコードを正しく表示、編集、削除できないことがあります。

関連リンク
- 外部データベース — 外部データベースの共通設定と管理方法を確認
- データソース管理 — データソースへの入口と管理方法を確認
- データテーブルのフィールド — フィールドタイプとフィールドマッピングの説明を確認

