OCI Database with PostgreSQL-Konfigurationen verwalten
Verwenden Sie Konfigurationen, um Variablen zu verwalten und Erweiterungen für ein OCI Database with PostgreSQL-Datenbanksystem zu aktivieren.
Konfigurationen sind Variablenlisten sowie aktivierte und konfigurierte Erweiterungen, die Sie zum Optimieren, Optimieren oder Erweitern einer Datenbank festlegen können. Sets von Standardvariablen sind für die Hardwareausprägungen optimiert, die mit Datenbanksystemen verknüpft sind. Viele Erweiterungen werden automatisch für Datenbanksysteme aktiviert.
Administratoren können weitere Variablen festlegen und zusätzliche Erweiterungen aktivieren, indem sie eine neue benutzerdefinierte Konfiguration erstellen oder eine vorhandene Konfiguration kopieren. Nachdem eine Konfiguration einer Datenbank zugewiesen wurde, stehen dem Datenbankadministrator alle aktivierten Erweiterungen zur Verfügung.
Da der OCI Database with PostgreSQL-Service Konfigurationsvariablen für Sie optimiert, müssen möglicherweise nur fortgeschrittene Benutzer diese ändern und verwalten. Weitere Informationen finden Sie im PostgreSQL-Referenzhandbuch.
Variablen
Ausprägungsspezifische Standardkonfigurationen umfassen Variablen, die optimiert wurden, um eine optimale Out-of-the-box-Performance und -Verhalten zu bieten. Sie können diese Variablen anpassen, wenn Sie eine neue benutzerdefinierte Konfiguration erstellen oder eine vorhandene Konfiguration kopieren und die benutzerdefinierte Konfiguration auf ein Datenbanksystem anwenden.
Zu den Variablentypen gehören:
-
Benutzervariablen, die in einer benutzerdefinierten Konfigurationsliste geändert werden können. Sie können Benutzervariablen bearbeiten, wenn Sie eine Konfiguration erstellen oder kopieren. Einige Benutzervariablen sind Standardbenutzervariablen. Sie können diese Standardbenutzervariablen nicht aus einer Konfiguration entfernen.
- Dynamische Variablen, die ohne Neustart der Datenbank geändert werden können.
- Statische Variablen, bei denen PostgreSQL neu gestartet werden muss, um geändert zu werden.
- Systemvariablen, die nicht geändert werden können. Systemvariablen werden entsprechend den Ausprägungen oder Anforderungen der Datenbank definiert.
Informationen zum Anzeigen der Werte, die mit einer bestimmten Konfigurationsvariablen verknüpft sind, finden Sie unter Standardkonfigurationsdetails abrufen und Benutzerdefinierte Konfigurationsdetails abrufen.
Weitere Informationen für Konfigurationsvariablen
Die Communityversion von PostgreSQL basiert auf dem Linux-BS, um den Speicher im System zu verwalten. Unter anderem verwendet es den Linux-Kernel-Seitencache, um zu vermeiden, dass die meisten Datenbankseiten auf die Festplatte gehen. Der Linux-Seitencache ist unbedingt sehr allgemein und wird nicht für PostgreSQL angepasst.
Im Gegensatz dazu führt OCI Database with PostgreSQL eine eigene Speicherverwaltung durch. OCI Database with PostgreSQL hat einen benutzerdefinierten Seitencache implementiert und verlässt sich nicht nur auf den Linux-Seitencache. Der benutzerdefinierte Seitencache ist vollständig im User Land implementiert und für PostgreSQL-Workloads effektiver (z. B. Vermeidung von Doppelpufferung). OCI Database with PostgreSQL weist einen festen Teil des Speichers für diesen benutzerdefinierten Seitencache vor und verwendet ihn nicht für andere Zwecke.
OCI Database with PostgreSQL ist, wie die Communityversion, so eingerichtet, dass shared_buffers
eine gewisse Arbeitsspeichermenge zugewiesen wird.
Sowohl oci.pagecache
als auch shared_buffers
können mit Konfigurationsvariablen gesteuert werden.
oci.pagecache_size
steuert die Speichermenge, die der benutzerdefinierten OCI Database with PostgreSQL-Seitencache zugewiesen ist. Diese Variable wurde in MiBytes definiert.shared_buffers
steuert die Speichermenge, die dem gemeinsamen PostgreSQL-Speicher für Datenseiten zugewiesen ist. Diese Variable wird in Blockgrößeneinheiten (8KiB) definiert.
Die Standardwerte sind ungefähr 50% Arbeitsspeicher für oci.pagecache_size
und 25% Arbeitsspeicher für shared_buffers
. Bei Standardeinstellungen werden immer etwa 75% des gesamten Speichers des Datenbanksystems zugewiesen. Metriken zeigen diesen Betrag als verwendet an. Dieser Speicher wird jedoch für PostgreSQL-Datenpuffer wie vorgesehen verwendet und führt nicht zu negativen Auswirkungen.
Standardmäßig kann die Erweiterung pg_cron
nur in der Datenbank postgres
erstellt werden. Wenn Sie versuchen, die Erweiterung zu erstellen, wird möglicherweise eine Fehlermeldung wie ERROR: can only create extension in database postgres
angezeigt.
Um die Erweiterung in einer anderen Datenbank zu erstellen, müssen Sie den Wert des Parameters pg_cron.database_name
in einer benutzerdefinierten Konfiguration anpassen. Beispiel:
pg_cron.database_name='<database_name>'
Weitere Informationen finden Sie unter pg_cron
.
Flexible Konfigurationen und Ganzzahlvariablen
Einige Benutzervariablen werden durch Ganzzahlwerte angegeben. Wenn Sie eine feste Konfiguration verwenden, können Sie eine Variable wie max_connections
auf einen bestimmten Wert setzen. Dieser Wert kann später nicht mehr geändert werden und die Konfiguration möglicherweise nicht mit anderen Datenbanksystemen kompatibel machen.
Mit einer flexiblen Konfiguration können Sie ganzzahlige Ausdrücke für Variablenwerte verwenden. Variablen, die Ganzzahlausdrücke verwenden, können flexibel zusammen mit Datenbanksystemen unterschiedlicher Hardwarekonfigurationen skaliert werden. Beispiel: Anstelle eines festgelegten Wertes für max_connections
können Sie ihn mit dem Speicher der Instanz verknüpfen:
min(DB_INSTANCE_MEMORY_IN_BYTES/76251136,5000)
OCI Database with PostgreSQL unterstützt die folgenden Variablen in ganzzahligen Ausdrücken:
- 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
Erweiterungen
Bestimmte Erweiterungen, die von OCI Database with PostgreSQL unterstützt werden, müssen aktiviert sein, bevor sie verwendet werden können. Sie können diese Erweiterungen aktivieren, wenn Sie eine Konfiguration erstellen oder kopieren. Weitere Informationen finden Sie unter Erweiterungen für eine Datenbank aktivieren und Unterstützte PostgreSQL-Erweiterungen für OCI Database with PostgreSQL.
Erforderliche IAM-Policy
Mit den folgenden Policy-Anweisungen kann eine Gruppe von Administratoren OCI Database with PostgreSQL-Datenbankkonfigurationen verwalten:
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
Weitere Informationen finden Sie unter OCI Database with PostgreSQL-Policys.
Nächste Schritte
Verwalten Sie Konfigurationslisten mit den folgenden Aufgaben: