Introdução e Histórico

== O que é o PostgreSQL? ==
Para alguns pode parecer um assunto batido, mas esse é um artigo introdutório, voltado principalmente àqueles que conhecem pouco ou nada sobre o PostgreSQL. O PostgreSQL é um SGBD (Sistema Gerenciador de Banco de Dados) objeto-relacional de código aberto, com mais de 15 anos de desenvolvimento. É extremamente robusto e confiável, além de ser extremamente flexível e rico em recursos. Ele é considerado objeto-relacional por implementar, além das características de um SGBD relacional, algumas características de orientação a objetos, como herança e tipos personalizados. A equipe de desenvolvimento do PostgreSQL sempre teve uma grande preocupação em manter a compatibilidade com os padrões SQL92/SQL99.
== Histórico do PostgreSQL ==
O PostgreSQL (conhecido anteriormente como Postgres95) derivou do projeto POSTGRES da universidade de Berkley, cuja última versão foi a 4.2. O POSTGRES foi originalmente patrocinado pelo DARPA (Agência de Projetos de Pesquisa Avançada para Defesa), ARO (Departamento de Pesquisa Militar), NSF (Fundação Cinetífica Nacional) e ESL Inc. A implementação do projeto POSTGRES iniciou em 1986, já em 87 tornou-se operacional. A primeira versão lançada para o público externo foi em 1989. Devido a uma crítica feita ao seu sistema de regras, o POSTGRES teve essa parte re-implementada e lançada em uma segunda versão em 1990. Em 1991 foi lançada a versão 3, com melhorias no executor de consultas e algumas partes do código foram re-escritas. As versões subsequentes, até o Postgres95, foram focadas em confiabilidade e portabilidade. O POSTGRES foi utilizado para diversos sistemas de pesquisa e de produção, uma aplicação de análise financeira, um banco com rotas de asteróides, e diversos sistemas de informações geográficas. O código do POSTGRES foi aproveitado em um produto comercializado pela Illustra Information Technologies (posteriormente incorporada à Informix, que agora pertence à IBM).
A versão seguinte, o Postgres95, teve mudanças radicais em relação ao projeto original. O seu código foi totalmente revisado, o tamanho dos fontes foi reduzido em 25%, e a linguagem SQL foi implementada como interface padrão. A performance foi consideravelmente melhorada e vários recursos foram adicionados. Em 1996 o nome Postgres95 tornou-se inadequado, o projeto foi rebatizado "PostgreSQL", para enfatizar a relação do POSTGRES original com a linguagem SQL. A numeração da versão voltou a seguir o padrão anterior ao Postgres95 (considerada a 5.0), e a primeira versão do PostgreSQL foi a 6.0. Enquanto a ênfase do Postgres95 tinha sido a correção de falhas e otimização do código, o desenvolvimento das primeiras versões do PostgreSQL foi orientada à melhoria de recursos e implementação de novos recursos, sempre seguindo os padrões de SQL anteriormente estabelecidos. 
== O PostgreSQL hoje ==
A equipe do projeto cresceu e se espalhou pelo mundo. O Grupo Global de Desenvolvimento do PostgreSQL tem membros nos Estados Unidos, Canadá, Japão, Russia, vários países da Europa e alguns outros. Esse grupo é formado essencialmente por empresas especializadas em PostgreSQL, empresas usuárias do sistema, além dos pesquisadores acadêmicos e programadores independentes. Além da programação, essa comunidade é responsável pela documentação, tradução, criação de ferramentas de modelagem e gerenciamento, e elaboração de extensões e acessórios.
Pela riqueza de recursos e conformidade com os padrões, ele é um SGBD muito adequado para o estudo universitário do modelo relacional, além de ser uma ótima opção para empresas implementarem soluções de alta confiabilidade sem altos custos de licenciamento. É um programa distribuído sob a licença BSD, o que torna o seu código fonte disponível e o seu uso livre para aplicações comerciais ou não. O PostgreSQL foi implementado em diversos ambientes de produção no mundo, entre eles, um bom exemplo do seu potencial é o banco de dados que armazena os registros de domínio .org, mantido pela empresa Afilias.
== Alguns recursos presentes na versão mais recente: ==
* Sub-consultas;
* Controle de concorrência multi-versão (MVCC);
* Integridade Referencial;
* Funções armazenadas (Stored Procedures), que podem ser escritas em várias linguagens de programação (PL/PgSQL, Perl, Python, Ruby, e outras);
* Gatilhos (Triggers);
* Tipos definidos pelo usuário;
* Esquemas (Schemas);
* Conexões SSL.
* Áreas de armazenamento (Tablespaces)
* Pontos de salvamento (Savepoints)
* Commit em duas fases
* Arquivamento e restauração do banco a partir de logs de transação
* Diversas ferramentas de replicação
* Extensões para dados geoespaciais, indexação de textos, xml e várias outras.
== Como começar? ==
No site nacional do projeto podem ser encontrados tutoriais de instalação nas plataformas Linux e Windows, além do manual de referência traduzido. No site oficial você encontra toda a documentação. Para baixar o código fonte do PostgreSQL, você pode utilizar o mirror brasileiro. Após seguir as instruções de instalação do tutorial, você pode escolher uma boa ferramenta gráfica de gerenciamento
Alguns links úteis:
 * Site Oficial (http://www.postgresql.org)
 * Site de marketing (http://advocacy.postgresql.org/?lang=br)
 * Site nacional (http://www.postgresql.org.br)
 * Lista de discussão nacional (http://br.groups.yahoo.com/group/postgresql-br) 
Copyleft (c) 2003 por Diogo de Oliveira Biazus (diogob@gmail.com - blog do autor)
Atualizado por Nabucoonosor Coutinho (coutinho.php@gmail.com)
Category:Português