O documento fornece uma visão geral do banco de dados PostgreSQL, discutindo sua história, desenvolvimento, recursos necessários e funcionalidades. Ele resume a evolução do PostgreSQL desde seu início como projeto acadêmico até se tornar uma opção popular e poderosa de banco de dados open source.
1. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Compreendendo o PostgreSQL...
Dickson S. Guedes
guedes@guedesoft.net
ENECOMP, 2009
5 de setembro de 2009
Compreendendo o PostgreSQL... ENECOMP, 2009
2. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Uma vis˜o geral...
a
Historia
Um pouco sobre o passado
Um pouco sobre o presente
Desenvolvimento
Entendendo o versionamento
Caracter´
ısticas
Os recursos necess´rios para seu funcionamento
a
Exemplos de alguma funcionalidades
O Projeto no Mundo
Existe um dono?
Qualifica¸˜o profissional
ca
Concluindo
Compreendendo o PostgreSQL... ENECOMP, 2009
3. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Um pouco sobre o passado
T´nel do tempo
u
1986 ` 1995: ambiente acadˆmico, Berkeley
a e
1996 ` 1998: muitos bugs, corre¸˜es, patches
a co
1999 ` 2001: preocupa¸˜o com padr˜es SQL
a ca o
Compreendendo o PostgreSQL... ENECOMP, 2009
4. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Um pouco sobre o passado
T´nel do tempo
u
1986 ` 1995: ambiente acadˆmico, Berkeley
a e
1996 ` 1998: muitos bugs, corre¸˜es, patches
a co
1999 ` 2001: preocupa¸˜o com padr˜es SQL
a ca o
2002 aos dias atuais: implementa¸˜o de funcionalidades
ca
avan¸adas
c
Compreendendo o PostgreSQL... ENECOMP, 2009
5. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Um pouco sobre o presente
Compreendendo o PostgreSQL... ENECOMP, 2009
6. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Entendendo o versionamento
Novas vers˜es
o
postgresql-x.y.z
altera X e Y ou apenas Y
pode alterar o comportamento de funcionalidades
para atualizar somente com backup e restore
Compreendendo o PostgreSQL... ENECOMP, 2009
7. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Entendendo o versionamento
Vers˜es corretivas
o
postgresql-x.y.z
altera apenas Z
n˜o altera o comportamento de funcionalidades nem adiciona
a
corre¸˜es de bugs
co
atualiza¸˜o sem necessidade de backup e restore
ca
Compreendendo o PostgreSQL... ENECOMP, 2009
8. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Os recursos necess´rios para seu funcionamento
a
Recursos de hardware
Mem´ria especial?
o
CPU especial?
Disco especial? Preciso rodar com RAID?
Compreendendo o PostgreSQL... ENECOMP, 2009
9. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Os recursos necess´rios para seu funcionamento
a
Recursos de hardware
Mem´ria especial?
o
CPU especial?
Disco especial? Preciso rodar com RAID?
Posso usar meu micro de casa que eu uso para desenvolver?
Compreendendo o PostgreSQL... ENECOMP, 2009
10. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Os recursos necess´rios para seu funcionamento
a
Recursos de software
Debian? Ubuntu? Fedora? OpenSuse?
Compreendendo o PostgreSQL... ENECOMP, 2009
11. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Os recursos necess´rios para seu funcionamento
a
Recursos de software
Debian? Ubuntu? Fedora? OpenSuse?
FreeBSD? NetBSD? OpenBSD?
Compreendendo o PostgreSQL... ENECOMP, 2009
12. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Os recursos necess´rios para seu funcionamento
a
Recursos de software
Debian? Ubuntu? Fedora? OpenSuse?
FreeBSD? NetBSD? OpenBSD?
IRIX? AIX? True64? Solaris? ...
Compreendendo o PostgreSQL... ENECOMP, 2009
13. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Os recursos necess´rios para seu funcionamento
a
Recursos de software
Debian? Ubuntu? Fedora? OpenSuse?
FreeBSD? NetBSD? OpenBSD?
IRIX? AIX? True64? Solaris? ...
MacOS?
Compreendendo o PostgreSQL... ENECOMP, 2009
14. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Os recursos necess´rios para seu funcionamento
a
Recursos de software
Debian? Ubuntu? Fedora? OpenSuse?
FreeBSD? NetBSD? OpenBSD?
IRIX? AIX? True64? Solaris? ...
MacOS?
Windows?
Compreendendo o PostgreSQL... ENECOMP, 2009
15. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Exemplos de alguma funcionalidades
Saindo do forno...
Fun¸˜es anal´
co ıticas: rank(), dense rank(), avg() OVER
PARTITION BY
Consultas recursivas: WITH RECURSIVE ...
pg migrator
Compreendendo o PostgreSQL... ENECOMP, 2009
16. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Exemplos de alguma funcionalidades
J´ conhecidas...
a
BEGIN;
SELECT nome receita FROM receitas
WHERE ingredientes ˜ ’.*(repolho|cebola|batata doce).*’;
UPDATE receitas SET dt preparo = CURRENT DATE;
SAVEPOINT a;
DELETE FROM receitas;
ROLLBACK TO SAVEPOINT a;
DELETE FROM receitas temp;
COMMIT;
Compreendendo o PostgreSQL... ENECOMP, 2009
17. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Exemplos de alguma funcionalidades
J´ conhecidas...
a
BEGIN;
SELECT nome receita FROM receitas
WHERE ingredientes ˜ ’.*(repolho|cebola|batata doce).*’;
UPDATE receitas SET dt preparo = CURRENT DATE;
SAVEPOINT a;
DELETE FROM receitas;
ROLLBACK TO SAVEPOINT a;
DELETE FROM receitas temp;
COMMIT;
Compreendendo o PostgreSQL... ENECOMP, 2009
18. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Exemplos de alguma funcionalidades
J´ conhecidas...
a
BEGIN;
SELECT nome receita FROM receitas
WHERE ingredientes ˜ ’.*(repolho|cebola|batata doce).*’;
UPDATE receitas SET dt preparo = CURRENT DATE;
SAVEPOINT a;
DELETE FROM receitas;
ROLLBACK TO SAVEPOINT a;
DELETE FROM receitas temp;
COMMIT;
Compreendendo o PostgreSQL... ENECOMP, 2009
19. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Exemplos de alguma funcionalidades
J´ conhecidas...
a
BEGIN;
SELECT nome receita FROM receitas
WHERE ingredientes ˜ ’.*(repolho|cebola|batata doce).*’;
UPDATE receitas SET dt preparo = CURRENT DATE;
SAVEPOINT a;
DELETE FROM receitas;
ROLLBACK TO SAVEPOINT a;
DELETE FROM receitas temp;
COMMIT;
Compreendendo o PostgreSQL... ENECOMP, 2009
20. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Exemplos de alguma funcionalidades
J´ conhecidas...
a
BEGIN;
SELECT nome receita FROM receitas
WHERE ingredientes ˜ ’.*(repolho|cebola|batata doce).*’;
UPDATE receitas SET dt preparo = CURRENT DATE;
SAVEPOINT a;
DELETE FROM receitas;
ROLLBACK TO SAVEPOINT a;
DELETE FROM receitas temp;
COMMIT;
Compreendendo o PostgreSQL... ENECOMP, 2009
21. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Exemplos de alguma funcionalidades
J´ conhecidas...
a
BEGIN;
SELECT nome receita FROM receitas
WHERE ingredientes ˜ ’.*(repolho|cebola|batata doce).*’;
UPDATE receitas SET dt preparo = CURRENT DATE;
SAVEPOINT a;
DELETE FROM receitas;
ROLLBACK TO SAVEPOINT a;
DELETE FROM receitas temp;
COMMIT;
Compreendendo o PostgreSQL... ENECOMP, 2009
22. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Exemplos de alguma funcionalidades
J´ conhecidas...
a
BEGIN;
SELECT nome receita FROM receitas
WHERE ingredientes ˜ ’.*(repolho|cebola|batata doce).*’;
UPDATE receitas SET dt preparo = CURRENT DATE;
SAVEPOINT a;
DELETE FROM receitas;
ROLLBACK TO SAVEPOINT a;
DELETE FROM receitas temp;
COMMIT;
Compreendendo o PostgreSQL... ENECOMP, 2009
23. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Exemplos de alguma funcionalidades
J´ conhecidas...
a
BEGIN;
SELECT nome receita FROM receitas
WHERE ingredientes ˜ ’.*(repolho|cebola|batata doce).*’;
UPDATE receitas SET dt preparo = CURRENT DATE;
SAVEPOINT a;
DELETE FROM receitas;
ROLLBACK TO SAVEPOINT a;
DELETE FROM receitas temp;
COMMIT;
Compreendendo o PostgreSQL... ENECOMP, 2009
24. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Exemplos de alguma funcionalidades
J´ conhecidas...
a
BEGIN;
SELECT nome receita FROM receitas
WHERE ingredientes ˜ ’.*(repolho|cebola|batata doce).*’;
UPDATE receitas SET dt preparo = CURRENT DATE;
SAVEPOINT a;
DELETE FROM receitas;
ROLLBACK TO SAVEPOINT a;
DELETE FROM receitas temp;
COMMIT;
Compreendendo o PostgreSQL... ENECOMP, 2009
25. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Exemplos de alguma funcionalidades
J´ conhecidas...
a
BEGIN;
SELECT nome receita FROM receitas
WHERE ingredientes ˜ ’.*(repolho|cebola|batata doce).*’;
UPDATE receitas SET dt preparo = CURRENT DATE;
SAVEPOINT a;
DELETE FROM receitas;
ROLLBACK TO SAVEPOINT a;
DELETE FROM receitas temp;
COMMIT;
Compreendendo o PostgreSQL... ENECOMP, 2009
26. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Exemplos de alguma funcionalidades
Funcionalidades
pl/pgSQL
pl/Java
pl/Perl
pl/Python
pl/Ruby
pl/PHP
Compreendendo o PostgreSQL... ENECOMP, 2009
27. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Exemplos de alguma funcionalidades
Funcionalidades
pl/pgSQL
pl/Java
pl/Perl
pl/Python
pl/Ruby
pl/PHP
pl/Sua Linguagem de programa¸˜o preferida aqui
ca
Compreendendo o PostgreSQL... ENECOMP, 2009
28. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Exemplos de alguma funcionalidades
Funcionalidades
pl/pgSQL
pl/Java
pl/Perl
pl/Python
pl/Ruby
pl/PHP
pl/Sua Linguagem de programa¸˜o preferida aqui
ca
Compreendendo o PostgreSQL... ENECOMP, 2009
29. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Exemplos de alguma funcionalidades
Funcionalidades
pl/pgSQL
pl/Java
pl/Perl
pl/Python
pl/Ruby
pl/PHP
pl/Sua Linguagem de programa¸˜o preferida aqui
ca
...
Compreendendo o PostgreSQL... ENECOMP, 2009
30. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Licen¸a
c
Licen¸a BSD
c
O que posso fazer?
O que n˜o posso fazer?
a
Compreendendo o PostgreSQL... ENECOMP, 2009
31. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Propriedade do software
Quem vai comprar o PostgreSQL?
Compreendendo o PostgreSQL... ENECOMP, 2009
32. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Propriedade do software
Quem vende PostgreSQL?
Compreendendo o PostgreSQL... ENECOMP, 2009
33. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Empresas envolvidas...
RedHat
Fujitsu
Skype
Yahoo!
EnterpriseDB
2ndQuadrant
CommandPrompt
NTT
...
Compreendendo o PostgreSQL... ENECOMP, 2009
34. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
E no Brasil?
CAIXA
Dataprev
SERPRO
Detran (CE, PR)
FAB
A empresa em que vocˆ possa vir a trabalhar?
e
Compreendendo o PostgreSQL... ENECOMP, 2009
35. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
A quem recorrer?
Comunidade
Compreendendo o PostgreSQL... ENECOMP, 2009
36. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
A quem recorrer?
Comunidade
Suporte
Compreendendo o PostgreSQL... ENECOMP, 2009
37. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
A quem recorrer?
Comunidade
Suporte
Treinamento
Compreendendo o PostgreSQL... ENECOMP, 2009
38. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
A quem recorrer?
Comunidade
Suporte
Treinamento
E onde eu consigo me certificar em PostgreSQL?
Compreendendo o PostgreSQL... ENECOMP, 2009
39. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Acompanhando
www.postgresql.org.br
www.postgresql.org
Compreendendo o PostgreSQL... ENECOMP, 2009
40. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Acompanhando
www.postgresql.org.br
www.postgresql.org
pgbr-geral@listas.postgresql.org.br - D´vidas gerais
u
pgbr-dev@listas.postgresq.org.br - Organiza¸˜o da comunidade
ca
irc.freenode.net - #postgresql e #postgresql-br
Compreendendo o PostgreSQL... ENECOMP, 2009
41. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Acompanhando
www.postgresql.org.br
www.postgresql.org
pgbr-geral@listas.postgresql.org.br - D´vidas gerais
u
pgbr-dev@listas.postgresq.org.br - Organiza¸˜o da comunidade
ca
irc.freenode.net - #postgresql e #postgresql-br
Eventos como PGDays, PGCon, FISL, CONISLI...
Compreendendo o PostgreSQL... ENECOMP, 2009
42. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Questionamentos
PoStGrEsQl - ”:/
postGree - ”:(
PostgreSQL - ”:)
postgres - ”:D
Compreendendo o PostgreSQL... ENECOMP, 2009
43. Historia Desenvolvimento Caracter´
ısticas O Projeto no Mundo Existe um dono? Qualifica¸˜o profissional
ca Concluindo
Obrigado ”:)
Dickson S. Guedes
guedes@guedesoft.net
Guedes - irc.freenode.net
http://guedesoft.net
Compreendendo o PostgreSQL... ENECOMP, 2009