Managing OCI Database with PostgreSQL Configurations
Use configurations to manage variables and enable extensions for an OCI Database with PostgreSQL database system.
構成は変数のリストであり、データベースのチューニング、最適化または拡張に設定できる有効化および構成済の拡張です。デフォルト変数のセットは、データベース・システムに関連付けられたハードウェア・シェイプ用に最適化されています。多くの拡張機能は、データベース・システムに対して自動的に有効になります。
管理者は、新しいカスタム構成を作成するか、既存の構成をコピーして、より多くの変数を設定し、追加の拡張を有効にできます。構成がデータベースに割り当てられると、データベース管理者が有効な拡張を使用できます。
OCI Database with PostgreSQLサービスによって構成変数が最適化されるため、変更および管理が必要なのは上級ユーザーのみです。詳細は、PostgreSQLリファレンス・マニュアルを参照してください。
変数
シェイプ固有のデフォルト構成には、すぐに使用できるパフォーマンスと動作を提供するように最適化されている変数が含まれます。これらの変数は、新しいカスタム構成の作成または既存の構成のコピー時にカスタマイズし、カスタム構成をデータベース・システムに適用できます。
変数タイプには次のものがあります。
-
ユーザー変数。カスタム構成リストで変更できます。構成を作成またはコピーするときに、ユーザー変数を編集できます。一部のユーザー変数はデフォルトのユーザー変数です。これらのデフォルト・ユーザー変数は構成から削除できません。
- 動的変数。データベースを再起動せずに変更できます。
- 静的変数。変更するには、PostgreSQLを再起動する必要があります。
- システム変数。変更できません。システム変数は、データベースのシェイプまたは要件に従って定義されます。
特定の構成変数に関連付けられた値を表示するには、デフォルトの構成詳細の取得およびカスタム構成詳細の取得を参照してください。
構成変数の詳細情報
コミュニティ・バージョンのPostgreSQLは、Linux OSを使用してシステム上のメモリーを管理します。特に、Linuxカーネル・ページ・キャッシュを使用して、ほとんどのデータベース・ページのディスクに移動しないようにします。Linuxページ・キャッシュは非常に一般的で、PostgreSQL用にカスタマイズされていません。
対照的に、OCI Database with PostgreSQLは独自のメモリー管理を行います。PostgreSQLOCI Database with PostgreSQLを使用したOCI Databaseは、カスタム・ページ・キャッシュを実装しており、Linuxページ・キャッシュのみに依存していません。カスタム・ページ・キャッシュはユーザー・ランドに完全に実装され、PostgreSQLワークロード(二重バッファリングを回避するなど)に対してより効果的です。OCI Database with PostgreSQLでは、このカスタム・ページ・キャッシュ用に固定のメモリー部分が事前に割り当てられ、他の目的に使用されません。
OCI Database with PostgreSQLは、コミュニティ・バージョンと同様に、shared_buffers
に一定量のメモリーを割り当てるように設定されています。
oci.pagecache
とshared_buffers
の両方は、構成変数を使用して制御できます。
oci.pagecache_size
controls the amount of memory allocated to the OCI Database with PostgreSQL custom page cache.この変数がMiBytesに定義されています。shared_buffers
は、データ・ページのPostgreSQL共有メモリーに割り当てられるメモリーの量を制御します。この変数は、ブロック・サイズ単位(8KiB)で定義されます。
デフォルト値は、oci.pagecache_size
のメモリーが約50%、shared_buffers
のメモリーが25%です。デフォルト設定では、データベース・システムの合計メモリーの約75%が常に割り当てられます。メトリックでは、この量が使用済として表示されますが、このメモリーは意図したとおりにPostgreSQLデータ・バッファに使用され、悪影響は発生しません。
デフォルトでは、pg_cron
拡張はpostgres
データベースでのみ作成できます。拡張機能を作成しようとすると、ERROR: can only create extension in database postgres
などのエラー・メッセージが表示されることがあります。
他のデータベースに拡張を作成するには、カスタム構成でパラメータpg_cron.database_name
の値を調整する必要があります。たとえば:
pg_cron.database_name='<database_name>'
詳細は、pg_cron
を参照してください。
柔軟な構成と整数変数
一部のユーザー変数は整数値で指定されます。固定構成を使用している場合は、max_connections
などの変数を特定の値に設定できます。この値は後で変更できず、構成が他のデータベース・システムと互換性がない可能性があります。
柔軟な構成では、変数値に整数式を使用できます。整数式を使用する変数は、異なるハードウェア構成のデータベース・システムとともに柔軟にスケーリングできます。たとえば、max_connections
の設定値のかわりに、インスタンスのメモリーに関連付けることができます。
min(DB_INSTANCE_MEMORY_IN_BYTES/76251136,5000)
OCI Database with PostgreSQLでは、整数式で次の変数がサポートされています:
- 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
拡張機能
OCI Database with PostgreSQLでサポートされている特定の拡張機能は、使用する前に有効にする必要があります。これらの拡張機能は、構成を作成またはコピーするときに有効にできます。For more information, see Enabling Extensions for a Database and Supported PostgreSQL Extensions for OCI Database with PostgreSQL.
必要なIAMポリシー
次のポリシー・ステートメントを使用すると、管理者のグループがPostgreSQLOCI Database with PostgreSQLデータベース構成でOCI Databaseを管理できます:
Allow group <postgresql-admin-group> to read compartments in tenancy
Allow group <postgresql-admin-group> to manage postgres-configuration in [ tenancy | compartment <compartment_name> | compartment id <compartment_OCID> ]
Allow group <postgresql-admin-group> to use tag-namespaces in tenancy
For more information, see OCI Database with PostgreSQL Policies.
次のステップ
次のタスクを使用して、構成リストを管理します。