安定性とパフォーマンスを確保するため、PolarDB for PostgreSQL には、リソース使用量と機能に関する特定の制限があります。このドキュメントでは、これらの制限について説明し、アプリケーションの設計とデータベースの効果的な管理に役立て、制限を超えた場合に発生する可能性のある運用上の問題を回避できるようにします。
このプロダクトは、クラウド環境における PolarDB 固有の制限と、PostgreSQL カーネルから継承された一般的な制限の両方を受けます。
PolarDB 固有の制限
以下のルールは、PolarDB for PostgreSQL に固有のものです。これらのルールは、マルチテナンシー環境における安定性、セキュリティ、およびリソースの隔離を確保するために設けられています。
最大ファイル数
PolarDB for PostgreSQL は、単一のクラスターで作成できるファイルの総数を制限します。この制限は、クラスターのノード仕様に直接関連しています。ファイル数がこの制限に達すると、新しいデータテーブルやインデックスを作成できなくなり、could not create file エラーが表示されます。
ファイルの構成: ファイルの総数には、ユーザーテーブルファイル、データベースシステムテーブルファイル、インデックスファイル、ログファイルが含まれます。通常の非パーティションテーブルは、通常 3 つのファイル (データファイル、空き領域マップ (FSM) ファイル、可視性マップ (VM) ファイル) を使用します。テーブルにインデックスがある場合、各インデックスには追加のファイルが 1 つ必要です。
解決策: クラスターがファイル制限に達した場合は、未使用のテーブルまたはインデックスを削除してリソースを解放します。また、構成をアップグレード構成をアップグレードして制限を増やすこともできます。
各仕様の制限:
ノード仕様
最大ファイル数
polar.pg.x4.medium
1048576
polar.pg.x4.large
2097152
polar.pg.x4.xlarge
2097152
polar.pg.x8.xlarge
4194304
polar.pg.x8.2xlarge
8388608
polar.pg.x8.4xlarge
12582912
polar.pg.x8.12xlarge
20971520
機能と権限の制限
項目 | 制限 | 説明 |
データベース権限 |
| 代わりに、システムは |
継承された PostgreSQL の制限
PostgreSQL ベースのクラウドデータベースとして、PolarDB はデータベースオブジェクトに対する PostgreSQL カーネルの内部制限も継承します。次の表に、データベース設計時に考慮すべき主要な制限を示します。
制限オブジェクト | 制限値 | 説明 |
データベースサイズ | 500 TB/無制限 | この制限は、PolarDB クラスターのタイプによって異なります:
|
最大テーブルサイズ | 32 TB | これは、デフォルトの 8 KB ブロック ( |
テーブルあたりの最大列数 | 1,600 | 理論上の制限は 1,600 です。ただし、使用可能な実際の列数は、すべての列のデータ型の合計によって異なります。TOAST 値を除き、1 つの行が 1 つのデータページ (約 8 KB) を超えることはできません。 |
最大フィールドサイズ | 1 GB | この制限は、 |
識別子の長さ | 63 バイト | これは、テーブルや列などのデータベースオブジェクトの名前の最大長です。長い名前は暗黙的に切り捨てられ、予期しない動作を引き起こす可能性があります。 |
テーブルあたりの最大インデックス数 | 無制限 | 理論的には上限はありません。作成できるインデックスの実際の数は、ストレージ容量、最大ファイル数、およびシステムリソースによって制限されます。 |
インデックス列 | 32 | 単一のインデックスに含めることができる列の最大数。 |
パーティションキー列 | 32 | パーティションテーブルを作成するときにパーティションキーに含めることができる列の最大数。 |
関数パラメーター | 100 | ユーザー定義関数のパラメーターの最大数。 |
クエリパラメーター | 65,535 |
|