Bom… todos sabem que o Oracle possui uma miríade de recursos bacanas e interessantes. Alguns deles o PostgreSQL realmente não tem, e alguns eu acredito que nunca terá (até porquê a equipe do PostgreSQL tem uma visão diferente em vários pontos da Oracle). Não estou dizendo que o PostgreSQL é melhor que o Oracle ou vice versa… estou dizendo apenas que escolher um SGDB não é como escolher uma roupa para dar de presente. Não basta olhar a marca e se deslumbrar com comerciais fantásticos, shows de luzes e coquiteis luxuosos. Você tem que conhecer as funcionalidades de cada um e saber onde está entrando. E o que quero demonstrar aqui é que o PostgreSQL também revela suas qualidades! É comum pessoas perguntando sobre recursos que o PostgreSQL tem que o Oracle não tem… aqui vai uma pequena lista. Por favor sinta-se a vontade para acrescentar novos itens nos comentários.

30 respostas

  1. Muito bom o artigo.
    Mas qual é mesmo seu nome?
    Procurei na seção Sobre mas não encontrei.

    P.S.: até que sei seu nome mas seria bom que aparecesse aqui. 🙂

    1. Bom dia Telles. adorei a sua publicação. Vou fazer um trabalho em minha Pos-Graduação sobre AVALIAÇÃO SGBD PROPRIETÁRIO X SGBD LIVRE Prós e Contras. Caso tenha algun outro material
      poderia me ajudar.

      Antecipadamente obrigado.

  2. Melhor corrigir um “simplismente”, por “simplesmente”.

    Parabéns pelo artigo.

  3. Poxa, não estou acompanhando a lista como deveria, tá tão legal a discussão! Dollar Quotting, LIMIT e OFFSET são muito úteis mesmo. Pena que o PSM não entra logo na próxima versão, creio que ajudaria na migração de MySQL (já tem gente usando PSM no MySQL? não sei), e DB2, que se não me falha a memória, usa PSM também!

  4. Cara, parabens pelo artigo, ótimo, hoje durante a aula eu e uns colegas estavamos discutindo sobre Oracle e PostgreSQL.
    Obrigado pela ajuda, vou repassar o link para os colegas

    Abraços

  5. Parabéns pelo artigo…
    Muito bom mesmo…
    Há tempo que esperava por uma comparação deste tipo…
    Até mesmo para eu defender o Postgre (software que uso) perante ao Oracle na faculdade :OP

  6. Parabéns pelo post.

    O que vejo de mais interessante é possibilidade de explorar o PostgreSQL de acordo com a minha necessidade, principalmente quando se trata de integração com Linux.

    Como sabemos, existem boas ferramentas de monitoramento para Oracle e algumas poucas para PostgreSQL … mas se não existe algo que eu preciso, faço eu mesmo, seguindo estes passos:
    – pesquisar
    – aprender
    – criar
    – testar
    – distribuir

    É como li uma vez na lista pgsql-br:
    “Software Livre: conhecimento ao alcance de todos”
    😀

    Abraço.

  7. Muito bom o artigo…

    Já trabalhei com PostgrSQL e hoje trabalho com Oracle.
    Realmente o Oracle tem um mundo de opções para se navegar nele, mas estas que você citou, ele deixa a desejar

    Abraço

  8. Sensacional! Pena que eu só vi seu artigo agora. Tem alguma atualização? Normalmente eu fico quieto nas discussões para não passar por fundamentalista radical e fanático.

  9. Telles,

    Dentro da minha experiência com Oracle (desde 1997) e te confesso que o mais irritante (além da instalação chata) é parametriza-lo, que consome um bom tempo para “tunar” o “motor V12”, claro, salvo as devidas aplicabilidades o resto é jóia. Ao passo que o PG é pá e bola.

  10. Telles,

    A quanto tempo você não trabalha com Oracle? Infelizmente descordo de você em tudo que não infere em custo. O Oracle realmente é caro e precisa de mais recursos que o Postgres, mas o Postgres está muito longe do Oracle na minha opinião.

    Apesar de válida essa análise achei muito tendenciosa, sou DBA Oracle ha uns bons anos e acho que talvez você pudesse olhar a coisa com outros olhos, se quiser podemos dar continuidade a esse assunto polêmico, acho bem saudavel, mas enquanto o Postgre não tiver o Active Data Guard, RAC, RMAN, ASM, etc robusto como no Oracle acho dificil competir com ele, sem falar ao suporte a C dentro do banco… bom vamos continuar o papo se quiser…

    Grande abraço…

  11. Caio, eu sou DBA Oracle atualmente, não estou trabalhando ainda com o 11g, apesar de ter lido sobre as novidades.

    O nome do banco de dados é ‘PostgreSQL’ ou você pode chamar de ‘postgres’, mas nunca chame ele de ‘Postgre’.
    De fato eu sei que o Oracle tem inúmeros recursos que o Oracle não tem. Eu tentei não ser tendencioso, mas é claro que eu gosto do Postgres. Veja que eu escrevi o contrário também: http://savepoint.blog.br/16-caracteristicas-do-oracle-que-fazem-falta-no-postgresql/

    No entanto vega, algumas coisas são questionáveis:

    Active Data Guarde. O PostgreSQL não tem ainda, mas está previsto para a versão 8.5 . Este é considerado um calcanhar de aquiles, mas o seu desenvolvimento está em atividade acelerada.
    RAC. Bom, o RAC é algo complexo. Há uma longa discussão sobre o princípio do Cluster Shared All. De fato ele é mais simples de implantar e administrar do que o Shared Nothing, mas não é a única solução possível. Veja que já há soluções de alta disponibilidade para o PostgreSQL rodando em ambiente bancário crítico. Mas ok, o Postgres não tem RAC. Alias, só a Oracle tem RAC, ninguém mais tem.
    O RMAN é algo complicado. Ele é uma ferramenta fantástica, também acho que é algo que faz falta no Postgres, mas em bases muito grandes, nem o RMAN salva, só as ferramentas de snapshot e stand by resolvem. Mas ok, falta o backup incremental no Postgres.
    O ASM é uma opção que o Postgres decidiu que não é interessante. O Postgres é um SGDB, não um sistema de arquivos. O ASM é bom, mas muita gente prefere não utilizar. Há bons motivos para isso: ferramentas de storage e LVM que atendem a muitas funcionalidades do ASM sem transformar seu sistema de arquivos numa caixa preta.
    Agora o suporte ao C dentro do banco… aí você escorregou no tomate. O suporte a C do PostgreSQL é simplesmente fenomenal. Vale a pena conhecer um pouco. O suporte a linguagens dentro do PostgreSQL um dos pontos altos do PostgreSQL, melhor tomar cuidado com este ponto.
    Em termos de robustez, vou lhe dizer que todo banco de dados corre perigo. Acho que a documentação do Oracle tem recomendações muito boas sobre como tornar a sua instalação mais confiável, coisa que falta no PostgreSQL, mas a maioria das ferramentas importantes como o Point In Time Recovery estão lá. Talvez a possibilidade de criar logs de transação replicados automaticamente fosse interessante, mas na era do RAID 10 não é indispensável.

    Agora, você dizer que não concorda com alguns pontos, exceto pelo custo… acho melhor você abrir sua mente. Não estou dizendo que o Postgres é melhor que o Oracle, estou dizento que há pontos onde o Oracle poderia melhorar, e muito. Mas se você parar para pensar um pouco, há pontos que são assim de propósito. A Oracle tem uma estratégia, e nem sempre esta estratégia visa melhorar a vida dos seus usuários. A estratégia de uma empresa é fazer o necessário para ganhar mais dinheiro. Lembre-se disso!

    MAIOR != MELHOR

    1. Parabéns Telles. Artigo simplesmente fantástico… Acabei de ler as vantagens do Oracle e agora li as do PostgreSQL.
      Trabalho com Postgres há pouco tempo e já estou fascinado com ele e, depois destas explanações então…
      Eu estava procurando as “vantagens e desvantagens do Postgres” e acabei achando matérias como essa: http://www.vivaolinux.com.br/artigo/Teste-de-estresse-entre-software-livre-e-solucoes-proprietarias/?pagina=1

      Realmente estou muito satisfeito com este SGBD (entendo que há a falta de algumas funcionalidades) mas acho que principalmente (mas não somente) julgando pelo custo-benefício (salvo situações específicas) não há nada melhor…

  12. É bom sempre termos discussões sobre todos aspectos relativo a tudo em nossa vida, mas como DBA Oracle eu não vi nesse comentário os recursos que o Oracle proporciona e a tendência é que sejamos sempre a favor do que nos convém.
    Acredito na veracidade do relato, mas seria bom colocar as vantagens que o Oracle tem sobre seus concorrentes.

    Parabéns pelo artigo.

  13. Olá Fabio,

    Parabéns pelo artigo. E vou dizer, concordo plenamente contigo em diversos pontos, tais como:

    Suporte da Oracle

    Tanto telefônico, metalink ou Consulting. LIXO! Tem DBA que trabalha na Oracle e não sabe mexer em Materialized Views. E colocam uns indianos para falar inglês! Horrível.

    Gesso nas distribuições Linux

    Concordo, com o Postgres tu instalar rapidamente e facilmente em qualquer distribuição. Oracle é totalmente regrado. Chato!

    GORDO!

    Sim, ele pega um canudinho e enfia na sua memória e CPU. Consome mesmo, culpa disso, que agora seu CORE é composto em 60% por códigos JAVA e outros ainda no C, JAVA com sua jvm, detona a máquina.

    Só não concordo em um ponto. Esse:

    “Poder publicar benchmarks! Você já viu um artigo com uma comparação entre desempenho do PostgreSQL e o Oracle? Não? E provavelmente não verá. A Oracle pode processar qualquer um que publique testes de desempenhos comparativos com o Oracle sem a sua autorização. Isto faz parte do licenciamento do Oracle. Assim é fácil dizer que é mais rápido sempre! Aliás, vou te dizer que o PostgreSQL pode ser utilizado em projetos que envolvam tecnologia militar, pode ser utilizado por cubanos e iraquianos, brasileiros, etc, etc, etc…”

    A oracle publica sim seus benchmarks e alias, existe uma organização que audita e valida os resultados no mercado, que serve como pesquisa para as empresas, e a TPC.org, a Oracle é obrigada a publicar os testes, métricas, códigos, hardware e configuração do hardware que foi utilizado em cada teste. Lá poderá ver desempenho de comparação com DB2, SQL Server e outras versões comerciais.

    Abraços,

    Rodrigo Almeida

    1. Então, os benchmarks são exatamente o que eu disse. Você não pode publicar. Leia a licença de uso. Você pode ser processado se o fizer. Lembre-se que você tem uma licença de uso. A licença diz o que você pode e não pode fazer.

      Agora, a própria Oracle pode sim, claro. Ela sempre vai fazer isso. O TPC é um caso exemplar. A Oracle faz parte do TPC. Você tem que pagar para fazer parte dele. Há anos atrás, havia um boato de que a Oracle fez ajustes de desempenho no Oracle exclusivamente voltados para melhorar a performance no TPC-C. Isso pode ser boato, mas o fato é que não há nenhum teste com o Oracle publicado com a versão mais moderna dele, o TPC-E. Veja também que o fabricante de hardware que desejar publicar um teste no TPC utilizando o Oracle, precisa da benção, senão continua não podendo, ok?

  14. Olá Fábio, apenas como sugestão eu acrescentaria mais um a lista, identificadores longos no Postgres, no Oracle até a versão 11g, ainda não testei a versão 12c, o limite era de 30 caracteres para qualquer objeto que fosse nomeado no banco, quando excedia o limite uma mensagem de erro logo surgia: ORA-00972: identifier is too long, Em projetos Multi SGBDR, isso era um stress a mais. O Postgres, nesse sentido era mais robusto, nada contra o Oracle, é um excelente SGBDR, mas ninguém é perfeito.

  15. Telles… olá… Ótimo seu artigo, vendo que ele é de 2007 e que seu último comentário foi de 2014 mês de agosto, e considerando as novas ferramentas implantadas nas versões 9.4, em sua opinião, implanto um banco PostgreSQL? Para uma aplicação critica hoje neste outro banco…. Lembre, implantação nova já que o que temos quero substituir… imagine… migração mesmo… com códigos sendo rescritos… tudo novo ou remodelado…. QUE TERROR!!! Que acha?

      1. Obrigado… Ótimos coesos, iguais a este… Já temos uma assessoria trabalhando conosco aqui na Holding Brasil. Foi mais uma pergunta retórica, pois trabalho desde a versão 8.4 do PostgreSql e convertemos nossas bases Brasil nas quatros filiais. A a Holding, continua Oracle 11.1. Curioso foi que após oito anos conseguimos demostrar que o custo/beneficio é melhor e estamos terminando a migração do nosso SGDB no Brasil, para o PostgreSql, também na Holding …

  16. Olá Telles, vendo o seu artigo em 2016 vejo que se tornou uma referência para quem irá / estar usando o PostgreSQL. Antes de mais nada quero lhe parabenizá-lo por este feito!
    Eu até então, uso o Firebird e estou migrando o meu BD para o PosgreSql. Já usei o Oracle, MySql e Sql Server. No momento só estou sentindo falta de uma ferramenta tipo ibExpert para o firebird, Management Studio do Sql Server.
    Você pode me indicar uma boa ferramenta para trabalhar para o PostgreSql? Estou usando o pgAdmin III. Não é que ela é ruim, mais não tem as mesmas facilidades como code complete e tal..
    Bem, não quero estender muito.. no mais obrigado.

    1. Na verdade o pgAdmin III tem code complete sim, leia a documentação. Mas você pode encontrar outras ferramentas pagas se quiser. A maioria dos experts usa muito o psql em modo texto e bons scripts. Está para sair o pgAdmin IV que deve melhorar muito. Em todo caso, vale à pena conferir o catálogo de softwares para PostgreSQL em: https://www.postgresql.org/download/product-categories/

      Boa diversão!

Deixe uma resposta