segunda-feira, 22 de setembro de 2008

segunda-feira, 8 de setembro de 2008

Exemplos de Código e SQL e PgSQL

O site abaixo apresenta uma série de bons exemplos (e simples de reproduzir) de código SQL e PlPgSQL. São abordados assuntos como funções matemáticas, de datas, índices, tabelas, consultas, cursores, tipos de dados, entre outros recursos do banco. Boa sugestão para a lista de favoritos de quem trabalha com o PostgreSQL:

http://www.java2s.com/Code/PostgreSQL/CatalogPostgreSQL.htm

sexta-feira, 5 de setembro de 2008

pgCon 2008 - Participe Você Também!

Antes tarde do que nunca, segue lembrete do maior evento de PostgreSQL nacional, a pgCon 2008!
A expectativa dos organizadores é de um grande crescimento do número de participantes em relação ao ano passado.

Site oficial: http://pgcon.postgresql.org.br/

Inscrições: http://pgcon.postgresql.org.br/inscricoes.html

Grade do evento: http://pgcon.postgresql.org.br/programacao.html

Aproveite os preços promocionais!

Templates no PostgreSQL...

Templates são uma poderosa ferramenta para a criação de bancos de dados padronizados, e uma característica estável implementada no PostgreSQL. No entanto, nem sempre é bem corretamente utilizada e entendida. Neste texto será comentado o seu funcionamento e os benefícios que podem ser obtidos.

* Templates de Bancos de Dados

Templates são modelos. Criar um banco de dados com base em um template é simplesmente utilizar um banco de dados como modelo para a criação de outro. Como ganhos do uso de templates podem ser destacados:
- Melhor padronização dos bancos de dados criados
- Maior velocidade na criação de novos bancos de dados, evitando-se a necessidade de se rodar scripts e criar objetos após a sua criação.

* Implementação no PostgreSQL

No PostgreSQL, a criação de qualquer banco de dados se dá pela cópia de objetos e estrutura de um banco já existente para o novo a ser criado. São definidos por padrão dois bancos de dados templates: template0 e template1, no entanto qualquer banco de dados pode ser utilizado como template em um servidor PostgreSQL.

O template0 é mais enxuto e deve ser predominantemente utilizado para criação de bancos que serão populados via restauração de backup. Não apresenta todos objetos e funções do template1, o qual é mais utilizado e é recomendado como principal padrão para criação de novos bancos de dados.

Acrescentar funções, tabelas e outros objetos a um banco de dados template, é torná-los disponíveis a qualquer novo banco de dados que for criado posteriormente. A atualização de bancos criados anteriormente com o template que foi atualizado deve ser feita de forma manual caso seja necessária.

Abaixo, a criação de bancos de dados utilizando templates:

-- Criação sem parâmetro -T, cria banco de dados com base no template 1
C:\Program Files\PostgreSQL\8.3\bin>createdb -U postgres dbtemplate "Banco de Dados Template 1"

-- Criação de novo banco de dados com base no template 0
C:\Program Files\PostgreSQL\8.3\bin>createdb -U postgres -T template0 dbtemplate2 "Banco de Dados Template 0"

-- Criação de novo banco de dados com base no template 1
C:\Program Files\PostgreSQL\8.3\bin>createdb -U postgres dbtemplate3 "Banco de Dados Template 1"

* Personalização de Template no PostgreSQL

Personalizar um template para uso na criação de novos bancos de dados é relativamente fácil e demanda apenas algumas precauções:
- Evitar alterar os templates padrão do PostgreSQL (template0 e template1) - Crie novos bancos de dados e personalize-os, utilizando-os posteriormente como templates.
- Planeje que tipo de função o banco de dados template deve oferecer: banco de dados web, banco de dados para Data Warehouse, etc., criando templates específicos mais adequados.
- Nomeie seus templates de forma distinta, para diferenciá-los de bancos de dados de aplicações.
- Não utilizar bancos de dados de aplicações como templates. O processo de cópia do template para o novo banco de dados exige que o template não esteja sofrendo acesso por parte de outros usuários, o que pode gerar erros na criação de novos bancos.

Abaixo, uma proposta de atividade para testar a personalização do banco de dados template dbtemplate3:

- Abra o banco de dados dbtemplate3.
- Crie as rotinas CPF_formatar e CPF_validar que estão na seção de algoritmos deste blog.
- Feche o banco de dados.
- Crie novo banco de dados, chamado "corporativo", utilizando como template o dbtemplate3.
- Abra o banco de dados "corporativo" e localize as funções que você adicionou ao template.