Overview
========

データベースで透過的データ暗号化TDEの使用を開始する場合は、新しいTDE対応データベースサーバーを作成するか、既存のデータベースサーバーをTDE対応環境に移行します。既存のインスタンスでTDEを有効にすることはできません。

データベースサーバーをスクラッチから作成するか、新しいインスタンスを作成して既存のデータベースサーバーを移行するかに関係なく、
`initdb <https://www.postgresql.org/docs/15/app-initdb.html>`_ を使用してデータベースクラスターを初期化することにより、TDE対応データベースを作成する必要があります。

始める前に
----------

-  TDEによって生成された :ref:`secure the data encryption key <secure_key>` の方法を選択します。 :ref:`Using a passphrase <Using a passphrase>` 
   、 :ref:`Using a key store <Using a key store>` からのラッピングキーでそれらのキーを保護するか、テストのために :ref:`Disabling the key wrapping <Disabling the key wrapping>` を選択できます。

-  :ref:`initdb TDE options <initdb TDE options>` を確認して、TDE対応データベースクラスターの初期化に必要なすべての情報を持っていることを確認します。

-  :ref:`Limitations <Limitations>` を確認して、TDEを有効にした場合のPostgreSQLユーティリティの処理の制限と変更を理解します。

-  既存のデータベースサーバーからデータを移行する予定がある場合は、ソースデータベースサーバーのバックアップを必ず実行してください。

サーバーの初期化
----------------

1. Wrappingおよびunwrappingコマンドをエクスポートして、暗号化キーを保護します。計画段階で選択したラッピング方法を使用します。

または、コマンドライン引数でサーバーを初期化するときに、ラッピングおよびアンラップコマンドを提供できます。

例については、 :ref:`TDEにラッピングおよびアンラップコマンドを提供する <TDEにラッピングおよびアンラップコマンドを提供する>` を参照してください。

1. ターゲットディレクトリで\ ``--data-encryption``
   を有効にしてデータベースサーバーを初期化します。必要に応じて、他の :ref:`initdb TDE options <initdb TDE options>` を含めます。

2. データベースクラスターと :ref:`Verifying TDE is enabled <Verifying TDE is enabled>` を起動します。

詳細な初期化例については、 :ref:`Tutorials <Tutorials>` を参照してください。

データの移行既存のインスタンスの場合
------------------------------------

既存のデータベースサーバーからデータとオブジェクトを移行する場合は、
``pg_upgrade`` を使用して既存のインスタンスからデータをコピーします。

1. ソースサーバーと新しいサーバーの両方を停止します。

2. ``pg_upgrade`` と\ ``--copy-by-block``
   オプションを使用して、ソースサーバーから新しいサーバーにデータをコピーします。必要に応じて、他の :ref:`pg_upgrade TDE options <pg_upgrade TDE options>` を含めます。

3. 新しい暗号化されたデータベースサーバーを起動します。

4. 暗号化されたデータベースサーバーに接続し、データが転送されたことを確認します。

5. 必要なクリーンアップ操作を実行します。

..  Note ::
   サポートされている有効化と移行のユースケースの概要については、 :ref:`Upgrading a TDE-enabled database <Upgrading a TDE-enabled database>` を参照してください。

詳細な移行例については、 :ref:`Tutorials <Tutorials>` を参照してください。

チュートリアル
--------------

-  :ref:`Creating a database with TDE <Creating a database with TDE>`  。

-  :ref:`Enabling TDE on an existing EDB Postgres Advanced Server <Enabling TDE on an existing EDB Postgres Advanced Server>`  。

-  :ref:`Upgrading PostgreSQL to EDB Postgres Extended Server while enabling TDE <Upgrading PostgreSQL to EDB Postgres Extended Server while enabling TDE>`  。
