ApsaraDB RDS for PostgreSQLでは、クラウド移行機能を使用して、Elastic Compute Service (ECS) インスタンスまたはデータセンターにデプロイされている自己管理型PostgreSQLインスタンスのデータをApsaraDB RDS for PostgreSQLインスタンスに移行できます。 このトピックでは、自己管理型postgresqlインスタンスのPostgreSQL. confファイルを設定する方法について説明します。
手順
このトピックでは、自己管理型PostgreSQLインスタンスとRDSインスタンスで、CentOS 7でPostgreSQL 13を実行します。
自己管理型PostgreSQLインスタンスに接続し、listen_addressesパラメーターの値とwal_keep_segmentsまたはwal_keep_sizeパラメーターの値を照会します。
パラメーター
説明
コマンド
期待値
listen_addresses
自己管理型PostgreSQLインスタンスがリモート接続をサポートするかどうかを指定します。
SHOW listen_addresses;
*
wal_keep_セグメント
pg_walディレクトリに保持できるログファイルの最小数を指定します。 このパラメーターを4096以上の値に設定することを推奨します。 このパラメーターの値が4096未満の場合、完全バックアップ後に自己管理型PostgreSQLインスタンスのWAL (write-ahead logging) レコードが削除されます。 この場合、自己管理型PostgreSQLインスタンスを再度バックアップする必要があります。
説明このパラメーターは、PostgreSQL 10、PostgreSQL 11、またはPostgreSQL 12を実行するセルフマネージド型PostgreSQLインスタンスに適しています。
SHOW wal_keep_segments;
4096
wal_keep_サイズ
pg_walディレクトリに保持できるログファイルの最小サイズを指定します。 このパラメーターを65536 MB以上の値に設定することを推奨します。 このパラメーターの値が65536 MB未満の場合、セルフマネージド型PostgreSQLインスタンスのWALレコードは完全バックアップ後に削除されます。 この場合、自己管理型PostgreSQLインスタンスを再度バックアップする必要があります。
説明このパラメーターは、PostgreSQL 13以降のバージョンを実行するセルフマネージド型PostgreSQLインスタンスに適しています。
SHOW wal_keep_size;
65536
パラメーターの値がビジネス要件を満たしている場合は、postgresql.confファイルを設定する必要はありません。 この場合、クラウド移行に使用するアカウントを作成します。 詳細については、「セルフマネージドPostgreSQLインスタンスでのクラウド移行用アカウントの作成」をご参照ください。
パラメーターの値がビジネス要件を満たしていない場合は、手順2に進みます。
PostgreSQLデータベースサービスを停止します。
説明postgresユーザーのみが、次のコマンドを実行する権限を持っています。
su - postgres
コマンドを実行して、postgresユーザーに切り替えることができます。/usr/pgsql-13/bin/pg_ctl stop -m fast
を検索するFind thepostgresql.confファイルを作成します。
説明rootユーザーのみが次のコマンドを実行する権限を持っています。
su - root
コマンドを実行して、rootユーザーに切り替えることができます。find / -name postgresql.conf
サンプル出力:
/var/lib/pgsql/13/data/postgresql.conf
ディレクトリに移動します。postgresql.confファイルが保存されます。
cd /var/lib/pgsql/13/data/
vim postgresql.conf
コマンドを実行し、postgresql.confファイルを開きます。 次に、listen_addressesパラメーターの値と、ファイル内のwal_keep_segmentsまたはwal_keep_sizeパラメーターの値を変更します。listen_addresses = '*' # If the self-managed PostgreSQL instance runs PostgreSQL 10, PostgreSQL 11, or PostgreSQL 12, perform the following modification: wal_keep_segments = 4096 # If the self-managed PostgreSQL instance runs PostgreSQL 13 or later versions, perform the following modification: wal_keep_size = 65536
説明前述のパラメータは、デフォルトでコメントアウトされてもよい。 パラメーターの値を変更した後、パラメーターが存在する行の先頭にある番号記号 (
#
) を削除する必要があります。プレスEcsと入力
: wq
postgresql.confファイルを保存して終了します。PostgreSQLデータベースサービスを開始します。
説明postgresユーザーのみが、次のコマンドを実行する権限を持っています。
su - postgres
コマンドを実行して、postgresユーザーに切り替えることができます。/usr/pgsql-13/bin/pg_ctl start