pgd node upgrade
================

概要
----

``pgd node upgrade`` コマンドは、 EDB
Postgres分散クラスター内のノードのPostgreSQLバージョンをアップグレードするために使用されます。

構文
----

.. code:: plaintext

   pgd node <NODE_NAME> upgrade [OPTIONS] --old-bindir <OLD_BINDIR> --new-bindir <NEW_BINDIR> --old-datadir <OLD_DATADIR> --new-datadir <NEW_DATADIR> --database <DATABASE> --username <USER_NAME>

``<NODE_NAME>`` はアップグレードするノードの名前であり、
``<OLD_BINDIR>`` 、\ ``<NEW_BINDIR>`` 、\ ``<OLD_DATADIR>``
、\ ``<NEW_DATADIR>`` 、\ ``<DATABASE>`` 、および\ ``<USER_NAME>``
は、新旧のPostgresインスタンスのbinディレクトリ、新旧のPostgresインスタンスデータディレクトリ、データベース名、およびクラスターのインストールです。それぞれユーザー名。

オプション
----------

次の表は、\ ``pgd node upgrade``
コマンドで使用可能なオプションをリストしています。

.. csv-table::
  :header: Short,Long,Default,Env,Description
  :widths: 6,10,8,8,15
  :align: left
  :class: longtable

  -b,--old-bindir,"",PGBINOLD,古いPostgresインスタンスのbinディレクトリ
  -B,--new-bindir,"",PGBINNEW,新しいPostgresインスタンスのbinディレクトリ
  -d,--old-datadir,"",PGDATAOLD,古いPostgresインスタンスデータディレクトリ
  -D,--new-datadir,"",PGDATANEW,新しいPostgresインスタンスデータディレクトリ
  "",--database,"",PGDATABASE,PGDデータベース名
  -p,--old-port,5432,PGPORTOLD,古いPostgresインスタンスポート
  "",--socketdir,/var/run/postgresql,PGSOCKETDIR,アップグレード中にポストマスターソケットに使用するディレクトリ
  "",--new-socketdir,/var/run/postgresql,PGSOCKETDIRNEW,新しいクラスターのポストマスターソケットに使用するディレクトリ
  "",--check,"","",チェックのみを実行し、クラスターを変更しないように指定します
  -j,--jobs,1,"",同時に使用するプロセスまたはスレッドの数
  -k,--link,"","",新しいクラスターにファイルをコピーする代わりにハードリンクを使用する
  "",--old-options,"","",古いpostgresコマンドに渡すオプション、複数の呼び出しが追加されます
  "",--new-options,"","",新しいpostgresコマンドに渡すオプション、複数の呼び出しが追加されます
  -N,--no-sync,"","",アップグレードされたクラスター内のすべてのファイルがディスクに書き込まれるのを待たない
  -P,--new-port,5432,PGPORTNEW,新しいPostgresインスタンスのポート番号
  -r,--retain,"","",正常に完了した後でもSQLとログファイルを保持する
  -U,--username,"",PGUSER,クラスターのインストールユーザー名
  "",--clone,"","",効率的なファイルのクローン作成を使用する
  "",--copy-by-block,"","",異なる暗号化設定を使用するクラスター間でデータを移行するために使用されます。このオプションは、透過的データ暗号化TDEを使用するデータベースでサポートされています
  "",--key-unwrap-command,"",PGDATAKEYUNWRAPCMD,データ暗号化キーを解凍し復号化し、コピーするファイルにアクセスするコマンド。コマンドは、`pgd node setup`を使用したサーバーの初期化中に指定されたものと同じである必要があります

`Global Options <https://www.enterprisedb.com/docs/pgd/latest/reference/cli/command_ref/#global-options>`_  も参照してください。

例
--

次の例では、
“kaolin”は、クイックスタートデモクラスターからアップグレードするノードの名前です。

ノードのPostgreSQLバージョンをアップグレードする
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. code:: shell

   pgd node kaolin upgrade --old-bindir /usr/pgsql-16/bin --new-bindir /usr/pgsql-17/bin --old-datadir /var/lib/pgsql/16/data --new-datadir /var/lib/pgsql/17/data --database pgddb --username enterprisedb

ハードリンクを備えたノードのPostgreSQLバージョンをアップグレードする
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. code:: shell

   pgd node kaolin upgrade --old-bindir /usr/pgsql-16/bin --new-bindir /usr/pgsql-17/bin --old-datadir /var/lib/pgsql/16/data --new-datadir /var/lib/pgsql/17/data --database pgddb --username enterprisedb --link

効率的なファイルクローン作成を使用してノードのPostgreSQLバージョンをアップグレードする
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. code:: shell

   pgd node kaolin upgrade --old-bindir /usr/pgsql-16/bin --new-bindir /usr/pgsql-17/bin --old-datadir /var/lib/pgsql/16/data --new-datadir /var/lib/pgsql/17/data --database pgddb --username enterprisedb --clone

別のポート番号を持つノードのPostgreSQLバージョンをアップグレードする
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. code:: shell

   pgd node kaolin upgrade --old-bindir /usr/pgsql-16/bin --new-bindir /usr/pgsql-17/bin --old-datadir /var/lib/pgsql/16/data --new-datadir /var/lib/pgsql/17/data --database pgddb --username enterprisedb --old-port 5433 --new-port 5434

透過的データ暗号化TDEを使用してノードのPostgres拡張バージョンをアップグレードする
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. code:: shell

   pgd node kaolin upgrade --database pgddb -B /usr/lib/edb-pge/16/bin --socketdir /var/run/edb-pge/ --old-bindir /usr/lib/edb-pge/15/bin  --old-datadir /var/lib/edb-pge/15/main --new-datadir /var/lib/edb-pge/16/main --username postgres --key-unwrap-command "openssl enc -d -aes-128-cbc -pbkdf2 -pass pass:secret -in %p" --copy-by-block
