O PolarDB for PostgreSQL impõe duas categorias de limites: os específicos da arquitetura em nuvem do PolarDB e os herdados do kernel do PostgreSQL. Analise esses limites antes de projetar sua aplicação ou planejar alterações de esquema para evitar problemas em produção.
Limites específicos do PolarDB
Esses limites são exclusivos do PolarDB for PostgreSQL e garantem estabilidade e isolamento de recursos em ambientes de nuvem multilocatário.
Limite de arquivos por cluster
Cada cluster tem um número máximo de arquivos, definido pelas especificações do nó. Se o cluster atingir esse limite, não será possível crie novas tabelas e índices, e o banco de dados retornará o erro could not create file.
O que conta como arquivo: Uma tabela não particionada usa três arquivos: um de dados, um de Mapa de Espaço Livre (FSM) e um de Mapa de Visibilidade (VM). Cada índice na tabela adiciona mais um arquivo. Arquivos de catálogo do sistema e de log também entram na contagem total.
Limites de quantidade de arquivos por especificação de nó:
|
Especificação do nó |
Máximo de arquivos |
Ajustável |
|
polar.pg.x4.medium |
1.048.576 |
Sim — |
|
polar.pg.x4.large |
2.097.152 |
Sim — atualizar especificações |
|
polar.pg.x4.xlarge |
2.097.152 |
Sim — atualizar especificações |
|
polar.pg.x8.xlarge |
4.194.304 |
Sim — atualizar especificações |
|
polar.pg.x8.2xlarge |
8.388.608 |
Sim — atualizar especificações |
|
polar.pg.x8.4xlarge |
12.582.912 |
Sim — atualizar especificações |
|
polar.pg.x8.12xlarge |
20.971.520 |
Sim — atualizar especificações |
Se o cluster estiver próximo do limite de arquivos:
Monitore a contagem total de tabelas e índices durante a manutenção rotineira do banco de dados.
Remova tabelas e índices não utilizados para liberar slots de arquivos.
Atualize as especificações do cluster para aumentar o limite.
Limites de permissão
|
Item |
Limite |
Detalhes |
|
Permissões de banco de dados |
|
O PolarDB oferece a função |
Limites herdados do PostgreSQL
O PolarDB for PostgreSQL baseia-se no kernel do PostgreSQL e herda seus limites no nível de objeto. A tabela a seguir lista os limites mais relevantes para o design de esquemas e o desenvolvimento de aplicações.
Para a referência completa, consulte a documentação oficial do PostgreSQL:
|
Limite |
Valor |
Observações |
|
Tamanho do banco de dados |
500 TB / ilimitado |
Clusters centralizados: máximo de 500 TB (a capacidade real depende das especificações do nó). Clusters distribuídos: teoricamente ilimitado. |
|
Tamanho da tabela |
32 TB |
Baseado no tamanho de bloco padrão de 8 KB ( |
|
Colunas por tabela |
1.600 (teórico) |
O limite efetivo é menor. Uma única linha, excluindo valores TOAST, não pode exceder uma página de dados (~8 KB). Tipos largos como |
|
Tamanho do campo |
1 GB |
Aplica-se a tipos de comprimento variável: |
|
Comprimento do identificador |
63 bytes |
Nomes de tabelas, colunas e outros objetos de banco de dados. Nomes com mais de 63 bytes são truncados silenciosamente, o que pode causar comportamento inesperado se dois nomes longos compartilharem o mesmo prefixo de 63 bytes. |
|
Índices por tabela |
Ilimitado |
A quantidade real de índices é restrita pelo espaço de armazenamento, pelo limite de arquivos do cluster e pelos recursos do sistema. |
|
Colunas por índice |
32 |
Quantidade máxima de colunas em um único índice. |
|
Colunas de chave de partição |
32 |
Quantidade máxima de colunas em uma chave de partição para tabelas particionadas. |
|
Parâmetros de função |
100 |
Quantidade máxima de parâmetros para uma função definida pelo usuário. |
|
Parâmetros de consulta |
65.535 |
Quantidade máxima de marcadores de parâmetro (como |