SlideShare uma empresa Scribd logo
PostgreSQL
    Conceitos e aplicações
      Fernando Ike

      Fábio Telles
29 de Outubro de 2005   http://www.mhowto.com.br/database/
Agenda
 Conceitos e Aplicações   Migrando para PostgreSQL

                          ­ Boas práticas
­ Histórico
­ Características         ­ Antes de migrar
­ Ferramentas             ­ Durante a migração
­ Instalação              ­ SQL
­ Objetos                 ­ PL
                          ­ Storage
­ Autenticação
                          ­ Backup
­ Localização
                          ­ Segurança
­ Transações
                          ­ ora2pg
­ Backup
                          ­ Contatos
­ Storage
­ Administração
­ Tunning
­ Comunidade
Histórico

• 1980 inicio do Ingres pela Berkeley e Computer Associates
• 1986 inicio do Postgres pela Berkeley
• 1987 primeira versão do Postgres
• 1989 liberação para usuários restritos da versão 1
• 1991 versão 3  com as principais funcionalidades atuais.
• 1993 versão 4.2, última lançada pela Berkeley
• 1994 Andrew Yu e Jolly Chen criaram a versão conhecida 
como Postgre95 (versão 5) com interpretador para a linguagem 
SQL.
• 1997 nome do projeto muda para PostgreSQL, a versão 6 é 
lançada
• 2000 versão 7 lançada com suporte a Foreign Key
• 2005 versão 8 lançada com versão nativa (sem uso do 
CYGWIN) para Windows, TABLESPACES, SAVEPOINTS, 
POINT­IN­TIME­RECOVERY. etc.
• 2005 em versão 8.1 beta 4
Características

• Melhor suporte: independente do fornecedor
• Baixo custo de manutenção e tunning
• Alta estabilidade
• Extensibilidade: pode ser customisado com funções, tipos ou 
através acesso ao código fonte. Extensões na pasta /contrib
• Flexibilidade: roda em várias plataformas (inclusive BSD)
• Robusto: criado para suportar grande volume de dados e 
transações concorrentes.
• Controle de transações utilizando MVCC ou Locks explícitos
• Compatível com ANSI SQL
• Funções em SQL, C, C++, PLpg/SQL, PL/Perl, PL/Python, 
PL/TCL suportadas nativamente além de  PL/Java, PL/PHP, 
PL/R.
(algumas) Ferramentas

Ferramenta nativa:
• psql

Ferramentas gráficas de administração: 
• pgADMIN III
• PHPpgADMIN
• TORA
• pgACCESS
 
Ferramentas de modelagem:
• Data Architect
• Erwin
• Case Studio
Uso do psql

Parâmetros ao invocar o psql:
• ­U <user> : usuário que se conectará ao banco
• ­h <host> : local onde o Banco de Dados se conectará

Comandos utilizados dentro do psql:
• ? ajuda para comandos do psql
• h ajuda para sintaxe SQL
• d lista objetos existentes
• i executa arquivo SQL
• l lista bancos de dados disponíveis
• q sair
Instalação

• Adquirir código­fonte
• Compilar (estabelece alguns parêmetros intrínsecos)
• Criar usuário 'postgres'
• Criar cluster (estabelece local padrão de dados, localização e 
codificação)
• Iniciar o postmaster
• Criar um banco de dados (estabelece variáveis de desempenho, 
localização e codificação)
• Teste com psql
• Configuração de path e inicialização
• Configuração do controle de acesso
Objetos SQL

• Índices: btree, hash, rtree e gist 
•Sequencias
• Views (podem receber UPDATE, INSERT e UPDATE através 
de RULES)
• Domínios
• Esquemas (podem estar atrelados ou não aos usuários)
• Tipos de dados
• Funções 
• Funções de agragação
• Funções de operadores
• Funções de conversão de caracteres
• Funções de conversão de tipo de dados
• Funções de utilização de índices
• Trigger, Constraint Trigger
Autenticação

Tipos de autenticação:
  local (usando socket UNIX)
✔

✔ host (TCP/IP com ou sem SSL)

✔ hostssl (TCP/IP com SSL)

✔ hostnossl (TCP/IP sem SSL)




Métodos de autenticação:
  TRUST (aceita incondicionalmente)
✔

✔ REJECT (rejeita incondicionalmente)

✔ md5

✔ crypt

✔ password (texto puro)

✔ Kerberos v4 e v5

✔ ident 

✔ PAM
Localização

Suporte a localização:
  Ordenação de strings
✔

✔ Idioma de menssagens

✔ Formatação de quantias monetárias

✔ Formatação de números

✔ Formatação de data e hora




Suporte a conjunto de caracteres:
  Suporte a ASCII, ISO, EUC, MULE, UTF8
✔

✔ Conversão automática de codificação no servidor e cliente.
Transações

• Possibilidade de usar modo auto­commited
• Uso de controle de multiversão (MMVC) permite acesso 
simuntâneo de leitura e escrita utilizando um snapshot separado
• Uso de isolamento Read Commited ou Serializable
• Possibilidade de utilizar Lock explícito do tipo Acces Share, 
Row Share, Row Exclusive, Share Update Exclusive, Share, 
Share Row Exclusive, Exclusive e Access Exclusive.
• Facilita a manutenção do sistema pois quando um domínio é 
alterado, todos campos baseados nele são alterados 
autimáticamente.
• Transação pode utilizar SAVEPOINT para retornar a trasação 
até pontos específicos.
Backup

Dump
 Realiza dump consistente com o banco de dados on­line sem 
✔


bloquear usuários
✔pg_dump gera dump em modo texto (em formato SQL), binário 


e compactado por GZIP.
✔Podem ser selecionados parte dos objetos na exportação ou 


importação como permições, dados, esquemas, etc.
✔um dump pode ser exportado ou compactado diretamente para 


outro banco utilizando pipe!
✔Objetos binários só podem ser exportados no modo binário.
Backup

Cópia do datafile
  Só pode ser realizado com o banco off­line ou com snapshot 
✔


(através do SO) de todos tablespaces e log (WAL) 
simultaneamente.

Cópia do datafile + cópia de log (WAL)
  Permite a cópia dos datafiles com o banco de dados on­line sem 
✔


o uso de snapshot.
✔ Permite a recuperação uma data e hora específica ou até o a 


realização de determinada transação.
✔ Permite o controle de históricos paralelos de recuperações até 


um ponto específico.
✔ Necessita de espaço para arquivamento do WAL a partir da 


realização da última cópia dos datafiles.
✔ Permite a criação de um Stand By em outro servidor.
Storage

• Uso de Table Spaces para tabelas e índices
• Cada Table Space define um diretório vazio onde o 
PostgreSQL cria arquivos automaticamente. Estes diretórios são 
ligados por links simbólicos 
• Área para catálogo do sistema e armazenamento temporário é 
definido na criação do Cluster e não pode ser modificado
• Mecanismo TOAST gerencia o armazenamento de tabelas com 
mais de 1GB e colunas de comprimento variável.
• Colunas de tamanho variável podem ser comprimidas ou não e 
armazenadas em arquivo separado da tabela ou não. 
Storage

Limites*:
• Tamanho máximo do Banco de Dados: Ilimitado
• Tamanho máximo de tabela: 32 TB
• Tamanho máximo de linha: 1,6 TB
• Tamanho máximo de campo: 1 GB
• Número máximo de linhas por tabela: Ilimitado
• Número máximo de colunas por tabela: 250 – 1600 
(dependendo dos tipos de dados utilizados)
• Número de índices por tabela: Ilimitado

* Estes valores podem variar devido a restrições do sistema operacional ou 
plataforma utilizada
Administração

Vacuum:
• Recupera espaço em disco utilizado pelo MMVC
• Atualiza estatísticas utilizadas pelo planejador
• Estatísticas podem ser diferenciadas para colunas específicas de 
tabelas
• Previne reinicio no id de transações
• Pode ser executado com o Banco de Dados on­line com ajustes 
no impacto de desempenho. 
• Pode ser automatizado
Administração

Monitoramento:
• Estatísticas e bloqueios no servidor são visíveis em tabelas do 
catálogo ou através de funções.
• Quantidade de estatísticas coletadas pode ser alterada para todo 
o servidor ou para seções específicas.
• Espaço em disco ocupado por tabelas e índices podem ser 
monitorados através de tabelas do catálogo ou através da 
ferramenta oid2toname
Tunning
• Acesso ao código fonte permite otimização para casos especiais
• Compilação permite habilitar ou não caratcterísticas que afetam 
o desempenho
• postgresql.conf possui vários parâmetros que controlam:
     • o uso de memória
     • uso de recursos do sistema 
     • localização de arquivos
     • conexão e autenticação
     • uso do VACUUM
     • escrita em segundo plano
     • WAL e pontos de controle
     • local, quantidade de informações e formato de log
     • uso de índices, controle de custo, e otimizador genético
      controle de coleta de estatísticas do servidor
• Parâmetros de postgresql.conf podem ser alterados reiniciando 
o servidor, ou podem ser personalizados para um Banco de 
Dados, secção ou usuário específico.
Comunidade

• Site oficial: http://www.postgresql.org
     • Documentação de todas versões
     • Notícias de lançamentos
     • Dowload do código fonte
     • Listas de discussão
• Projetos relacionados: http://gborg.postgresql.org
• Outros projetos: http://pgfoundry.org/
• Certificação: http://osb.sra.co.jp/postgresql­ce/news_en.html
• Diretório Contrib no código­fonte
• Projetos em destaque: GiST, pg_pool, pg_cluster, xml, etc. 

• Site nacional: http://postgresql.org.br 
• Canais em irc.freenodes.net: 
          #POSTGRESQL, #POSTGRESQL­BR
Migrando de Oracle para
            PostgreSQL
      Fernando Ike

      Fábio Telles
29 de Outubro de 2005   http://www.mhowto.com.br/database/
Boas práticas

• Evitar utilizar extenções específicas de um SGBD
• Utilizar ao máximo a sintaxe padrão ANSI SQL
• Evite o uso de mixed case (notação Húngara), use minúsculas 
para nomes de objetos e maiúsculas para palavras reservadas.
• Documentar rigorosamente todo o código armazenado no 
banco
• Utilizar tipos de dados binários somente quando necessário
Antes de migrar


• Leia atentamente toda a documentação dos dois SGBDs e 
identifique diferenças na sintaxe e funcionalidades utilizadas 
• Realizar Backup total antes de realizar qualquer teste
• Realizar testes em um servidor de teste.
• Verificar codificação de caracteres e localização.
• Verificar espaço em disco disponível, o espaço ocupado pelo 
banco pode variar de SGBD para SGBD.
Durante a migração


• Registre todo o processo. 
• Migre primeiros sistemas não críticos
• Migre primeiro o que é mais simples como tabelas e índices
• Se possível,  gere scripts em texto puro com todo DDL e 
DML
• Importe tabelas, dados e constraints separadamante
• Habilitar e checar logs durante exportações e importações.
• Migre primeiro o que é mais simples como tabelas e índices
• Homologue cada etapa antes de prosseguir.
Diferenças no SQL
ORACLE                              > PostgreSQL
Tipos de dados
• VARCHAR2                          > VARCHAR
 NUMBER                             > NUMERIC

JOIN
• FROM t1, t2                       > FROM t1 LEFT OUTER JOIN t2
      WHERE t1.id = t2.id(+)               ON t1.id = t2.id

Funções:
  DECODE (sexo, 'M',                > CASE WHEN sexo = 'M' then 'Masculino'
●


      'Masculino,'F','Feminino')           WHEN sexo = 'F' then 'Feminino' END
●NVL                                > COALESCE
● sysdate, systimestamp             > current_date, current_timestamp

UNION
 MINUS                              > EXCEPT
●




Clausula LIMIT e OFSET:
 ROWNUM, ROWID                      > LIMIT, OFSET, OID
●
SQL

• Catálogo de sistema SYS e SYSTEM  do Oracle são 
equivalentes ao pg_catalog e inoformation_schema no 
PostgreSQL
• PostgreSQL é sensitive case. Todos nomes de objetos com 
letras maiúsculas devem estar entre aspas.
• O PostgreSQL não necessita do uso da tabela DUAL. Pode ser 
criada uma para manter a compatibilidade
• Implementação de hierarquia entre tabelas, XML, Database 
Link e outras funções avançadas possuem diferenças
• O PostgreSQL não possui  visões materializadas. No entanto é 
possível contornar este problema com gatilhos e funções
PL/SQL X PLpg/SQL

• Não existem procedures no PostgreSQL, no entanto uma 
função pode ser utilizada retornando o tipo VOID.
• Não existem valores DEFAULT para parâmetos recebidos no 
PL/SQL, no entanto é possível utilizar sobrecarga de funções.
• O PostgreSQL não tem suporte aos parâmetros IN e OUT, 
somente IN*
• Não existem Packages no PostgreSQL, no entanto os objetos 
podem ser organizados num esquema separado. Variáveis de 
nivel de pacote podem ser armazenadas em tabelas temporárias 
mantidas durante a sessão.
• Cursores não são necessários no PostgreSQL. A consulta deve 
ser declarada junto a clausula FOR do laço.
• O corpo da função deve estar marcas de dólar no PostgreSQL
• Os gatilhos no PostgreSQL chamam uma e apenas uma função, 
não havendo código em seu corpo.
* Este problema foi resolvido na versão 8.1 que se encontra no beta 4
Storage

• O conceito de Espaço de Tabelas no PostgreSQL se refere a 
uma pasta que é gerenciada pelo SGBD. Não é possível definir 
datafiles específicos. A única influência sobre os datafiles é 
especificar o formato de armazinamento nas colunas com valores 
grandes.
• O PostgreSQL não tem implementado explicitamente o 
conceito de extenções e segmentos.
• Ainda não é possível especificar o local de armazenamento 
separado para área temporária para áreas temporárias (para 
operações de rollback, ordenação, indexação, etc). Estas áreas 
ficam todas no mesmo local que o catálogo do sistema.
Backup

• Conceito de Redo no Oracle é semelhante ao conceito de WAL 
no PostgreSQL
• Conceito de DUMP é semelhante em ambos.
• DUMP no PostgreSQL permite redirecionamento via pipe. 
• Conceito de cópia de arquivos de dados é semelhante em 
ambos.
• Conceito de Stand By é semelhante em ambos.
• O PostgreSQL não possui uma ferramenta de flash back.
• O PostgreSQL não possui ferramenta natica no estilo do 
RMAN
Segurança

• Conceito de ROLE no Oracle é semelhante ao conceito de GROUP no 
PostgreSQL. Um GROUP não pode ser usado para se conectar, apenas 
para agrupar permissões de usuários*
• GRANT e REVOKE tem funcionalidade semelhante
• SCHEMAS não são automaticamente atrelados ao usuário no 
PostgreSQL. Eles precisam ser criados manualmente. Depois disso se 
comporta de maneira parecida. No entanto um esquema pode possuir 
objetos de outro dono se ele tiver as permissões necessárias para isso.
• O ROLE “connect” no Oracle é realizado através do pg_hba.conf no 
PostgreSQL
• O ROLE “resource” no Oracle é semelhante a possuir privilégio para 
criar objetos num esquema do PostgreSQL.
• O Role DBA é no Oracle é semelhante ao superusuário do PostgreSQL
• O Role SYS é no Oracle é semelhante ao usuário POSTGRES no 
PostgreSQL

* Os GROUPs serão convertidos ROLEs com as mesmas funcionalidades na versão 8.1
ora2pg

• Feito em PERL. Depende dos módulos DBI, DBD::Pg e 
DBD::Oracle
• Importa dados e definições do Oracle para um arquivo texto ou 
direto para um banco no PostgreSQL
• Suporte a extração de DDL de tabelas, indices, constraints, 
views, triggers, procedures, functions, packages e grants.
• Dados podem ser exportados no formato INSERT ou COPY.
• Pode ser selecionado um esquema ou tabela específico para ser 
importado. 
• Corrige nomes de tipos de dados diferentes.
• Extrai o código do corpo de triggers numa função.
• Algumas funções com nome diferente precisam 
• Funções em PL/SQL geralmente precisam de um pouco de 
edição manual.
• Funções SQL diferentes precisam de edição manual.
Contatos




Fábio Telles 
<fabio.telles@diadema.sp.gov.br>
<fabio@nantu.com.br>

Fernando Ike
<fernando.ike@diadema.sp.gov.br>
<fernando@nantu.com.br>

Mais conteúdo relacionado

Mais procurados

Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScript
Carlos Eduardo Kadu
 
Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de DadosBanco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
Natanael Simões
 
Slide disco rigido
Slide disco rigidoSlide disco rigido
Slide disco rigido
Luís Otávio
 
Comandos linux
Comandos linuxComandos linux
Comandos linux
Ivani Nascimento
 
Noções básicas de Sistemas Operacionais
Noções básicas de Sistemas OperacionaisNoções básicas de Sistemas Operacionais
Noções básicas de Sistemas Operacionais
Luciano Crecente
 
Fundamentos de banco de dados 01 indrodução
Fundamentos de banco de dados   01 indroduçãoFundamentos de banco de dados   01 indrodução
Fundamentos de banco de dados 01 indrodução
Rafael Pinheiro
 
Seguranca de rede
Seguranca de redeSeguranca de rede
Usabilidade 5 - Análise Heurística
Usabilidade 5 - Análise HeurísticaUsabilidade 5 - Análise Heurística
Usabilidade 5 - Análise Heurística
Marcello Cardoso
 
História do linux ppt
História do linux pptHistória do linux ppt
História do linux ppt
shade09
 
Fundamentos de arquitetura Web
Fundamentos de arquitetura WebFundamentos de arquitetura Web
Fundamentos de arquitetura Web
Denis L Presciliano
 
Arquitetura de dispositivos móveis
Arquitetura de dispositivos móveis Arquitetura de dispositivos móveis
Arquitetura de dispositivos móveis
Italo Andrade
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de Dados
Rafael Albani
 
Linux para leigos
Linux para leigos Linux para leigos
Linux para leigos
Guilherme Hinkelmann
 
Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15
Christiano Anderson
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
Rudson Kiyoshi Souza Carvalho
 
Organização de computadores
Organização de computadoresOrganização de computadores
Organização de computadores
Carlos Wagner Costa
 
Curso CSS 3 - Aula Introdutória com conceitos básicos
Curso CSS 3 - Aula Introdutória com conceitos básicosCurso CSS 3 - Aula Introdutória com conceitos básicos
Curso CSS 3 - Aula Introdutória com conceitos básicos
Tiago Antônio da Silva
 
Oracle APEX概要
Oracle APEX概要Oracle APEX概要
Oracle APEX概要
Nakakoshi Yuji
 
Introdução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxIntrodução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptx
MarceloRosenbrock1
 
Desenvolvimento Mobile
Desenvolvimento MobileDesenvolvimento Mobile
Desenvolvimento Mobile
Elton Minetto
 

Mais procurados (20)

Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScript
 
Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de DadosBanco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
 
Slide disco rigido
Slide disco rigidoSlide disco rigido
Slide disco rigido
 
Comandos linux
Comandos linuxComandos linux
Comandos linux
 
Noções básicas de Sistemas Operacionais
Noções básicas de Sistemas OperacionaisNoções básicas de Sistemas Operacionais
Noções básicas de Sistemas Operacionais
 
Fundamentos de banco de dados 01 indrodução
Fundamentos de banco de dados   01 indroduçãoFundamentos de banco de dados   01 indrodução
Fundamentos de banco de dados 01 indrodução
 
Seguranca de rede
Seguranca de redeSeguranca de rede
Seguranca de rede
 
Usabilidade 5 - Análise Heurística
Usabilidade 5 - Análise HeurísticaUsabilidade 5 - Análise Heurística
Usabilidade 5 - Análise Heurística
 
História do linux ppt
História do linux pptHistória do linux ppt
História do linux ppt
 
Fundamentos de arquitetura Web
Fundamentos de arquitetura WebFundamentos de arquitetura Web
Fundamentos de arquitetura Web
 
Arquitetura de dispositivos móveis
Arquitetura de dispositivos móveis Arquitetura de dispositivos móveis
Arquitetura de dispositivos móveis
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de Dados
 
Linux para leigos
Linux para leigos Linux para leigos
Linux para leigos
 
Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
 
Organização de computadores
Organização de computadoresOrganização de computadores
Organização de computadores
 
Curso CSS 3 - Aula Introdutória com conceitos básicos
Curso CSS 3 - Aula Introdutória com conceitos básicosCurso CSS 3 - Aula Introdutória com conceitos básicos
Curso CSS 3 - Aula Introdutória com conceitos básicos
 
Oracle APEX概要
Oracle APEX概要Oracle APEX概要
Oracle APEX概要
 
Introdução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxIntrodução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptx
 
Desenvolvimento Mobile
Desenvolvimento MobileDesenvolvimento Mobile
Desenvolvimento Mobile
 

Destaque

PostgreSQL Conceitos e aplicações
PostgreSQL  Conceitos e aplicaçõesPostgreSQL  Conceitos e aplicações
PostgreSQL Conceitos e aplicações
Fabio Telles Rodriguez
 
Migração de Oracle para PostgreSQL - FISL
Migração de Oracle para PostgreSQL - FISLMigração de Oracle para PostgreSQL - FISL
Migração de Oracle para PostgreSQL - FISL
Fabio Telles Rodriguez
 
Alternativas ao Software Proprietário
Alternativas ao Software ProprietárioAlternativas ao Software Proprietário
Alternativas ao Software Proprietário
Hudson Augusto
 
Escalabilidade, as modas, (No)SQL
Escalabilidade, as modas, (No)SQLEscalabilidade, as modas, (No)SQL
Escalabilidade, as modas, (No)SQL
Fernando Ike
 
ISO 27001- Resumo - Mapa Mental dos Controles
ISO 27001- Resumo - Mapa Mental dos ControlesISO 27001- Resumo - Mapa Mental dos Controles
ISO 27001- Resumo - Mapa Mental dos Controles
CompanyWeb
 
Database Class - Pontos de defasagem e questões de brinde.
Database Class - Pontos de defasagem e questões de brinde.Database Class - Pontos de defasagem e questões de brinde.
Database Class - Pontos de defasagem e questões de brinde.
Jann Claude Mousquer
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardo
elliando dias
 
DER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e RelacionamentosDER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e Relacionamentos
Cláudio Amaral
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
Gleydson Sousa
 
Treinamento Oracle Forms
Treinamento Oracle FormsTreinamento Oracle Forms
Treinamento Oracle Forms
Felipe Goulart
 

Destaque (10)

PostgreSQL Conceitos e aplicações
PostgreSQL  Conceitos e aplicaçõesPostgreSQL  Conceitos e aplicações
PostgreSQL Conceitos e aplicações
 
Migração de Oracle para PostgreSQL - FISL
Migração de Oracle para PostgreSQL - FISLMigração de Oracle para PostgreSQL - FISL
Migração de Oracle para PostgreSQL - FISL
 
Alternativas ao Software Proprietário
Alternativas ao Software ProprietárioAlternativas ao Software Proprietário
Alternativas ao Software Proprietário
 
Escalabilidade, as modas, (No)SQL
Escalabilidade, as modas, (No)SQLEscalabilidade, as modas, (No)SQL
Escalabilidade, as modas, (No)SQL
 
ISO 27001- Resumo - Mapa Mental dos Controles
ISO 27001- Resumo - Mapa Mental dos ControlesISO 27001- Resumo - Mapa Mental dos Controles
ISO 27001- Resumo - Mapa Mental dos Controles
 
Database Class - Pontos de defasagem e questões de brinde.
Database Class - Pontos de defasagem e questões de brinde.Database Class - Pontos de defasagem e questões de brinde.
Database Class - Pontos de defasagem e questões de brinde.
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardo
 
DER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e RelacionamentosDER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e Relacionamentos
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 
Treinamento Oracle Forms
Treinamento Oracle FormsTreinamento Oracle Forms
Treinamento Oracle Forms
 

Semelhante a PostgreSQL: Conceitos e aplicações

Conceitoseaplicaes
ConceitoseaplicaesConceitoseaplicaes
Conceitoseaplicaes
Leonardo Medeiros Martins
 
Desenvolvendo aplicativos web escaláveis
Desenvolvendo aplicativos web escaláveisDesenvolvendo aplicativos web escaláveis
Desenvolvendo aplicativos web escaláveis
Manuel Lemos
 
PostgreSQL Conceitos e aplicações - FSA
PostgreSQL  Conceitos e aplicações - FSAPostgreSQL  Conceitos e aplicações - FSA
PostgreSQL Conceitos e aplicações - FSA
Fabio Telles Rodriguez
 
Design Patterns para Tuning Pentaho com Ctools
Design Patterns para Tuning Pentaho com CtoolsDesign Patterns para Tuning Pentaho com Ctools
Design Patterns para Tuning Pentaho com Ctools
e-Setorial
 
LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04
Carlos Santos
 
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
Marcus Vinicius Miguel Pedro
 
Bancos de dados open source
Bancos de dados open sourceBancos de dados open source
Bancos de dados open source
Rodrigo Aurélio
 
Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?
Marcelo Dieder
 
Apresentação GT - Digital Preservation
Apresentação GT - Digital PreservationApresentação GT - Digital Preservation
Apresentação GT - Digital Preservation
Roberto Beraldo Chaiben
 
2019 - Natura MeetUp - Journey to Cloud and Relational Databases
2019 - Natura MeetUp - Journey to Cloud and Relational Databases2019 - Natura MeetUp - Journey to Cloud and Relational Databases
2019 - Natura MeetUp - Journey to Cloud and Relational Databases
Marcus Vinicius Miguel Pedro
 
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
Jeronimo Zucco
 
Apostila Curso Php My Sql(Portugues)
Apostila Curso Php My Sql(Portugues)Apostila Curso Php My Sql(Portugues)
Apostila Curso Php My Sql(Portugues)
guestcc491
 
Cloud PostgreSQL em alta performance
Cloud PostgreSQL em alta performanceCloud PostgreSQL em alta performance
Cloud PostgreSQL em alta performance
Saveincloud
 
2012 - Veris - DBA Career and Oracle Database
2012 - Veris - DBA Career and Oracle Database2012 - Veris - DBA Career and Oracle Database
2012 - Veris - DBA Career and Oracle Database
Marcus Vinicius Miguel Pedro
 
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...
Jeronimo Zucco
 
Linux Servidor Proxy(squid)
Linux Servidor Proxy(squid)Linux Servidor Proxy(squid)
Linux Servidor Proxy(squid)
elliando dias
 
Apresentacao Aula02 So
Apresentacao Aula02 SoApresentacao Aula02 So
Apresentacao Aula02 So
Humberto Bruno Pontes Silva
 
(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript
Carlos Santos
 
Instalação CakePHP 2.2.3
Instalação CakePHP 2.2.3Instalação CakePHP 2.2.3
Instalação CakePHP 2.2.3
Maurício Barfknecht
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardo
Fabio Telles Rodriguez
 

Semelhante a PostgreSQL: Conceitos e aplicações (20)

Conceitoseaplicaes
ConceitoseaplicaesConceitoseaplicaes
Conceitoseaplicaes
 
Desenvolvendo aplicativos web escaláveis
Desenvolvendo aplicativos web escaláveisDesenvolvendo aplicativos web escaláveis
Desenvolvendo aplicativos web escaláveis
 
PostgreSQL Conceitos e aplicações - FSA
PostgreSQL  Conceitos e aplicações - FSAPostgreSQL  Conceitos e aplicações - FSA
PostgreSQL Conceitos e aplicações - FSA
 
Design Patterns para Tuning Pentaho com Ctools
Design Patterns para Tuning Pentaho com CtoolsDesign Patterns para Tuning Pentaho com Ctools
Design Patterns para Tuning Pentaho com Ctools
 
LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04
 
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
 
Bancos de dados open source
Bancos de dados open sourceBancos de dados open source
Bancos de dados open source
 
Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?
 
Apresentação GT - Digital Preservation
Apresentação GT - Digital PreservationApresentação GT - Digital Preservation
Apresentação GT - Digital Preservation
 
2019 - Natura MeetUp - Journey to Cloud and Relational Databases
2019 - Natura MeetUp - Journey to Cloud and Relational Databases2019 - Natura MeetUp - Journey to Cloud and Relational Databases
2019 - Natura MeetUp - Journey to Cloud and Relational Databases
 
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
 
Apostila Curso Php My Sql(Portugues)
Apostila Curso Php My Sql(Portugues)Apostila Curso Php My Sql(Portugues)
Apostila Curso Php My Sql(Portugues)
 
Cloud PostgreSQL em alta performance
Cloud PostgreSQL em alta performanceCloud PostgreSQL em alta performance
Cloud PostgreSQL em alta performance
 
2012 - Veris - DBA Career and Oracle Database
2012 - Veris - DBA Career and Oracle Database2012 - Veris - DBA Career and Oracle Database
2012 - Veris - DBA Career and Oracle Database
 
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...
 
Linux Servidor Proxy(squid)
Linux Servidor Proxy(squid)Linux Servidor Proxy(squid)
Linux Servidor Proxy(squid)
 
Apresentacao Aula02 So
Apresentacao Aula02 SoApresentacao Aula02 So
Apresentacao Aula02 So
 
(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript
 
Instalação CakePHP 2.2.3
Instalação CakePHP 2.2.3Instalação CakePHP 2.2.3
Instalação CakePHP 2.2.3
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardo
 

Mais de Fernando Ike

Arquitetura de Micro Serviços
Arquitetura de Micro ServiçosArquitetura de Micro Serviços
Arquitetura de Micro Serviços
Fernando Ike
 
(Quase) 10 anos de DevOps, e agora?
(Quase) 10 anos de DevOps, e agora? (Quase) 10 anos de DevOps, e agora?
(Quase) 10 anos de DevOps, e agora?
Fernando Ike
 
Containers and Databases
Containers and DatabasesContainers and Databases
Containers and Databases
Fernando Ike
 
Infraestrutura Imutável - Agile Trends
Infraestrutura Imutável - Agile TrendsInfraestrutura Imutável - Agile Trends
Infraestrutura Imutável - Agile Trends
Fernando Ike
 
Infraestrutura imutável - A base das aplicações na nuvem
Infraestrutura imutável - A base das aplicações na nuvemInfraestrutura imutável - A base das aplicações na nuvem
Infraestrutura imutável - A base das aplicações na nuvem
Fernando Ike
 
DevOps Anti-Patterns - Campus Party
DevOps Anti-Patterns - Campus PartyDevOps Anti-Patterns - Campus Party
DevOps Anti-Patterns - Campus Party
Fernando Ike
 
Blameless: A culpa não é sua
Blameless: A culpa não é suaBlameless: A culpa não é sua
Blameless: A culpa não é sua
Fernando Ike
 
DevOps: A revolução ruidosa da TI
DevOps: A revolução ruidosa da TIDevOps: A revolução ruidosa da TI
DevOps: A revolução ruidosa da TI
Fernando Ike
 
Docker Swarm Cluster
Docker Swarm ClusterDocker Swarm Cluster
Docker Swarm Cluster
Fernando Ike
 
DevOps - Por onde começar
DevOps - Por onde começarDevOps - Por onde começar
DevOps - Por onde começar
Fernando Ike
 
DevOps Anti-Patterns
DevOps Anti-PatternsDevOps Anti-Patterns
DevOps Anti-Patterns
Fernando Ike
 
A lista do PostgerSQL Brasil caiu?
A lista do PostgerSQL Brasil caiu? A lista do PostgerSQL Brasil caiu?
A lista do PostgerSQL Brasil caiu?
Fernando Ike
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucao
Fernando Ike
 
Akamai Cloud Security
Akamai Cloud SecurityAkamai Cloud Security
Akamai Cloud Security
Fernando Ike
 
Management 3.0 - a vida pós-agilidade
Management 3.0 - a vida pós-agilidadeManagement 3.0 - a vida pós-agilidade
Management 3.0 - a vida pós-agilidade
Fernando Ike
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida real
Fernando Ike
 
Devops
DevopsDevops
Devops
Fernando Ike
 
Docker e postgresql
Docker e postgresqlDocker e postgresql
Docker e postgresql
Fernando Ike
 
Um milhao de usuários simultâneos
Um milhao de usuários simultâneosUm milhao de usuários simultâneos
Um milhao de usuários simultâneos
Fernando Ike
 
Banco caiu! E a gora?
Banco caiu! E a gora?Banco caiu! E a gora?
Banco caiu! E a gora?
Fernando Ike
 

Mais de Fernando Ike (20)

Arquitetura de Micro Serviços
Arquitetura de Micro ServiçosArquitetura de Micro Serviços
Arquitetura de Micro Serviços
 
(Quase) 10 anos de DevOps, e agora?
(Quase) 10 anos de DevOps, e agora? (Quase) 10 anos de DevOps, e agora?
(Quase) 10 anos de DevOps, e agora?
 
Containers and Databases
Containers and DatabasesContainers and Databases
Containers and Databases
 
Infraestrutura Imutável - Agile Trends
Infraestrutura Imutável - Agile TrendsInfraestrutura Imutável - Agile Trends
Infraestrutura Imutável - Agile Trends
 
Infraestrutura imutável - A base das aplicações na nuvem
Infraestrutura imutável - A base das aplicações na nuvemInfraestrutura imutável - A base das aplicações na nuvem
Infraestrutura imutável - A base das aplicações na nuvem
 
DevOps Anti-Patterns - Campus Party
DevOps Anti-Patterns - Campus PartyDevOps Anti-Patterns - Campus Party
DevOps Anti-Patterns - Campus Party
 
Blameless: A culpa não é sua
Blameless: A culpa não é suaBlameless: A culpa não é sua
Blameless: A culpa não é sua
 
DevOps: A revolução ruidosa da TI
DevOps: A revolução ruidosa da TIDevOps: A revolução ruidosa da TI
DevOps: A revolução ruidosa da TI
 
Docker Swarm Cluster
Docker Swarm ClusterDocker Swarm Cluster
Docker Swarm Cluster
 
DevOps - Por onde começar
DevOps - Por onde começarDevOps - Por onde começar
DevOps - Por onde começar
 
DevOps Anti-Patterns
DevOps Anti-PatternsDevOps Anti-Patterns
DevOps Anti-Patterns
 
A lista do PostgerSQL Brasil caiu?
A lista do PostgerSQL Brasil caiu? A lista do PostgerSQL Brasil caiu?
A lista do PostgerSQL Brasil caiu?
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucao
 
Akamai Cloud Security
Akamai Cloud SecurityAkamai Cloud Security
Akamai Cloud Security
 
Management 3.0 - a vida pós-agilidade
Management 3.0 - a vida pós-agilidadeManagement 3.0 - a vida pós-agilidade
Management 3.0 - a vida pós-agilidade
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida real
 
Devops
DevopsDevops
Devops
 
Docker e postgresql
Docker e postgresqlDocker e postgresql
Docker e postgresql
 
Um milhao de usuários simultâneos
Um milhao de usuários simultâneosUm milhao de usuários simultâneos
Um milhao de usuários simultâneos
 
Banco caiu! E a gora?
Banco caiu! E a gora?Banco caiu! E a gora?
Banco caiu! E a gora?
 

PostgreSQL: Conceitos e aplicações