PostgreSQL構成を使用したOCIデータベースの管理
PostgreSQLデータベース・システムでOCIデータベースのデータベース構成変数のリストを作成および使用します。
構成は、データベースをチューニングまたは最適化するために設定できる変数のリストです。データベース・システムを作成すると、データベース・システム構成に基づいて最適化された一連のデフォルト変数が適用されます。デフォルト値を調整し、カスタム構成リストとして保存して、他のデータベース・システムに適用できます。
PostgreSQLサービスを使用するOCIデータベースは構成変数を最適化するため、変更および管理が必要なのは上級ユーザーのみです。詳細は、PostgreSQLリファレンス・マニュアルを参照してください。
次のタスクを使用して、構成リストを管理します。
変数
各構成には変数のリストが含まれます。変数タイプ:
-
ユーザー変数。カスタム構成リストで変更できます。構成を作成またはコピーするときに、ユーザー変数を編集できます。一部のユーザー変数はデフォルトのユーザー変数です。これらのデフォルトのユーザー変数は構成を削除できません。
- 動的変数。データベースを再起動せずに変更できます。
- 静的変数。変更するには、PostgreSQLを再起動する必要があります。
- システム変数。変更できません。システム変数は、データベースのシェイプまたは要件に従って定義されます。
特定の構成変数に関連付けられた値を表示するには、デフォルトの構成詳細の取得およびカスタム構成詳細の取得を参照してください。
構成変数の詳細情報
PostgreSQLのコミュニティ・バージョンは、Linux OSを使用してシステム上のメモリーを管理します。特に、ほとんどのデータベース・ページのディスクに移動しないように、Linuxカーネル・ページ・キャッシュを使用します。Linuxページ・キャッシュは非常に一般的であり、PostgreSQL用にカスタマイズされていません。
一方、PostgreSQLを使用するOCIデータベースは、独自のメモリー管理を行います。OCI Database with PostgreSQLは、カスタム・ページ・キャッシュを実装し、Linuxページ・キャッシュのみに依存しません。カスタム・ページ・キャッシュは、ユーザー・ランドに完全に実装され、PostgreSQLワークロード(二重バッファリングの回避など)に対してより効果的です。PostgreSQLを使用するOCIデータベースでは、このカスタム・ページ・キャッシュに固定部分のメモリーが事前に割り当てられ、他の目的では使用されません。
PostgreSQLを使用したOCIデータベースは、コミュニティ・バージョンと同様に、shared_buffers
にメモリー量を割り当てるように設定されています。
oci.pagecache
とshared_buffers
の両方は、構成変数を使用して制御できます。
oci.pagecache_size
は、PostgreSQLカスタム・ページ・キャッシュを使用してOCIデータベースに割り当てられるメモリー量を制御します。この変数は、MiBytesで定義されます。shared_buffers
は、データ・ページのPostgreSQL共有メモリーに割り当てられるメモリーの量を制御します。この変数は、ブロック・サイズ単位(8KiB)で定義されます。
デフォルト値は、oci.pagecache_size
の場合は約50%、shared_buffers
の場合は25%のメモリーです。デフォルト設定では、データベース・システムの合計メモリーの約75%が常に割り当てられます。「メトリック」では、この量が使用済として表示されますが、このメモリーは意図したとおりにPostgreSQLデータ・バッファに使用され、悪影響は発生しません。
柔軟な構成と整数変数
一部のユーザー変数は整数値で指定されます。固定構成を使用している場合は、max_connections
などの変数を特定の値に設定できます。この値は後で変更できず、構成が他のデータベース・システムと互換性を持たない可能性があります。
柔軟な構成では、変数値に整数式を使用できます。整数式を使用する変数は、異なるハードウェア構成のデータベース・システムとともに柔軟にスケーリングできます。たとえば、max_connections
の設定値のかわりに、それをインスタンスのメモリーに結び付けることができます。
min(DB_INSTANCE_MEMORY_IN_BYTES/76251136,5000)
PostgreSQLを持つOCIデータベースでは、整数式で次の変数がサポートされます:
- DB_INSTANCE_OCPU_COUNT
- DB_INSTANCE_MEMORY_IN_BYTES
- DB_INSTANCE_MEMORY_IN_KILOBYTES
- DB_INSTANCE_MEMORY_IN_MEGABYTES
- DB_INSTANCE_MEMORY_IN_GIGABYTES
- DB_INSTANCE_MEMORY_IN_TERABYTES
必要なIAMポリシー
次のポリシー・ステートメントを使用すると、管理者のグループがPostgreSQLリソースを使用してOCIデータベースを管理できます:
Allow group <postgresql-admin-group> to manage postgres-db-systems in compartment <database_compartment>
Allow group <postgresql-admin-group> to manage postgres-backups in compartment <database_compartment>
Allow group <postgresql-admin-group> to manage postgres-configurations in compartment <database_compartment>
Allow group <postgresql-admin-group> to read postgres-work-requests in compartment <database_compartment>
詳細は、PostgreSQLポリシーを含むOCIデータベースを参照してください。