Sobre o curso

O mercado tem adotado o PostgreSQL como o melhor banco de dados Open Source. A Dextraining é pioneira no Brasil em serviços profissionais com o PostgreSQL e já treinou centenas de profissionais neste banco. Em nossos cursos transferimos a experiência prática acumulada em anos de projetos, dando ao participante uma formação que o permita explorar os limites deste avançado banco dados. Esta é a chance de se capacitar com o que existe de melhor em treinamento PostgreSQL no Brasil! Cursos da Formação

Pré-requisitos

Conhecimentos de SQL

Carga horária

96 horas

PostgreSQL Essencial

Introdução ao PostgreSQL
  • O que é o PostgreSQL
  • Principais funcionalidades
  • Plataformas suportadas
  • Limitações do PostgreSQL
Conceito de banco de dados
  • Banco de dados relacionais
  • Banco de dados objeto-relacional
Interfaces de acesso ao PostgreSQL
  • Conexão JDBC
  • Conexão Delphi/ Visual Borland C++
  • Conexão .NET
  • Introdução ao psql
  • Operação do psql
  • pgAdmin
SQL
  • A linguagem SQL
  • Palavras-chave
  • Identificadores
  • Valores nulos
  • Comentários
  • Tipos de dados
Gerenciamento de tabelas
  • Introdução
  • Visualizando a estrutura de tabelas
  • Colunas de sistema
  • Sintaxe de criação de tabelas
  • Comando ALTER TABLE
  • Alteração de tabelas e colunas
  • Comentários em objetos
  • Eliminação de tabelas
Restrições e integridade referencial
  • Conceito de integridade referencial
  • Controle de restrições(CONSTRAINT)
  • Constraint CHECK
  • Constraint NOT NULL
  • Constraint UNIQUE
  • Constraint PRIMARY KEY
  • Constraint FOREIGN KEY
Seleção de dados
  • Introdução
  • Utilização de expressões e constantes
  • Eliminação de linhas duplicadas
  • Manipulação de resultados
  • Comando CASE
  • Substituição de valores nulos
  • Funções para lista de valores
  • Consultas Recursivas
Operações de conjuntos
  • Introdução
  • União
  • Intersecção
  • Subtração
Filtros na seleção de dados
  • Utilização da cláusula WHERE
  • Operador LIKE e ILIKE
  • Operador BETWEEN
  • Operador IN
  • Comparações agrupadas
  • Comparações com NULL
  • Cláusula ORDER BY
Seleção de dados de várias tabelas
  • Apelidos de tabelas
  • Cruzamento de dados entre tabelas
  • Tipos de Junções
  • CROSS JOIN
  • INNER e OUTER JOINs
  • NATURAL JOIN
Operadores
  • Tipos de operadores
  • Operadores de texto
  • Expressões regulares
  • Operadores matemáticos
  • Conversão de tipos
Funções
  • Conceito de função
  • Funções matemáticas
  • Funções de data e hora
  • Máscaras de data e hora
  • Funções de texto
  • Funções de conversão de tipos
  • Outras funções
  • Funções de Agregação
  • Cláusula GROUP BY
  • Cláusula HAVING
  • Funções de janela (Window Function)
Sub-consultas
  • Operadores de sub-consultas
  • Sub-consultas no FROM
  • Sub-consultas no SELECT
  • Sub-consultas complexas
Alteração de dados
  • Adição de dados com INSERT
  • Inserção de dados através do SELECT
  • Inserção de dados com COPY
  • Recuperação de dados com COPY
  • COPY no formato CSV
  • Modificação de dados com UPDATE
  • Remoção de dados com DELETE
  • Remoção de dados com TRUNCATE
Controle de transações
  • Transações no PostgreSQL
  • Padrão ACID
  • Mecanismo MVCC
  • Níveis de isolamento
  • Read Commited
  • Serializable
  • Visualização das diferenças
  • SAVEPOINT
Outros objetos de banco de dados
  • Visões(VIEW)
  • Sequências(SEQUENCE)
  • Índices(INDEX)
  • Tabelas clusterizadas
  • Cursores
  • Manipulação de Cursores
BLOBs
  • Conceitos
  • BLOBs no PostgreSQL
  • Manipulação de BLOBs
Herança entre tabelas
  • Conceito de herança em banco de dados
  • Aplicação no PostgreSQL
  • Cláusula INHERITS
  • Cláusula ONLY

PostgreSQL Linguagem Procedural PL/pgSQL

Rules
  • Conceito de RULE no PostgreSQL
  • Substituição comandos SQL
  • Histórico de alterações na tabela
  • RULEs e VIEWs
  • Gerenciando RULEs
  • VIEWs atualizáveis
Funções definidas pelo usuário
  • Tipos de funções
  • Sobrecarga de funções
  • Funções escritas em SQL
  • Funções SQL baseadas em tabelas
  • Funções SQL que retornam conjuntos
  • Funções internas
  • Funções em linguagem C
  • Linguagem procedurais suportadas
Linguagens procedurais
  • Instalação manual da linguagem PL/pgSQL
  • Gerenciamento das linguagens instaladas
Linguagem procedural PL/pgSQL
  • Conceitos
  • Vantagens de usar PL/pgSQL
  • Desenvolvendo em PL/pgSQL
  • Diferença entre as linguagens procedurais de outros bancos
  • Características da linguagem
Estrutura da linguagem
  • Declaração de funções
  • Otimizações de funções
  • Opções de segurança
  • Gerenciamento de funções
  • Blocos de códigos
  • Comentários
  • Variáveis
  • Tipo RECORD
  • Chamando funções
  • Argumento de funções
  • Apelido de argumentos
  • Atributos
  • Valores de retorno
  • Variável FOUND
  • Verificação da execução de comandos SQL
Controle de fluxo
  • Estruras de controle
  • Estruras de repetição
  • Funções que retornam conjuntos
Cursores em PL/pgSQL
  • Declaração de cursores
  • Manipulação de cursores
  • Funções que retornam cursores
SQL dinâmico
  • Criação de funções dinâmicas
  • Comando EXECUTE
  • SQL dinâmico com estruturas de repetição
Tratamento de erros
  • Tipos de mensagens
  • Captação de erros
  • Valores de erros pré definidos
  • Tratamento de erros
Manipulação de Operadores
  • Conceitos
  • Criação de operadores
  • Gerenciamento de operadores
  • Remoção de operadores
Gatilhos (Triggers)
  • Conceito de Trigger
  • Criação de Triggers
  • Recursos de Triggers
  • Retornos das funções de Trigger
  • Características dos Triggers
  • Gerenciamento de Triggers
  • Remoção de Triggers

PostgreSQL Administração de Banco de Dados

Arquitetura do PostgreSQL
  • Conexões
  • Módulos internos
  • Processos
  • Subsistemas de Processos
Instalação do PostgreSQL no Linux
  • Requisitos de Software
  • Instalação a partir dos fontes
  • Configuração de variáveis de ambiente
  • Configuração de script de inicialização
  • Instalação a partir de pacotes
Instalação do PostgreSQL no Windows
  • Particularidades do SO
  • Instalação gráfica
Configuração de ambiente
  • Formatos de data
  • Codificação
  • Localização
  • Variáveis de ambiente
O arquivo postgresql.conf
  • Opções gerais
  • Opções de manutenção
Gerenciamento do banco de dados
  • Criação da área de dados
  • Inicialização do servidor de banco de dados
  • Gerenciamento do processo servidor
  • Utilitários do PostgreSQL
  • Criação do banco de dados
  • Layout físico do agrupamento
  • Remoção de banco de dados
  • Banco de dados template
Tablespaces
  • Conceito
  • Criação de tablespaces
  • Propriedades de tablespaces
  • Alteração de tablespaces
  • Manipulação de tablespaces
Schemas
  • Conceito
  • Criação de Schemas
  • Manipulação de Schemas
Segurança no PostgreSQL
  • Gerenciamento de usuários
  • Permissões de usuários
  • Conceito de ROLEs
  • ROLEs de Login (usuários)
  • ROLEs por banco de dados
  • ROLEs Contêiner (Grupos de usuários)
  • Manipulação de ROLEs
  • Controle de acesso a Objetos
  • Tipos de Privilégios
  • Gerenciamento de Privilégios(GRANT e REVOKE)
  • Controle de acesso através de VIEWs
Catálogo de dados
  • Utilização do catálogo do PostgreSQL
  • Principais tabelas de sistema
Autenticação de clientes
  • Arquivo pg_hba.conf
  • Métodos de autenticação
  • Arquivo pg_ident.conf
Administração de segurança física
  • Conceitos
  • Estratégias de Backup
  • Backup lógico
  • Opções de Backup
  • Os utilitários pg_dump e pg_dumpall
  • Restauração de Backup lógico
  • Opções de restauração
  • O utilitário pg_restore
  • Backup e restauração de grandes bases de dados
  • Backup físico offline
Write Ahead Log (WAL)
  • Conceito
  • Configuração do WAL
  • Benefícios do WAL
Point-in-Time Recovery
  • Conceito
  • Configurações de arquivamento
  • Backup PITR
  • O arquivo recovery.conf
  • Restauração PITR
  • Automatização do processo
Particionamento de tabelas
  • Conceitos e objetivos
  • Tipos de particionamento
  • Implementação de particionamento
  • Configuração de particionamento
Replicação
  • Conceito
  • Replicação sincrona X Replicação assincrona
  • Arquitetura de replicação
  • Ferramentas de replicação
Manutenção de banco de dados
  • Estratégias de manutenção
  • A rotina de VACUUM
  • Atualização de estatísticas
  • Prevenção de falhas no ID de transação(transaction ID wraparound)
  • Verificação de IDs de transação
  • Configuração do autovacuum
  • Rotina de reindexação
Monitoramento do PostgreSQL
  • Monitoramento de espaço em disco
  • Monitoramento do tamanho de tabelas e índices
  • Monitoramento de outros objetos
  • Estatísticas de uso do banco
  • Monitoramento das atividades do cluster
  • Configuração do log de atividades
Migração PostgreSQL
  • Atualização da versão do PostgreSQL
  • Técnicas de migração entre versões
  • Pg_migrator

PostgreSQL Performance Tuning

Regras Gerais de Performance
  • Boas práticas
  • Causas de baixa performance
  • Regras Gerais de Performance
  • Relação Custo x Performance
  • Entendimento da aplicação
  • Requisitos de Hardware
  • Tuning de memória e CPU
  • Tuning de I/O
Otimização de Kernel para o PostgreSQL
  • Kernel
  • Memória compartilhada (Shared Memory)
  • Configuração do Kernel do Linux
  • Configuração de semáforos do sistema
  • O Parâmetro OVERCOMMIT
Otimização de Memória
  • Níveis de cache
  • Mecanismo de cache
  • Memória virtual
  • Paginação
  • Utilização de memória
  • Monitoramento de paginação e swapping
Monitorando o Uso de CPU
  • Ferramentas de monitoramento
  • Monitoramento do uso de CPU
  • Análise de resultados
  • Múltiplas CPUs
  • Dicas de configuração em ambientes críticos
Otimização de I/O do Linux
  • Modelo de I/O no Unix
  • Conceito de RAID
  • Tipos de RAID
  • Análise de dispositivos de I/O
  • Tuning de I/O
  • Tecnologia de discos
  • Tipos de Sistemas de arquivos (File Systems)
  • Particionamento
  • Uso de Tablespace
  • Ajuste do algoritmo de I/O
Otimização de Shared Buffers do PostgreSQL
  • Uso dos caches
  • Shared Buffers
  • Efeitos do Tamanho do Shared Buffers
  • Cálculo do Shared Buffers
  • Monitoramento do Shared Buffers
Otimização de I/O do PostgreSQL
  • Servidor de banco de dados dedicado
  • Distribuição da área de dados entre discos
  • Distribuição dos logs de transação
  • Tuning do Write-Ahed Log (WAL)
  • Configuração de CHECKPOINTs
Parâmetros avançados de Configuração
  • WAL - Segurança x Desempenho
  • Parâmetros do postgresql.conf
  • Configuração de performance
Log de comandos SQL
  • Configuração de log dos comandos SQL
  • Identificação de comandos SQL ineficientes
  • Monitoramento em tempo real
  • Análise de querys com a ferramenta Pgfouine
Utilização de Índices
  • Uso correto de índices
  • Tipos de índices
  • Verificação da eficácia dos índices
  • Verificação de tabelas que necessitam de índices
  • Índices concatenados
  • Multiplos índices
  • Indexação parcial
  • Índices com funções e operadores
  • Utilização de tabelas clusterizadas
  • Reindexação
Otimizações sintáticas
  • Análise da sintaxe SQL
  • Diferenças de performance entre comandos SQL
  • Dicas para a construção de SQL
Avaliação dos planos de execução
  • Visualização do plano de execução (EXPLAIN)
  • Comparação de custos
  • Controle do comportamento do otimizador
  • Opções do otimizador
  • Manipulação do plano de execução
  • Controle do plano de execução
Otimização da recuperação do banco de dados
  • Configuração de desempenho para a carga do banco de dados
Dicas e recomendações finais
  • Melhores práticas para ambientes críticos
  • Dicas e recomendações finais

PostgreSQL Alta Disponibilidade

Alta disponibilidade
  • Conceito
  • Objetivos
  • Tipos de Replicação
  • Técnicas de Replicação
  • Características dos modelos de replicação
  • Estratégia de replicação
Cluster
  • Conceito
  • Cluster de banco de dados
  • Cluster Postgresql
  • Cluster de alta disponibilidade
  • Cluster de balanceamento de carga
  • Cluster de alto desempenho
  • Cluster beowulf
Replicação de banco de dados
  • Objetivos da replicação
  • Exigências da replicação de dados
  • Falha, erro e defeito
  • Terminologia
Tipos de replicação
  • Replicação offline
  • Replicação online
  • Replicação síncrona
  • Replicação assíncrona
  • Replicação Master/Slave
  • Replicação Multi-Master
Banco de dados distribuídos
  • Conceitos
  • Banco de dados distribuídos - replicação
  • Commit em duas fases
  • Banco de dados distribuídos - fragmentação
  • Fragmentação horizontal
Replicação de discos
  • Conceitos
  • Replicação de discos (RAID)
  • Replicação de blocos de discos (DRBD)
  • Configuração do DRBD
  • Replicação DRBD com PostgreSQL Warm Standby
  • Monitoramento
Arquitetura de dados no PostgreSQL
  • Transações
  • Funcionamento do WAL(Write Ahead Log)
  • Configuração do WAL
  • Arquivamento
Alta disponibilidade com Heartbeat
  • Conceitos
  • Funcionalidades CRM(Cluster Resource Manager)
  • Instalação e configuração
  • Exemplos de Implementação
  • Integração Heartbeat com PostgreSQL Warm Standby
  • Monitoramento do Heartbeat
  • Simulações de failover
PostgreSQL Warm Standby
  • Replicação com WAL
  • Log Shipping
  • Log Shipping com pg_standby
  • Restrições
  • Exemplos de Implementação
Streaming Replication/Hot Standby
  • Conceito
  • Streaming Replication X Warm Standby
  • Configuração de Streaming Replication
  • Monitoramento de Streaming Replication
  • Hot Standby
  • Streaming Replication + Hot Standby
Balanceamento de carga
  • Conceitos
  • Arquitetura para balanceamento
  • Paralelização horizontal
  • Paralelização vertical
  • Processamento distribuído
  • Configuração de replicação com balanceamento
Vantagens/Desvantagens das Ferramentas
  • Slony-l
  • Pgpool-II
  • PLProxy
  • Londiste
  • Bucardo
  • Sequoia
  • PGCluster
  • Turma regular

    Turmas prevista no calendário de cursos, aberta para o público em geral. Clique aqui e veja nosso calendário.

  • Turma In-company

    Turma fechada para grupos de empresas, podem ser realizadas na sede da Dextraining ou na sede da empresa contratante. Para mais informações entre em contato conosco clicando aqui.

Descontos diferenciados

  • 25% de desconto para:

    • » Ex-alunos
    • » Empresas parceiras
  • 15% de desconto para:

    • » Estudantes universitários
    • » Estudantes pós-graduando
    • » Indicações ¹
  • 10% de desconto para:

    • » Pagamentos à vista
* Descontos não cumulativos.
¹ Válido para inscrições na mesma turma.

Próximas turmas

Local Período Início Término Inscrições
Não há turmas previstas para este curso.

Se interessou pelo curso? Solicite nosso atendimento personalizado!






 Matutino Diurno (em período de férias) Noturno Integral (aos sábados)

Cursos relacionados