Gestión de OCI Database with PostgreSQL
Utilizar configuraciones para gestionar variables y activar extensiones para un sistema de base de datos de OCI Database with PostgreSQL.
Las configuraciones son listas de variables y extensiones activadas y configuradas que puede definir para ajustar, optimizar o ampliar una base de datos. Los juegos de variables por defecto se optimizan para las unidades de hardware asociadas a los sistemas de base de datos. Muchas extensiones se activan automáticamente para los sistemas de base de datos.
Los administradores pueden definir más variables y activar extensiones adicionales creando una nueva configuración personalizada o copiando una configuración existente. Después de asignar una configuración a una base de datos, cualquier extensión activada está disponible para el administrador de la base de datos.
Dado que el servicio OCI Database with PostgreSQL optimiza las variables de configuración, solo los usuarios avanzados pueden necesitar cambiarlas y gestionarlas. Para obtener más información, consulte el Manual de referencia PostgreSQL.
Variables
Las configuraciones por defecto específicas de la unidad incluyen variables que se han optimizado para proporcionar un buen rendimiento y comportamiento listos para usar. Puede personalizar estas variables al crear una nueva configuración personalizada o al copiar una configuración existente y aplicar la configuración personalizada a un sistema de base de datos.
Los tipos de variables incluyen:
-
Variables de usuario, que se pueden cambiar en una lista de configuración personalizada. Se pueden editar variables del usuario al crear o copiar una configuración. Algunas de las variables del usuario son variables del usuario por defecto. No puede eliminar estas variables de usuario por defecto de una configuración.
- Variables dinámicas, que se pueden cambiar sin reiniciar la base de datos.
- Variables estáticas, que requieren que se reinicie PostgreSQL para cambiarlas.
- Variables del sistema, que no se pueden cambiar. Las variables del sistema se definen según la unidad o requisitos de la base de datos.
Para ver los valores asociados con una variable de configuración específica, consulte Getting Default Configuration Details y Getting Custom Configuration Details.
Más información para las variables de configuración
La versión de comunidad de PostgreSQL se basa en el sistema operativo Linux para gestionar la memoria en el sistema. Entre otros elementos, utiliza la caché de páginas del núcleo de Linux para evitar ir al disco para la mayoría de las páginas de la base de datos. La caché de páginas de Linux es necesariamente muy general y no está personalizada para PostgreSQL.
Por el contrario, OCI Database with PostgreSQL realiza su propia gestión de memoria. OCI Database with PostgreSQL implementó una caché de página personalizada y no se basa únicamente en la caché de página de Linux. La caché de página personalizada se implanta completamente en tierra del usuario y es más eficaz para las cargas de trabajo PostgreSQL (como evitar el almacenamiento en buffer doble). OCI Database with PostgreSQL asigna previamente una parte fija de la memoria para esta caché de página personalizada y no la utilizará para ningún otro fin.
OCI Database with PostgreSQL está, al igual que la versión de la comunidad, configurada para asignar una cierta cantidad de memoria para shared_buffers
.
Tanto oci.pagecache
como shared_buffers
se pueden controlar mediante variables de configuración.
oci.pagecache_size
controla la cantidad de memoria asignada a la caché de página personalizada de OCI Database with PostgreSQL. Esta variable se define en MiBytes.shared_buffers
controla la cantidad de memoria asignada a la memoria compartida PostgreSQL para las páginas de datos. Esta variable se define en unidades de tamaño de bloque (8KiB).
Los valores por defecto son aproximadamente el 50% de memoria para oci.pagecache_size
y el 25% de memoria para shared_buffers
. Con la configuración predeterminada, siempre se asigna aproximadamente el 75% de la memoria total del sistema de base de datos. Las métricas muestran esta cantidad como utilizada, pero esta memoria se utiliza para los buffers de datos PostgreSQL según lo previsto y no provoca ningún efecto negativo.
Por defecto, la extensión pg_cron
solo se puede crear en la base de datos postgres
. Si intenta crear la extensión, puede aparecer un mensaje de error como ERROR: can only create extension in database postgres
.
Para crear la extensión en cualquier otra base de datos, debe ajustar el valor del parámetro pg_cron.database_name
en una configuración personalizada. Por ejemplo:
pg_cron.database_name='<database_name>'
Para obtener más información, consulte pg_cron
.
Configuraciones flexibles y variables de enteros
Algunas variables de usuario se especifican mediante valores enteros. Si utiliza una configuración fija, puede definir una variable como max_connections
en un valor específico. Ese valor no se puede cambiar más tarde y puede hacer que la configuración sea incompatible con otros sistemas de base de datos.
Una configuración flexible permite utilizar expresiones de enteros para valores de variables. Las variables que utilizan expresiones enteras se pueden escalar de forma flexible junto con los sistemas de base de datos de diferentes configuraciones de hardware. Por ejemplo, en lugar de un valor definido para max_connections
, puede vincularlo a la memoria de la instancia:
min(DB_INSTANCE_MEMORY_IN_BYTES/76251136,5000)
OCI Database with PostgreSQL soporta las siguientes variables en expresiones de enteros:
- 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
Extensiones
Algunas extensiones soportadas por OCI Database with PostgreSQL deben estar activadas para que se puedan utilizar. Puede activar estas extensiones al crear o copiar una configuración. Para obtener más información, consulte Activación de extensiones para una base de datos y Extensiones PostgreSQL soportadas para OCI Database with PostgreSQL.
Política de IAM necesaria
Las siguientes sentencias de política permiten a un grupo de administradores gestionar configuraciones de base de datos de OCI Database with 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
Para más información, consulte Políticas de OCI Database with PostgreSQL.
Siguientes Pasos
Gestionar listas de configuración mediante las siguientes tareas: