Gerenciando o OCI Database with PostgreSQL
Use configurações para gerenciar variáveis e ativar extensões para um sistema de banco de dados OCI Database with PostgreSQL.
Configurações são listas de variáveis e extensões ativadas e configuradas que você pode definir para ajustar, otimizar ou estender um banco de dados. Os conjuntos de variáveis padrão são otimizados para as formas de hardware associadas aos sistemas de banco de dados. Muitas extensões são ativadas automaticamente para sistemas de banco de dados.
Os administradores podem definir mais variáveis e ativar extensões extras criando uma nova configuração personalizada ou copiando uma configuração existente. Depois que uma configuração é designada a um banco de dados, todas as extensões ativadas ficam disponíveis para o administrador do banco de dados.
Como o serviço OCI Database with PostgreSQL otimiza variáveis de configuração para você, talvez somente usuários avançados precisem alterá-las e gerenciá-las. Para obter mais informações, consulte o manual de referência PostgreSQL.
Variáveis
As configurações padrão específicas de forma incluem variáveis que foram otimizadas para fornecer um bom desempenho e comportamento prontos para uso. Você pode personalizar essas variáveis ao criar uma nova configuração personalizada ou copiar uma configuração existente e aplicar a configuração personalizada a um sistema de banco de dados.
Os tipos de variável incluem:
-
Variáveis do usuário, que podem ser alteradas em uma lista de configuração personalizada. Você pode editar variáveis do usuário quando cria ou copia uma configuração. Algumas variáveis do usuário são variáveis do usuário padrão. Não é possível remover essas variáveis de usuário padrão de uma configuração.
- Variáveis dinâmicas, que podem ser alteradas sem reiniciar o banco de dados.
- Variáveis estáticas, que exigem que PostgreSQL seja reiniciado para serem alteradas.
- Variáveis do sistema, que não podem ser alteradas. As variáveis do sistema são definidas de acordo com a forma ou as exigências do banco de dados.
Para exibir os valores associados a uma variável de configuração específica, consulte Obtendo Detalhes de Configuração Padrão e Obtendo Detalhes de Configuração Personalizada.
Mais Informações para Variáveis de Configuração
A versão da comunidade do PostgreSQL conta com o sistema operacional Linux para gerenciar a memória no sistema. Entre outros itens, ele usa o cache de página do kernel do Linux para evitar ir ao disco para a maioria das páginas do banco de dados. O cache de página do Linux é necessariamente muito geral e não é personalizado para PostgreSQL.
Por outro lado, o OCI Database with PostgreSQL faz seu próprio gerenciamento de memória. O OCI Database with PostgreSQL implementou um cache de página personalizado e não depende exclusivamente do cache de página do Linux. O cache de página personalizado é implementado totalmente na terra do usuário e é mais eficaz para cargas de trabalho PostgreSQL (como evitar buffer duplo). O OCI Database with PostgreSQL pré-aloca uma parte fixa da memória para esse cache de página personalizado e não a usará para nenhuma outra finalidade.
O OCI Database with PostgreSQL é, como a versão da comunidade, configurado para alocar algum volume de memória para shared_buffers
.
Tanto o oci.pagecache
quanto o shared_buffers
podem ser controlados usando variáveis de configuração.
oci.pagecache_size
controla a quantidade de memória alocada para o cache de página personalizado do OCI Database with PostgreSQL. Essa variável é definida no MiBytes.shared_buffers
controla a quantidade de memória alocada para a memória compartilhada PostgreSQL para páginas de dados. Essa variável é definida em unidades de tamanho de bloco (8KiB).
Os valores padrão são aproximadamente 50% de memória para oci.pagecache_size
e 25% de memória para shared_buffers
. Com as definições default, cerca de 75% da memória total do sistema de banco de dados é sempre alocada. Métricas mostram esse valor como usado, mas essa memória é usada para buffers de dados PostgreSQL conforme pretendido e não resulta em efeitos negativos.
Por padrão, a extensão pg_cron
só pode ser criada no banco de dados postgres
. Se você tentar criar a extensão, poderá ocorrer uma mensagem de erro como ERROR: can only create extension in database postgres
.
Para criar a extensão em qualquer outro banco de dados, você precisa ajustar o valor do parâmetro pg_cron.database_name
em uma configuração personalizada. Por exemplo:
pg_cron.database_name='<database_name>'
Para obter mais informações, consulte pg_cron
.
Configurações Flexíveis e Variáveis Inteiras
Algumas variáveis de usuário são especificadas por valores inteiros. Se você estiver usando uma configuração fixa, poderá definir uma variável como max_connections
para um valor específico. Esse valor não pode ser alterado posteriormente e pode tornar a configuração incompatível com outros sistemas de banco de dados.
Uma configuração flexível permite que você use expressões inteiras para valores variáveis. As variáveis que usam expressões inteiras podem ser dimensionadas com flexibilidade junto com sistemas de banco de dados de diferentes configurações de hardware. Por exemplo, em vez de um valor definido para max_connections
, você pode vinculá-lo à memória da instância:
min(DB_INSTANCE_MEMORY_IN_BYTES/76251136,5000)
O OCI Database with PostgreSQL suporta as seguintes variáveis em expressões inteiras:
- 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
Extensões
Determinadas extensões suportadas pelo OCI Database with PostgreSQL devem ser ativadas para que possam ser usadas. Você pode ativar essas extensões ao criar ou copiar uma configuração. Para obter mais informações, consulte Ativando Extensões para um Banco de Dados e Extensões PostgreSQL Suportadas para o OCI Database with PostgreSQL.
Política de IAM Obrigatória
As seguintes instruções de política permitem que um grupo de administradores gerencie o 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 obter mais informações, consulte OCI Database with PostgreSQL Policies.
Próximas Etapas
Gerencie listas de configuração usando as seguintes tarefas: