quinta-feira, 11 de outubro de 2007

Ótimo Livro Brasileiro de PostgreSQL!!!



O livro "Dominando o PostgreSQL", de Jorge Luiz Gonzaga, cobre as principais funções do banco, desde a instalação até a construção de funções e triggers. É uma ótima opção para quem utiliza versões 8.X. Não costumo comentar livros, mas ele tem se revelado uma ótima fonte.

Ficha técnica:
- Dominando o PostgreSQL
Autor: Gonzaga, Jorge Luiz
Editora: Ciência Moderna
ISBN: 9788573935592
Idioma: Português
Páginas: 244
Publicação: 2007
Edição: 1
Encadernação: Brochura
Peso: 512.00 gramas (!)

Pontos fortes:
- Grande Abrangência. São 36 capítulos falando de quase todos os aspectos desta tecnologia, incluindo instalação Linux e Windows.
- Suporte à linguagem SQL bastante detalhado, com muitos exemplos de sintaxes alternativas que aumentama produtividade.
- Cobre as versões 8.x, o que a maioria dos livros nacionais ainda não faz.

Pontos fracos:
- Ausência de índice remissivo (aquele que fica no fim da página)
- Certos temas mereciam maior detalhamento, como o WAL - Write-Ahead Log.
- O livro como um todo poderia ter textos mais detalhados. Os capítulos são muito curtos e os textos diretos demais, resultando em poucas páginas por capítulo.

Conclusão: é um ótimo livro. Não conheço melhor livro em português. E você?

segunda-feira, 8 de outubro de 2007

PostgreSQL 8.3 Beta Liberado para Testes

Não recomendada para uso comercial, estas versão aguarda que você faça seu download e testes. Ah, você já pode baixar na página do programa de beta testes do PostgreSQL: Seja um Beta Tester.

Novas funcionalidades:
- Melhorias de desempenho como alterações para o Distributed Checkpoint, Commit Assíncrono entre outros recursos
- TSearch2 para busca em texto passa a ser integrada ao código e sintaxe mais amigável. (Possível tema para próximos posts)
- SQL:XML syntax. (Precisa de comentário? Tenho de testar isso logo!!!)
- Logging para arquivos CSV carregáveis no banco.
- Rebuilding automático de planos de execução de consultas em cache. (ótima idéia de melhoria de desempenho)
- ENUMs, UUIDs and arrays of tipos complexos.
- Suporte de autenticação para GSSAPI e SSPI. (o que diabos é isso?)

Podemos colaborar bastante baixand, testando o beta e encaminhando as alterações.

Documentação completa das novidades nas Release Notes.

quinta-feira, 4 de outubro de 2007

A Função TIMEOFDAY

A função timeofday() retorna um texto com a data e hora. Não é muito utilizada.

Exemplos:

1 - Sintaxe básica.

select timeofday();
Retorno: "Thu Oct 04 12:33:55.953000 2007 BRT"

Função NOW

Função equivalente a CURRENT_TIMESTAMP. Pode ser utilizada em consultas, alterações, inserções e exclusões de registros.

Exemplos:

1 - Sintaxe básica.

select now();
Retorno: "2007-10-04 11:24:15.718-03"

2 - Consulta com outra função.

select now(), current_timestamp;
Retorno: "2007-10-04 11:25:11.625-03";"2007-10-04 11:25:11.625-03"

3 - Uso de NOW() em inserção.

insert into testedata values (current_date, current_time, now());

4 - Uso de NOW() em consulta.

select * from testedata where ctimestamp = now();

quarta-feira, 3 de outubro de 2007

CURRENT_DATE, CURRENT_TIME e CURRENT_TIMESTAMP

São funções que retornam respectivamente a data atual, a hora corrente e o timestamp (data + hora) registrado no relógio do computador. Podem ser utilizadas na inserção, atualização, consulta e exclusão de dados.

Exemplos:

1 - Retornando a data atual.

SELECT current_date;

2 - Retornando a hora atual.

SELECT current_time;

3 - Retornando o timestamp corrente.

SELECT current_timestamp;

4 - Consulta retornando current_date, current_time e current_timestamp.

SELECT current_date, current_time, current_timestamp;

5 - Utilização das funções para inserção, alteração e exclusão de dados.

CREATE TABLE testedata(
cdata DATE,
ctime TIME,
ctimestamp timestamp);

insert into testedata values (current_date, current_time, current_timestamp);

insert into testedata values ('2007-10-21', '11:04:50.123', '2007-10-21 11:04:50.123');

update testedata set cdata = current_date;

delete from testedata where cdata <> current_date;

6 - Utilização das funções para consultas aos dados.

select * from testedata where ctime <> current_time;

Comandos de Manipulação de DATA/ HORA

O PostgreSQL manipula campos tipo data e hora com muita desenvoltura. Apresenta ainda o tipo de dados timestamp que engloba data e hora no mesmo campo. As principais funções de manipulação de datas são:

- current_date
- current_time
- current_timestamp
- now()
- timeofday()
- date_part
- date_trunc
- extract

Estas funções podem ser utilizadas na inserção, atualizações e exclusão dos dados, como será exemplificado nos próximos posts.

quinta-feira, 27 de setembro de 2007

Site da PG Conference 2007 Funcionando!

O site da PG Conference 2007 do Brasil já está no ar.
As pré inscrições estão abertas, com um grande desconto (70%) aos que se anteciparem.

É só seguir o link abaixo:

PG Conference 2007

quinta-feira, 20 de setembro de 2007

PostgreSQL - Versões Antigas Desativadas

Mensagem de Dave Page, do PostgreSQL Core Team, informa que as primeiras versões do PostgreSQL para Windows serão descontinuadas (8.0 and 8.1), sem a geração de novas atualizações e correções de bugs.

A razão desta descontinuidade seria a dificuldade de se corrigir certos problemas em todas as versões, processo que subtrai recursos do desenvolvimento de novas versões. Em certos casos a correção de bugs exigiria muito tempo e isso colaborou bastante para esta decisão.

Os usuários são aconselhados a migrar para a versão 8.2 e para a nova 8.3 cujo lançamento se aproxima. A versão 8.2 e as posteriores são consideradas maduras e devem durar tanto na plataforma Windows quanto as geradas para outros sistemas operacionais.

Os comandos para backup e recuperação podem ser utilizados para esta migração e você pode encontra-los nos posts anteriores.

terça-feira, 18 de setembro de 2007

sexta-feira, 14 de setembro de 2007

Relatório do IDC Ignora PostgreSQL e MySQL!!!

Relatório recente do IDC sequer listou os bancos de Dados MySql e PostgreSQL no seu relatório "Worldwide RDBMS 2006 Vendor Shares: Preliminary Results for the Top 5 Vendors". O resultado é que os dados foram anexados à propaganda da Microsoft.

Como não há qualquer menção no texto a software livre, PostgreSQL ou MySQL, parece que a pesquisa ignorou a utilização destes programas pelas organizações. Na verdade, o texto do relatório coloca "Vendors" de software livre e não ferramentas, eliminando do escopo os programas livres para a mesma finalidade e apresentando uma versão deturpada do mercado.



Crítica adicional pode ser feita ao fato de serem apresentados apenas os TOP 5. Se o sexto maior vendedor de bancos de dados tiver uma boa solução ela sequer será mencionada. Só podem haver "TOP 5 VENDORS". Passando disto, é concorrência demais.

Consulte e tire suas conclusões.

Mas nem tudo são críticas e más notícias: o mercado cresceu mais de 14% no período, estimulando a contratação de bons profissionais para a gestãod e infra-estruturas de banco de dados.

Agora fiquei com uma dúvida: onde consultar o market share do PostgreSQL?

segunda-feira, 10 de setembro de 2007

O Comando RESET

Este comando reverte as configurações que estejam sendo utilizadas no momento para os valores padrão. Equivale à execução de um comando "SET configuration_parameter TO DEFAULT".

Sintaxe:

RESET configuration_parameter
RESET ALL

ALL - Altera todos os valores de configuração para os valores padrão. Deve ser utilizado com parcimônia, pois pode causar efeitos colaterais alterando parâmetros que não necessitem atualização.

Exemplos:

1 - Exemplo que altera o estilo de data. O comando SHOW mostra o resultado.

show datestyle;
set datestyle to postgres,dmy;
show datestyle;
RESET datestyle;
show datestyle;

2 - Sintaxe com a cláusula ALL.

RESET ALL;

Post Número 51!!!

É uma grande satisfação ter chegado ao post 51.
Agora temos que ultrapassar a barreira dos 100!

A colaboração de todos é muito importante para isso!