ApsaraDB RDS for PostgreSQL のプライマリインスタンスで DuckDB アクセラレーションを有効にすることで、カラムストアエンジンを使用して分析クエリのパフォーマンスを向上させることができます。本トピックでは、ApsaraDB RDS for PostgreSQL のプライマリインスタンスで DuckDB アクセラレーションを有効にする方法について説明します。
前提条件
ApsaraDB RDS for PostgreSQL のプライマリインスタンスで DuckDB アクセラレーションを有効にする前に、インスタンスが次の要件を満たしている必要があります。
インスタンスの状態:実行中。
メジャーバージョン:PostgreSQL 13.0 以降。
エディション:Basic Edition または High-availability Edition。
説明Cluster Edition のインスタンスは DuckDB アクセラレーションをサポートしていません。
課金方法:サブスクリプションまたは従量課金。
マイナーバージョン:20260130 以降。
インスタンスパラメーター:次のパラメーターが指定どおりに設定されていること。
wal_level パラメーターが logical に設定されており、shared_preload_libraries に rds_duckdb が含まれており、max_replication_slots が 1024 以上に設定されており、max_worker_processes が 1024 以上に設定されており、max_wal_senders が 1024 以上に設定されていること。
インスタンスがディザスタリカバリインスタンスでないこと。
重要事項
行指向テーブルをカラムストアに変換すると、システムが追加のカラムデータを作成します。ストレージ領域が不足しないよう、ディスク使用率を監視してください。
プライマリインスタンスで DuckDB アクセラレーションを有効にすると、瞬断が発生します。オフピーク時間帯にこの操作を実行するか、アプリケーションに再接続メカニズムが備わっていることを推奨します。
プライマリインスタンスで DuckDB アクセラレーションを有効にした後は、DuckDB 読み取り専用インスタンスを追加できません。同様に、DuckDB 読み取り専用インスタンスを持つプライマリインスタンスでは、DuckDB アクセラレーションを有効にできません。
DuckDB アクセラレーションが有効なプライマリインスタンスに対してデータベース回復操作を実行した場合、回復によって作成された新しいインスタンスは DuckDB アクセラレーションを自動的に継承しません。再度手動で有効化する必要があります。
操作手順
ステップ 1:DuckDB アクセラレーションの有効化
ApsaraDB RDS コンソールにログインします。
左側のナビゲーションウィンドウで [Instances] をクリックします。上部のナビゲーションバーで、ご利用のインスタンスが配置されているリージョンを選択します。
ターゲットインスタンスを見つけ、インスタンス ID をクリックします。
次のいずれかの方法で DuckDB アクセラレーションページに移動します。
方法 1: インスタンス詳細ページの上部にある HTAP 高速化 をクリックします。
方法 2: インスタンス詳細ページの [Basic Information] セクションで、HTAP 高速化 を見つけ、[Settings] をクリックします。
RDS PG HTAP 高速化の事前チェック ダイアログボックスで、前提条件のチェック結果を確認します。
すべてのチェックが合格した場合は、確認 をクリックして DuckDB アクセラレーションの有効化を開始します。
いずれかのチェックが失敗した場合は、以下の手順に従って問題を解決してください。
自動修正可能な項目: Minor Version や Parameter Settings など、自動修正が可能な項目については、確認 をクリックします。システムが自動的に必要なアップグレードまたは構成を実行します。
手動修正が必要な項目: Major Version や Instance Resources など、手動での対応が必要な項目については、以下のドキュメントを参照して必要な操作を実行してください。その後、再度 DuckDB アクセラレーションの有効化を試みてください。
メジャーバージョンのアップグレード:ApsaraDB RDS for PostgreSQL インスタンスのメジャーバージョンをアップグレードする
仕様の変更:インスタンスの仕様を変更する

プロセスが完了するまで待ちます。DuckDB アクセラレーションが有効になると、インスタンス詳細ページの[基本情報]セクションで、HTAP 高速化ステータスが[有効]に変更されます。

ステップ 2:カラムストアの構成
プライマリインスタンスで DuckDB アクセラレーションを有効にした後、分析クエリに使用するテーブルに対して次の手順でカラムストアを構成します。
Data Management Service (DMS) または他のデータベースクライアントツールを使用して、特権アカウントでターゲットデータベースに接続します。
次の文を実行して rds_duckdb 拡張を作成します。
CREATE EXTENSION IF NOT EXISTS rds_duckdb;次の文を実行して、指定したテーブルをカラムストアに変換します。
単一テーブルの変換:
SELECT rds_duckdb.create_duckdb_table('your_table_name');説明TableNameは実際のテーブル名に置き換えてください。複数のテーブルを変換する場合は、このコマンドを複数回実行します。複数テーブルの一括変換:
SELECT rds_duckdb.create_duckdb_tables('{table_a,table_b,table_c}');説明複数のテーブルを一括で変換するには、複数形の
create_duckdb_tablesを使用します。テーブル名は中括弧で囲み、カンマで区切る必要があります。