Gestione del database OCI con le configurazioni PostgreSQL
Utilizza le configurazioni per gestire le variabili e abilitare le estensioni per un database OCI con un sistema di database PostgreSQL.
Le configurazioni sono elenchi di variabili ed estensioni abilitate e configurate che è possibile impostare per ottimizzare o estendere un database. I set di variabili predefinite sono ottimizzati per le forme hardware associate ai sistemi di database. Molte estensioni vengono abilitate automaticamente per i sistemi di database.
Gli amministratori possono impostare più variabili e abilitare estensioni aggiuntive creando una nuova configurazione personalizzata o copia di una configurazione esistente. Dopo l'assegnazione di una configurazione a un database, tutte le estensioni abilitate saranno disponibili per l'amministratore del database.
Poiché il servizio OCI Database con PostgreSQL ottimizza le variabili di configurazione per te, solo gli utenti avanzati potrebbero dover modificarle e gestirle. Per ulteriori informazioni, vedere il PostgreSQL manuale di riferimento.
Variabili
Le configurazioni predefinite specifiche della forma includono variabili che sono state ottimizzate per fornire buone prestazioni e comportamenti pronti all'uso. È possibile personalizzare queste variabili quando si creano una nuova configurazione personalizzata o si copia di una configurazione esistente e si applica la configurazione personalizzata a un sistema di database.
I tipi di variabile includono:
-
Variabili utente, che possono essere modificate in un elenco di configurazione personalizzato. È possibile modificare le variabili utente quando si crea o si copia una configurazione. Alcune variabili utente sono variabili utente predefinite. Impossibile rimuovere queste variabili utente predefinite da una configurazione.
- Variabili dinamiche, che possono essere modificate senza riavviare il database.
- Variabili statiche che richiedono il riavvio di PostgreSQL per essere modificate.
- Variabili di sistema, che non possono essere modificate. Le variabili di sistema vengono definite in base alla forma o ai requisiti del database.
Per visualizzare i valori associati a una variabile di configurazione specifica, vedere Come ottenere i dettagli di configurazione predefiniti e Come ottenere i dettagli di configurazione personalizzati.
Ulteriori informazioni per le variabili di configurazione
La versione community di PostgreSQL si basa sul sistema operativo Linux per gestire la memoria sul sistema. Tra gli altri elementi, utilizza la cache delle pagine del kernel Linux per evitare di andare sul disco per la maggior parte delle pagine di database. La cache delle pagine Linux è necessariamente molto generale e non è personalizzata per PostgreSQL.
Al contrario, OCI Database con PostgreSQL esegue la propria gestione della memoria. OCI Database con PostgreSQL ha implementato una cache di pagine personalizzata e non si basa esclusivamente sulla cache di pagine Linux. La cache delle pagine personalizzata viene implementata completamente nella memoria fissa degli utenti ed è più efficace per i carichi di lavoro PostgreSQL (ad esempio evitando il doppio buffering). OCI Database con PostgreSQL prealloca una parte fissa di memoria per questa cache di pagine personalizzata e non la utilizzerà per altri scopi.
OCI Database con PostgreSQL è, come la versione della community, impostato per allocare una certa quantità di memoria per shared_buffers
.
È possibile controllare sia oci.pagecache
che shared_buffers
utilizzando variabili di configurazione.
oci.pagecache_size
controlla la quantità di memoria allocata al database OCI con la cache delle pagine personalizzata PostgreSQL. Questa variabile è definita in MiBytes.shared_buffers
controlla la quantità di memoria allocata alla memoria condivisa PostgreSQL per le pagine di dati. Questa variabile è definita in unità di dimensione blocco (8KiB).
I valori predefiniti sono circa il 50% di memoria per oci.pagecache_size
e il 25% di memoria per shared_buffers
. Con le impostazioni predefinite, circa il 75% della memoria totale del sistema di database viene sempre allocata. Le metriche mostrano questa quantità come utilizzata, ma questa memoria viene utilizzata per i buffer di dati PostgreSQL come previsto e non produce effetti negativi.
Per impostazione predefinita, l'estensione pg_cron
può essere creata solo nel database postgres
. Se si tenta di creare l'estensione, potrebbe verificarsi un messaggio di errore come ERROR: can only create extension in database postgres
.
Per creare l'estensione in qualsiasi altro database, è necessario modificare il valore del parametro pg_cron.database_name
in una configurazione personalizzata. Ad esempio:
pg_cron.database_name='<database_name>'
Per ulteriori informazioni, vedere pg_cron
.
Configurazioni flessibili e variabili interi
Alcune variabili utente vengono specificate da valori interi. Se si utilizza una configurazione fissa, è possibile impostare una variabile come max_connections
su un valore specifico. Tale valore non potrà essere modificato in un secondo momento e potrebbe rendere la configurazione incompatibile con altri sistemi di database.
Una configurazione flessibile consente di utilizzare espressioni interi per i valori delle variabili. Le variabili che utilizzano espressioni intere possono ridimensionarsi in modo flessibile insieme ai sistemi di database di diverse configurazioni hardware. Ad esempio, invece di un valore impostato per max_connections
, è possibile legarlo alla memoria dell'istanza:
min(DB_INSTANCE_MEMORY_IN_BYTES/76251136,5000)
Il database OCI con PostgreSQL supporta le seguenti variabili nelle espressioni intere:
- 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
Estensioni
Alcune estensioni supportate da OCI Database con PostgreSQL devono essere abilitate prima di poter essere utilizzate. È possibile abilitare queste estensioni quando si crea o si copia una configurazione. Per ulteriori informazioni, vedere Enabling Extensions for a Database e Supported PostgreSQL Extensions for OCI Database with PostgreSQL.
Criterio IAM necessario
Le istruzioni dei criteri riportate di seguito consentono a un gruppo di amministratori di gestire il database OCI con configurazioni di database PostgreSQL.
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
Per ulteriori informazioni, vedere Database OCI con criteri PostgreSQL.
Passi successivi
Gestire gli elenchi di configurazione utilizzando i task riportati di seguito.
- Creazione di una configurazione
- Lista delle configurazioni
- Recupero dei dettagli di configurazione predefiniti
- Lista delle configurazioni personalizzate
- Recupero dei dettagli di configurazione personalizzata
- Copia di una configurazione
- Spostamento di una configurazione
- Eliminazione di una Configurazione