A Estrutura Física do PostgreSQL

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (1)  (0)

Artigo publicado Revista SQL Magazine 65.

Esse artigo faz parte da revistaSQL Magazine edição 65. Clique aqui para ler todos os artigos desta edição

imagem_pdf.jpg

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:
Fornecer um material base para estudos mais aprofundados sobre o SGBD em questão, levando estudantes, profissionais da área e/ou DBAs PostgreSQL a conhecerem particularidades da sua organização física.


Em que situação o tema é útil:
Conhecer como é feito todo o gerenciamento da estrutura física de um SGBD pode ser um passo importante para ajudar na solução de um determinado problema que possa vir a acontecer, principalmente no que diz respeito ao gerenciamento de apontadores e índices físicos dos arquivos.


Resumo Devman
Todo e qualquer banco de dados e/ou SGBD pode ser dividido em dois tipos de estruturas: física e lógica. A estrutura física de um SGBD trata da forma como os arquivos são criados, gerenciados e organizados fisicamente no sistema de arquivos do sistema operacional. Por sua vez, a estrutura lógica corresponde à maneira como os objetos são organizados dentro dos bancos de dados.
Adicionalmente você verá neste artigo:
· Autenticação ident: O método de autenticação ident funciona obtendo o nome de usuário do sistema operacional do cliente, e determinando os nomes de usuário do banco de dados permitidos, utilizando um arquivo de mapa que lista os pares de nomes de usuários correspondentes que podem acessar a base.

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.

Argumento

Descrição

-D

Especifica o diretório onde o agrupamento de banco de dados será armazenado (pgdata).

-E

Seleciona a codificação do banco de dados modelo. Também será a codificação padrão para todos os bancos de dados criados posteriormente.

--locale

Define o idioma padrão para o agrupamento de banco de dados. Se esta opção não for especificada, o idioma é herdado do ambiente onde o initdb está executando.

-U

Especifica o nome de usuário do super-usuário do banco de dados.

Tabela 1. Alguns argumentos utilizados com o initdb.

O argumento “pgdata” diz ao initdb o nome do diretório que deverá conter o novo agrupamento. Por exemplo, se for executada qualquer uma das linhas de comando da "

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?