Guia do Usuário do PostgreSQL 7.3.4

The PostgreSQL Global Development Group


Índice
Prefácio
1. O que é o PostgreSQL?
2. Uma breve história do PostgreSQL
2.1. O projeto POSTGRES de Berkeley
2.2. O Postgres95
2.3. O PostgreSQL
3. O que este manual contém
4. Visão geral da documentação
5. Terminologia e notação
6. Guia para relatar erros
6.1. Identificando erros
6.2. O que relatar
6.3. Onde relatar os erros
1. Sintaxe do SQL
1.1. Estrutura léxica
1.1.1. Identificadores e palavras chave
1.1.2. Constantes
1.1.3. Operadores
1.1.4. Caracteres especiais
1.1.5. Comentários
1.1.6. Precedência léxica
1.2. Expressões de valor
1.2.1. Referências a colunas
1.2.2. Parâmetros posicionais
1.2.3. Chamadas de operador
1.2.4. Chamadas de funções
1.2.5. Funções de agregação
1.2.6. Transformação de tipo
1.2.7. Subconsultas escalares
1.2.8. Avaliação de expressão
2. Definição de Dados
2.1. Fundamentos de tabela
2.2. Colunas do sistema
2.3. Valor padrão
2.4. Restrições
2.4.1. Restrição de verificação
2.4.2. Restrição de não-nulo
2.4.3. Restrição de unicidade
2.4.4. Chave primária
2.4.5. Chave estrangeira
2.5. Herança
2.6. Modificação de tabelas
2.6.1. Incluir coluna
2.6.2. Excluir coluna
2.6.3. Incluir restrição
2.6.4. Excluir restrição
2.6.5. Mudar valor padrão
2.6.6. Mudar nome de coluna
2.6.7. Mudar nome de tabela
2.7. Privilégios
2.8. Esquemas
2.8.1. Criação de esquema
2.8.2. O esquema público
2.8.3. O caminho de procura do esquema
2.8.4. Esquemas e privilégios
2.8.5. O esquema do catálogo do sistema
2.8.6. Formas de utilização
2.8.7. Portabilidade
2.9. Outros objetos de banco de dados
2.10. Seguindo as dependências
3. Manipulação de dados
3.1. Inclusão de dados
3.2. Atualização de dados
3.3. Exclusão de dados
4. Consultas
4.1. Visão geral
4.2. Expressão de tabela
4.2.1. A cláusula FROM
4.2.2. A cláusula WHERE
4.2.3. As cláusulas GROUP BY e HAVING
4.3. Listas de seleção
4.3.1. Itens da lista de seleção
4.3.2. Rótulos de coluna
4.3.3. DISTINCT
4.4. Combinação de consultas
4.5. Ordenação de linhas
4.6. LIMIT e OFFSET
5. Tipos de dado
5.1. Tipos numéricos
5.1.1. Os tipos inteiros
5.1.2. Números de precisão arbitrária
5.1.3. Tipos de ponto flutuante
5.1.4. Os tipos seriais
5.2. Tipo monetário
5.3. Tipos para caracteres
5.4. Tipo para cadeias binárias
5.5. Tipos para data e hora
5.5.1. Entrada de data e hora
5.5.2. Saídas de data e hora
5.5.3. Zonas horárias
5.5.4. Internals
5.6. Tipo booleano
5.7. Tipos geométricos
5.7.1. Ponto
5.7.2. Segmento de linha
5.7.3. Caixa
5.7.4. Caminho
5.7.5. Polígono
5.7.6. Círculo
5.8. Tipos de dado para endereço de rede
5.8.1. inet
5.8.2. cidr
5.8.3. inet vs cidr
5.8.4. macaddr
5.9. Tipos para cadeias de bits
5.10. Tipos identificadores de objetos
5.11. Pseudotipos
5.12. Matrizes
6. Funções e Operadores
6.1. Operadores lógicos
6.2. Operadores de comparação
6.3. Funções e operadores matemáticos
6.4. Funções e operadores para cadeias de caracteres
6.5. Funções e operadores para cadeias binárias
6.6. Comparação com padrão
6.6.1. LIKE
6.6.2. SIMILAR TO e as expressões regulares do SQL99
6.6.3. Expressões regulares POSIX
6.7. Funções para formatar tipos de dado
6.8. Funções e operadores para data e hora
6.8.1. EXTRACT, date_part
6.8.2. date_trunc
6.8.3. AT TIME ZONE
6.8.4. Data e hora corrente
6.9. Funções e operadores geométricos
6.10. Funções para tipo endereço de rede
6.11. Funções para manipulação de seqüências
6.12. Expressões condicionais
6.12.1. CASE
6.12.2. COALESCE
6.12.3. NULLIF
6.13. Funções diversas
6.14. Funções de agregação
6.15. Expressões de subconsulta
6.15.1. EXISTS
6.15.2. IN (forma escalar)
6.15.3. IN (forma de subconsulta)
6.15.4. NOT IN (forma escalar)
6.15.5. NOT IN (forma de subconsulta)
6.15.6. ANY/SOME
6.15.7. ALL
6.15.8. Comparação linha por linha
7. Conversão de tipo
7.1. Visão geral
7.2. Operadores
7.3. Funções
7.4. Destino dos comandos
7.5. Construções UNION e CASE
8. Índices
8.1. Introdução
8.2. Tipos de índice
8.3. Índices com várias colunas
8.4. Índices únicos
8.5. Índices funcionais
8.6. Classes de operador
8.7. Índices parciais
8.8. Examinando a utilização do índice
9. Controle de concorrência
9.1. Introdução
9.2. Isolamento da transação
9.2.1. Nível de isolamento Read Committed
9.2.2. Nível de isolamento serializável
9.3. Bloqueio explícito
9.3.1. Bloqueios no nível de tabela
9.3.2. Bloqueios no nível de linha
9.3.3. Impasses
9.4. Verificação da consistência dos dados no nível da aplicação
9.5. Bloqueio e índices
10. Dicas de desempenho
10.1. Utilização do comando EXPLAIN
10.2. Estatísticas utilizadas pelo planejador
10.3. Controlando o planejador com cláusulas JOIN explícitas
10.4. Carga dos dados no banco
10.4.1. Desativar a auto-efetivação
10.4.2. Utilização do COPY FROM
10.4.3. Remoção dos índices
10.4.4. Executar o comando ANALYZE depois
A. Suporte a data e hora
A.1. Interpretação da entrada de data e hora
A.2. Palavras chave para data e hora
A.3. História das unidades
B. Palavras chave do SQL
C. Conformidade com o SQL
C.1. Funcionalidades suportadas
C.2. Funcionalidades não suportadas
Bibliografia
Index
Lista de Tabelas
1-1. Precedência dos operadores (decrescente)
5-1. Tipos de dado
5-2. Tipos numéricos
5-3. Tipos monetários
5-4. Tipos para caracteres
5-5. Tipos especiais para caracteres
5-6. Tipo para cadeias binárias
5-7. bytea Octetos literais com seqüência de escape
5-8. bytea Saída dos octetos com escape
5-9. Tipos para data e hora
5-10. Entrada de data
5-11. Entrada de hora
5-12. Entrada de hora com zona horária
5-13. Entrada de zona horária
5-14. Entradas especiais de data e hora
5-15. Estilos de data e hora
5-16. Convenções de ordem na data
5-17. Tipos geométricos
5-18. Tipos de dado para endereço de rede
5-19. cidr Exemplos de entrada para este tipo
5-20. Tipos identificadores de objetos
5-21. Pseudotipos
6-1. Operadores de comparação
6-2. Operadores matemáticos
6-3. Operadores binários para cadeias de bit
6-4. Funções matemáticas
6-5. Funções trigonométricas
6-6. Funções e operadores SQL para cadeias de caracteres
6-7. Outras funções para cadeia de caracteres
6-8. Conversões nativas
6-9. Funções e operadores SQL para cadeias binárias
6-10. Outras funções para cadeias binárias
6-11. Operadores de comparação para expressões regulares
6-12. Funções de formatação
6-13. Elementos para máscara de conversão de data e hora
6-14. Modificadores dos elementos das máscara de conversão de data e hora
6-15. Elementos para máscara de conversão numérica
6-16. Exemplos da função to_char
6-17. Operadores de data e hora
6-18. Funções de data e hora
6-19. Variantes de AT TIME ZONE
6-20. Operadores geométricos
6-21. Funções geométricas
6-22. Funções de conversão de tipo geométrico
6-23. Operadores cidr e inet
6-24. Funções cidr e inet
6-25. Funções para o tipo macaddr
6-26. Funções de seqüências
6-27. Funções de informação da sessão
6-28. Funções de informação dos valores de configuração
6-29. Funções de consulta a privilégios de acesso
6-30. Funções de consulta à visibilidade do esquema
6-31. Funções de informação do catálogo
6-32. Funções de informação de comentário
6-33. Funções de agregação
9-1. Níveis de isolamento da transação no SQL
10-1. Colunas da visão pg_stats
A-1. Abreviaturas dos meses
A-2. Abreviatura dos dias da semana
A-3. Campos modificadores de data e hora
A-4. Abreviaturas de zona horária
A-5. Abreviaturas das zonas horárias da Austrália
B-1. palavras chave do SQL
Lista de Exemplos
5-1. Utilização dos tipos caractere
5-2. Utilização do tipo boolean
5-3. Utilização dos tipos cadeia de bits
7-1. Determinação do tipo em operador de exponenciação
7-2. Determinação do tipo em operador de concatenação de cadeia de caracteres
7-3. Determinação do tipo em operador de valor absoluto e em fatorial
7-4. Determinação do tipo em argumento de função de fatorial
7-5. Determinação do tipo em função de cadeia de caracteres
7-6. Conversão de tipo de armazenamento character
7-7. Tipos subespecificados em uma união
7-8. Conversão de tipo em uma união simples
7-9. Conversão de tipo em uma união transposta
8-1. Definindo um índice parcial para excluir valores comuns
8-2. Definindo um índice parcial para excluir valores que não interessam
8-3. Definindo um índice único parcial