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インスタンスがリモート接続をサポートするかどうかを指定します。
ショーlisten_addresses;
*
wal_keep_セグメント
pg_walディレクトリに保持できるログファイルの最小数を指定します。 このパラメーターを4096以上の値に設定することを推奨します。 このパラメーターの値が4096未満の場合、完全バックアップ後に自己管理型PostgreSQLインスタンスのWAL (write-ahead logging) レコードが削除されます。 この場合、自己管理型PostgreSQLインスタンスを再度バックアップする必要があります。
説明このパラメーターは、PostgreSQL 10、PostgreSQL 11、またはPostgreSQL 12を実行するセルフマネージド型PostgreSQLインスタンスに適しています。
ショーwal_keep_segments;
4096
wal_keep_サイズ
pg_walディレクトリに保持できるログファイルの最小サイズを指定します。 このパラメーターを64 GB以上の値に設定することを推奨します。 このパラメーターの値が64 GB未満の場合、セルフマネージド型PostgreSQLインスタンスのWALレコードは完全バックアップ後に削除されます。 この場合、自己管理型PostgreSQLインスタンスを再度バックアップする必要があります。
説明このパラメーターは、PostgreSQL 13、PostgreSQL 14、またはPostgreSQL 15を実行するセルフマネージド型PostgreSQLインスタンスに適しています。
ショーwal_keep_size;
64GB
パラメーターの値がビジネス要件を満たしている場合は、postgresql.confファイルを設定する必要はありません。 この場合、クラウド移行に使用するアカウントを作成します。 詳細については、「セルフマネージドPostgreSQLインスタンスでのクラウド移行用アカウントの作成」をご参照ください。
パラメーターの値がビジネス要件を満たしていない場合は、手順2に進みます。
PostgreSQLデータベースサービスを停止します。
説明postgresユーザーのみが、次のコマンドを実行する権限を持っています。
su - postgres
コマンドを実行して、postgresユーザーに切り替えることができます。/usr/pgsql-13/bin/pg_ctl stop -m fast
postgresql.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 = '*' # 自己管理型PostgreSQLインスタンスがPostgreSQL 10、PostgreSQL 11、またはPostgreSQL 12を実行している場合は、次の変更を実行します。wal_keep_segments = 4096 # 自己管理型PostgreSQLインスタンスがPostgreSQL 13またはPostgreSQL 14を実行している場合は、次の変更を実行します。wal_keep_size = 65536
説明前述のパラメータは、デフォルトでコメントアウトされてもよい。 パラメーターの値を変更した後、パラメーターが存在する行の先頭にある番号記号 (
#
) を削除する必要があります。Ecsを押して
:wq
と入力し、postgresql.confファイルを保存して終了します。PostgreSQLデータベースサービスを開始します。
説明postgresユーザーのみが、次のコマンドを実行する権限を持っています。
su - postgres
コマンドを実行して、postgresユーザーに切り替えることができます。/usr/pgsql-13/bin/pg_ctl start