RDS for PostgreSQL のテーブルスペース
RDS for PostgreSQL では、互換性のためにテーブルスペースがサポートされています。すべてのストレージが 1 つの論理ボリューム上にあるため、I/O 分割または分離にテーブルスペースを使用することはできません。当社のベンチマークと経験は、ほとんどのユースケースで 単一の論理的なボリュームが最適なセットアップであることを示しています。
RDS for PostgreSQL DB インスタンスでテーブルスペースを作成して使用するには、rds_superuser
ロール が必要です。RDS for PostgreSQL DB インスタンスのメインユーザーアカウント (デフォルトの名前は postgres
) は、このロールのメンバーです。詳細については、「PostgreSQL のロールとアクセス権限について」を参照してください。
表空間の作成時にファイル名を指定する場合、パスの接頭辞は /rdsdbdata/db/base/tablespace
になります。次の例では、/rdsdbdata/db/base/tablespace/data
に表空間ファイルを配置しています。この例では、dbadmin
ユーザー (ロール) が存在し、テーブルスペースの操作に必要な rds_superuser
ロールが付与されていることを前提としています。
postgres=>
CREATE TABLESPACE act_data OWNER dbadmin LOCATION '/data';
CREATE TABLESPACE
PostgreSQL テーブルスペースの詳細については、PostgreSQL のドキュメントの「Tablespaces