pgd node upgrade#

概要#

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

構文#

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 コマンドで使用可能なオプションをリストしています。

Short

Long

Default

Env

Description

-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 も参照してください。

例#

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

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

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バージョンをアップグレードする#

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バージョンをアップグレードする#

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バージョンをアップグレードする#

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拡張バージョンをアップグレードする#

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