Configuring AIDB
================

AIDBを使用するには、\ ``shared_preload_libraries``
に追加し、データベースに拡張機能を作成し、インストールを確認します。

shared_preload_librariesの構成
------------------------------

1. ``postgresql.conf`` ファイルで、 ``aidb``
   を\ ``shared_preload_libraries`` パラメーターに追加します。

.. code:: ini

      shared_preload_libraries = aidb

!!!注 `shared_preload_libraries` に既に他の拡張機能がリストされている場合、コンマ区切りを使用して`aidb` を追加します。順序は関係ありません。 .. ::
   1. Postgresを再起動します。

拡張機能を作成します
--------------------

1. データベースにAIDB拡張機能を作成します。

.. code:: sql

      CREATE EXTENSION aidb CASCADE;

``CASCADE`` オプションは、必要な\ ``vector``
拡張機能がまだ存在していない場合は、自動的にインストールします。

!!!注PGDユーザーEDB
Postgres分散PGDを実行している場合、拡張機能を作成した後に次を実行して、レプリケーションセットにAIDBカタログテーブルを登録します。

.. code:: sql

      SELECT aidb.bdr_setup();

.. ::
   1. S3互換オブジェクトストアやローカルファイルシステムボリュームなどの外部データソースを使用する予定がある場合は、Postgres File SystemPGFS拡張機能もインストールします。

.. code:: sql

      CREATE EXTENSION pgfs;

詳細については、 :ref:`PGFS documentation </pg_extensions/pgfs/>` を参照してください。

VectorChordを有効にするオプショナル
-----------------------------------

VectorChordをインストールしている場合、データベースに拡張機能を作成します。

.. code:: sql

   CREATE EXTENSION vectorchord;

ハイブリッド検索BM25 +ベクターも有効にするには

.. code:: sql

   CREATE EXTENSION vectorchord_bm25;

VectorChordナレッジベースは、ナレッジベースレベルで構成できます。
`Knowledge bases <https://www.enterprisedb.com/docs/aidb/latest/knowledge-bases/>`_ を参照してください。

プロキシ設定
------------

ご使用の環境がプロキシを介してアウトバウンドHTTPトラフィックをルーティングする場合、
Postgres環境ファイルで\ ``HTTP_PROXY`` および\ ``HTTPS_PROXY``
環境変数を設定します。コミュニティPostgresを使用するUbuntuでは、このファイルは\ ``/etc/postgresql/<version>/main/environment``
にあります。

.. code:: bash

   echo "HTTP_PROXY = http://<your-proxy-settings>/" | sudo tee -a /etc/postgresql/16/main/environment
   echo "HTTPS_PROXY = http://<your-proxy-settings>/" | sudo tee -a /etc/postgresql/16/main/environment

次に、 Postgresを再起動して変更を有効にします。

.. code:: bash

   sudo systemctl restart postgresql@16-main

``<your-proxy-settings>`` をプロキシアドレスに置き換え、\ ``16``
をPostgresバージョンに置き換えます。環境ファイルの正確な場所については、Postgresディストリビューションのドキュメントを参照してください。

!!!注 エアギャップ環境は現在サポートされていません。

インストールの検証
------------------

psqlで\ ``\dx`` を実行し、出力で\ ``aidb`` 、\ ``vector`` 、\ ``pgfs``
インストールされている場合、および\ ``vectorchord``
および\ ``vectorchord_bm25``
これらの拡張機能がインストールされている場合を探すことにより、拡張機能がインストールされていることを確認します。

::

   aidb=# \dx
   __OUTPUT__
                                        List of installed extensions
          Name            | Version |   Schema   |                        Description
   - ----------------------+---------+------------+------------------------------------------------------------
    aidb                  | 7.3.1   | aidb       | aidb: makes it easy to build AI applications with postgres
    pgfs                  | 1.0.6   | pgfs       | pgfs: enables access to filesystem-like storage locations
    vector                | 0.8.0   | public     | vector data type and ivfflat and hnsw access methods
    vectorchord           | 0.3.0   | public     | vectorchord: fast vector search for postgres
    vectorchord_bm25      | 0.1.0   | public     | vectorchord_bm25: bm25 full-text search for postgres
