サービスの安定性とパフォーマンスを確保するため、PolarDB for PostgreSQL (Oracle 互換) はリソース使用量と機能に特定の制限を設けています。このドキュメントでは、これらの制限事項について説明し、アプリケーションの設計、データベースの運用保守 (O&M) の計画を支援し、制限を超えた場合に発生する可能性のある運用上の問題を未然に防ぐことを目的としています。
このプロダクトの制限事項には、クラウド環境における PolarDB 固有の制限と、PostgreSQL カーネルから継承される一般的な制限が含まれます。
PolarDB の制限事項
以下の制限事項は、PolarDB for PostgreSQL (Oracle 互換) に固有のものです。これらの制限は、マルチテナント環境における安定性、セキュリティ、リソースの隔離を確保するために設計されています。
最大ファイル数
PolarDB for PostgreSQL (Oracle 互換) では、1 つのクラスター内に作成できるファイルの総数に制限があります。この制限は、クラスターのノード仕様に依存します。この制限に達すると、新しいデータテーブルやインデックスを作成できなくなり、could not create file というエラーメッセージが返されます。
ファイルの構成:ファイルの総数には、ユーザーテーブルファイル、データベースシステムテーブルファイル、インデックスファイル、ログファイルが含まれます。標準的な非パーティションテーブルは、通常、データファイル、空き領域マップ (FSM) ファイル、可視性マップ (VM) ファイルの 3 つのファイルを使用します。テーブルにインデックスがある場合、各インデックスは追加で 1 つのファイルを使用します。
解決策:ファイル数の上限に達した場合は、未使用のテーブルやインデックスを削除することでリソースを解放できます。また、構成をアップグレードすることで、上限を引き上げることも可能です。
各仕様の制限詳細:
ノード仕様
最大ファイル数
polar.o.x4.medium
1048576
polar.o.x4.large
2097152
polar.o.x4.xlarge
2097152
polar.o.x8.xlarge
4194304
polar.o.x8.2xlarge
8388608
polar.o.x8.4xlarge
12582912
polar.o.x8.12xlarge
20971520
機能と権限の制限
項目 | 制約 | 説明 |
データベース権限 |
| 代わりに、システムは |
PostgreSQL の制限事項
PostgreSQL をベースとしたクラウドデータベースサービスであるため、PolarDB は PostgreSQL カーネルからデータベースオブジェクトに関する内部的な制限も継承しています。以下の表は、PostgreSQL バージョン全体で安定している共通のコアな制限事項をまとめたものです。データベースを設計する際には、これらの制限に特に注意してください。
制限対象 | 制限値 | 説明 |
データベースサイズ | 500 TB | デフォルトの最大ストレージ容量は 500 TB です。実際の容量は、ご利用のクラスターの仕様によって制限されます。 |
最大テーブルサイズ | 32 TB | これは、デフォルトの 8 KB ブロックサイズ ( |
テーブルあたりの最大列数 | 1,600 | 理論上の上限は 1,600 です。ただし、実際に使用可能な列数は、すべての列のデータ型に依存します。TOAST 値を除き、1 つのデータ行は 1 つのデータページ (約 8 KB) を超えることはできません。 |
最大フィールドサイズ | 1 GB |
|
識別子の長さ | 63 バイト | テーブルや列などのデータベースオブジェクト名の最大長です。これより長い名前は警告なく切り捨てられ、予期しない動作を引き起こす可能性があります。 |
テーブルあたりの最大インデックス数 | 無制限 | 理論上の制限はありません。実際に作成できるインデックスの数は、ストレージ容量、最大ファイル数、およびシステムリソースによって制限されます。 |
インデックス列 | 32 | 1 つのインデックスに含めることができる列の最大数です。 |
パーティションキー列 | 32 | パーティションテーブルを作成する際に、パーティションキーに含めることができる列の最大数です。 |
関数引数の数 | 100 | ユーザー定義関数の引数の最大数です。 |
クエリパラメーター数 | 65,535 | 1 つのクエリで使用できるパラメーターマーカー (例: |