A Estrutura Física do PostgreSQL
Artigo publicado Revista SQL Magazine 65.
Clique aqui para ler esse editorial em PDF
De que se trata o artigo: Demonstração de como o PostgreSQL gerencia sua estrutura física. Para tanto, serão explanados conceitos da organização dos arquivos e diretórios dos bancos de dados, demonstrando também como é feita a segmentação de valores muito grandes, através da técnica TOAST. Além disso, será mostrada a divisão das tabelas e índices em blocos de páginas. |
Para que serve: |
Em que situação o tema é útil: |
Resumo Devman |
Este artigo pretende mostrar como o PostgreSQL funciona internamente, descrevendo a estrutura física do mesmo, de maneira a servir como material base para estudos mais aprofundados sobre o SGBD em questão.
Inicialmente será mostrado como é feita a organização dos arquivos do banco de dados do PostgreSQL, onde será explorado o diretório dos arquivos de dados e como é a criação de toda estrutura a partir do comando initdb, que é um utilitário que inicializa um agrupamento do banco de dados (uma coleção de bases de dados que é gerenciada por uma instância do processo servidor).
Mostraremos também a técnica TOAST, que é usada para armazenar grandes objetos que são maiores que uma página do banco de dados, armazenando-os em outra área secundária. Por fim, mostraremos a estrutura interna de uma página do banco de dados.
A estrutura lógica do PostgreSQL será descrita em um próximo artigo, onde serão mostrados seus componentes e a forma de organização.
As informações contidas neste artigo podem ser aplicadas em todas as versões do PostgreSQL, a partir da 7.4.
O Utilitário initdb
A criação de um novo cluster (agrupamento) é realizada pelo utilitário initdb. Quando o programa é executado, o mesmo cria os arquivos que definem o agrupamento. O argumento mais importante do comando initdb é o “pgdata”, referenciado pelo argumento –D. A Tabela 1 apresenta mais alguns argumentos deste comando.