Manual PostgreSQL
Manual PostgreSQL
N 06
N 08
N 21
N 27
N 42
Franco da Rocha
2010
ndice:
Introduo......................................................................................................................... 5
Caractersticas................................................................................................................... 5
Recursos Presentes na Verso mais Recente.................................................................... 6
Sobre o PostgreSQL ......................................................................................................... 6
Limite Valor ..................................................................................................................... 6
Um Pouco da Histria do PostgreSQL............................................................................. 7
Tipos de Dados do PostgreSQL ....................................................................................... 8
Tipos de dados: Caracteres ........................................................................................... 8
Tipos de dados: Numricos .......................................................................................... 8
Nmeros de preciso fixa ............................................................................................. 8
Tipos de ponto flutuante ............................................................................................... 9
Pseudo tipos seriais....................................................................................................... 9
Uso.................................................................................................................................. 10
Criao de banco de dados no PostgreSQL................................................................ 10
Referncias ..................................................................................................................... 49
II
Introduo
O PostgreSQL um SGBD (Sistema Gerenciador de Banco de Dados) objetorelacional de cdigo aberto, com mais de 15 anos de desenvolvimento. robusto e
confivel, alm de ser extremamente flexvel e rico em recursos. Um de seus atrativos
possuir recursos comuns a banco de dados de grande porte (SQL Server), o que o deixa
apto a trabalhar, inclusive, com operaes de misso crtica. Alm disso, trata-se de um
banco de dados verstil, seguro e gratuito disponvel sob uma licena BSD.
O PostgreSQL considerado objeto-relacional por implementar, alm das
caractersticas de um SGBD relacional, algumas caractersticas de orientao a objetos,
como herana e tipos personalizados com conformidade e padres. Ele roda em todos os
grandes sistemas operacionais, incluindo GNU/Linux, Unix (AIX, BSD, HP-UX, SGI
IRIX, Mac OS X, Solaris, Tru64), e MS Windows.
Alm de tudo totalmente compatvel com ACID, tm suporte completo
chaves estrangeiras, junes (JOIN), vises, gatilhos e procedimentos armazenados em
mltiplas linguagens. Inclui a maior parte dos tipos de dados do ISO SQL: 1999,
incluindo INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE,
INTERVAL, e TIMESTAMP. Suporta tambm sons ou vdeos. Possui interfaces
nativas de programao para C/C++, Java, Net, Perl, Python, Ruby, Tcl, ODBC, entre
outros, e uma documentao excepcional.
O PostgreSQL teve patrocnio de diversas empresas, entre as quais se destacam:
Fujitsu, Hub.Org, NTT Group, Red Hat, Skype, SRA e Sun Microsystems. O software
tem adquirido prestgio na comunidade Linux, tendo recebido diversas vezes o prmio
Linux Journal Editor's Choice de melhor Sistema de Gerenciamento de Banco de
Dados.
A aceitao do PostgreSQL tem se ampliado para alm da comunidade de
cdigo aberto. H entre os seus usurios grandes empresas internacionais, rgos
governamentais de vrios pases e universidades de prestgio mundial. Existe uma lista
dos principais usurios no Brasil e no mundo e, tambm, h alguns estudos de caso de
aplicaes que utilizam o PostgreSQL.
Caractersticas
Desenvolvedor: PostgreSQL Global Development Group;
Primeiro lanamento: um de maio de 1995;
ltima verso: 9.0;
Idiomas: 23 idiomas;
Plataforma (sistema Operacional): Multiplataforma;
Sobre o PostgreSQL
Como um banco de dados de nvel corporativo, o PostgreSQL possui
funcionalidades sofisticadas como o Controle de Concorrncia Multiversionado
(MVCC), Recuperao em um Ponto no Tempo (PITR), Tablespaces (diviso lgica),
Replicao Assincrnica, Transaes Agrupadas, Cpias de Segurana Quente
(hotbackup), um sofisticado Planejador de Consultas e Registrador de Transaes
Sequenciais (WAL) para tolerncia falhas.
Suporta conjuntos de caracteres internacionais, codificao de caracteres
multibyte, Unicode e sua ordenao por localizao, sensibilidade formatao
(maisculas e minsculas). altamente escalvel, tanto na quantidade enorme de dados
que pode gerenciar, quanto no nmero de usurios concorrentes que pode acomodar.
Existem sistemas ativos com o PostgreSQL em ambiente de produo que gerenciam
mais de 4TB de dados. Alguns limites do PostgreSQL esto includos na tabela abaixo.
Limite Valor
Tamanho Mximo do Banco de Dados Ilimitado
Tamanho mximo de uma Tabela 32 TB
Tamanho Mximo de uma Linha 1.6 TB
Tamanho Mximo de um Campo 1 GB
Mximo de Linhas por Tabela: Ilimitado
Mximo de Colunas por Tabela 2501600 dependendo do
Mximo de ndices por Tabela: Ilimitado
6
Inteiros
Esse tipo armazena nmeros sem componentes fracionais. Nmeros inteiros
possuem limites mximos e mnimos, e qualquer tentativa de se armazenar valores fora
dessa faixa ir gerar um erro. Existem os seguintes tipos inteiros:
Uso
Criao de banco de dados no PostgreSQL
Exemplo Biblioteca:
Aps instalar o PostgreSQL, clique em iniciar > todos os programas > PostgreSQL >
pgAdmin III
10
11
12
Connection Limit: Quantas conexes simultneas podem ser feitas a este banco
de dados. -1 (O padro) significa sem limite.
13
Aps a criao, ser possvel visualizar o banco de dados que foi criado,
clicando no sinal de + em Banco de dados do lado esquerdo da tela, na guia
propriedades no lado direito da tela.
no Painel SQL no canto direito inferior da tela est a visualizao do cdigo que foi
criado quando criamos o banco de dados pela interface.
15
1.
2.
3.
4.
16
17
18
Adicione tambm as colunas nome e endereco, s que esses sero do tipo Text.
19
20
21
22
23
24
25
26
27
CodItem
DataInscricao
Quantidade
Paginas
Observaes
Digite o nome da nova tabela, que dessa vez ser Acervo, e clique em OK.
28
29
30
Crie a coluna Quantidade como tipo de dado Integer e sendo not null, a coluna
Paginas como Integer tambm, porm podendo ser nulo e crie tambm a coluna
Observacoes como tipo de dado Text podendo conter valores nulos.
31
32
33
34
35
36
Na janela que aparece Coloque um nome para a chave estrangeira, nesse caso
colocaremos fk_CodItem onde FK vem de Foreign Key. Em referncias escolha a
tabela a ser referenciada.
Clique na aba Colunas em Coluna Local escolha a coluna que ser chave estrangeira.
Em Referenciado escolha a coluna da tabela referenciada que ser a referencia de
chave estrangeira. Clique em Adicionar e em seguida em OK.
37
38
39
NOTAS:
O otimizador de consultas do PostgreSQL vai considerar o uso de um ndice Btree sempre que um atributo indexado estiver envolvido em uma comparao
utilizando um dos seguintes operadores: <, <=, =, >=, >
O otimizador de consultas do PostgreSQL vai considerar o uso de um ndice Rtree sempre que um atributo indexado estiver envolvido em uma comparao
utilizando um dos seguintes operadores: <<, &<, &>, >>, @, ~=, &&
Uma classe de operador pode ser especificada para cada coluna de um ndice. A
classe de operador identifica os operadores a serem utilizados pelo ndice desta
coluna. Por exemplo, um ndice B-tree sobre inteiros de quatro bytes vai utilizar
a classe de operadores int4_ops; esta classe de operadores inclui funes de
comparao para inteiros de quatro bytes. Na prtica, a classe de operadores
padro para o tipo de dado do campo normalmente suficiente. O ponto
principal em haver classes de operadores que, para alguns tipos de dado, pode
haver mais de uma ordenao que faa sentido. Por exemplo, pode se desejar
ordenar o tipo de dado do nmero complexo tanto pelo valor absoluto, quanto
pela parte real, o que pode ser feito definindo-se duas classes de operadores para
o tipo de dado e, ento, selecionando-se a classe apropriada para a construo do
ndice. Tambm existem algumas classes de operadores com finalidades
especiais:
40
Clique na guia Colunas escolha a coluna que ser o ndice, neste caso, a coluna
Titulo clique em adicionar depois clique em OK.
Faa a mesma coisa com Autor e ISBN. Dever ficar como na figura abaixo:
41
42
Clique na guia Colunas escolha a coluna desejada, neste caso a coluna ISBN,
clique em Adicionar e clique em OK.
43
44
45
46
47
E pronto! Note que as Tabelas que criamos esto listadas, est criado nosso
exemplo de Banco de Dados.
48
Referncias
http://www.infowester.com/postgremysql.php
http://www.devmedia.com.br/articles/post-6390-Introducao-ao-PostgreSQL.html
http://wiki.PostgreSQL.org/wiki/Introdu%C3%A7%C3%A3o_e_Hist%C3%B3rico
http://www.youtube.com/watch?v=rPR0NCrO1R4&feature=related
http://www.htmlstaff.org/PostgreSQLmanual/sql-createindex.html
http://pgdocptbr.sourceforge.net/pg74/ddl-constraints.html
http://pt.wikibooks.org/wiki/PostgreSQL_Pr%C3%A1tico/DDL/Cria%C3%A7%C3%
A3o_e_Exclus%C3%A3o_de_Bancos,_Esquemas,_Tabelas,_Views,_Constraints,_e
tc
http://pt.wikipedia.org/wiki/UTF-8
http://pt.wikipedia.org/wiki/PostgreSQL
http://www.PostgreSQL.org.br
http://pgdocptbr.sourceforge.net/pg80/extend-type-system.html
http://www.htmlstaff.org/PostgreSQLmanual/sql-createindex.html
http://www.bau-de-dev.com/banco-de-dados/trabalhando-com-chaves-primariasprimary-key-no-PostgreSQL
49
50