---------------------------------------- > Date: Sun, 16 Oct 2011 20:33:00 -0200 > From: lean...@dutras.org > To: pgbr-geral@listas.postgresql.org.br > Subject: Re: [pgbr-geral] NoSQL (era: Configurando Timezones por databases) >> (...) > > E lembrei que uma vez um DBA Oracle comentava que não adiantava se ter > > um Oracle se você não utilizar os recursos do banco, no caso ele não > > se referia a Archive Logs ou outros, ele falava de Stored's e afins. > > Hm… imagino que queiras dizer programação procedural em PL/SQL. Na > verdade, isso depõe contra o Oracle, que tem apenas uma linguagem > proprietária para programar procedimentos armazenados, em vez de > implementar o ISO SQL/PSM. No caso do PostgreSQL, além de termos uma > versão do PL/SQL chamada PL/PgSQL, temos a ISO SQL/PSM e toda uma > variedade de outras linguagens disponíveis. > Só um detalhe com relação ao Oracle. Apesar de ser off-topic talvez seja de interesse. Em [1] explica como utilizar procedimentos externos no Oracle, desenvolvidos em outras linguagens de programação. E em [2] mostra como chamar Java Stored Procedures no Oracle.
[1] http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14251/adfns_extern_proc.htm [2] http://download.oracle.com/docs/cd/B19306_01/java.102/b14187/chthree.htm E sobre a conformidade a ISO SQL/PSM, em [3] diz: "Oracle Compliance with SQL/PSM:2003 Oracle's PL/SQL provides functionality equivalent to SQL/PSM:2003, with minor syntactic differences, such as the spelling or arrangement of keywords." [3] http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/ap_standard_sql006.htm > Outra coisa que depõe contra o Oracle é que várias vezes se usam> > procedimentos armazenados e outras técnicas não declarativas, como > /hints/ (dicas dadas pelo programador para forçar um caminho de > execução) para contornar deficiências do SGBD. No PostgreSQL, > procura-se aperfeiçoar o comportamento do planejador e incrementar o > suporte à modelagem, ou seja, à programação declarativa. Ainda faltam > muitas coisas para se aproximar do ideal relacional, e o SQL em si > atrapalha ao violar o modelo, mas é uma abordagem muito mais sã. > Sobre a questão dos "hints" acho que iniciar uma discussão sobre isso vai ser off-topic, mas já que foi deixada uma visão sobre isso, não vou comentar sobre ela. Só vou deixar a minha e não tocarei mais no assunto: no Oracle, é algo interessante se bem usado, só que tem vezes que usam isso para resolver problemas de SQLs mal escritos e bancos mal configurados, e acabam se tornando mais problema do que solução. Tem algumas discussões interessantes sobre "hints" no PostgreSQL, cujos links deixo abaixo: [4] http://it.toolbox.com/blogs/database-soup/why-postgresql-doesnt-have-query-hints-44121?rss=1 [5] http://thoughts.j-davis.com/2011/02/05/why-postgresql-already-has-query-hints/ [6] http://blog.2ndquadrant.it/mt/mt-search.cgi?tag=postgresql%20performance%20hints&IncludeBlogs=3 Atenciosamente, Marçal de Lima Hokama _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral