<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-3371915898459901668</id><updated>2009-12-19T20:59:23.916-03:00</updated><title type='text'>Meu Blog de PostgreSQL!!!</title><subtitle type='html'>Blog com informações e notícias sobre o banco de dados PostgreSQL, aquele que todos adoramos usar. Trata-se de uma ferramenta livre e de código aberto, mantida por uma comunidade ativa de usuários da qual você é convidado fazer parte.
Textos, idéias e outras contribuições podem ser enviadas para Cláudio Bezerra Leopoldino: cbleopoldino@ea.ufrgs.br</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://postgresqlbr.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default?orderby=updated'/><link rel='alternate' type='text/html' href='http://postgresqlbr.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default?start-index=26&amp;max-results=25&amp;orderby=updated'/><author><name>cbleopoldino</name><uri>http://www.blogger.com/profile/16676839129160419931</uri><email>claudio.leopoldino@gmail.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>158</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3371915898459901668.post-711107884524485564</id><published>2009-12-18T15:28:00.007-03:00</published><updated>2009-12-18T16:27:27.275-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Notícias'/><category scheme='http://www.blogger.com/atom/ns#' term='PostgreSQL'/><title type='text'>Onde esse elefante está? O que nos diz o google insights sobre o ano de 2009?</title><content type='html'>As pesquisas na internet dizem muito sobre a aceitação de produtos, serviços, candidatos a cargos eletivos e sobre o uso de programas e sistemas. Com o PostgreSQL não é diferente. Fiz uma breve pesquisa sobre o ano de 2009 no &lt;a href="http://www.google.com/insights/search/#q=postgresql&amp;amp;date=today%2012-m&amp;amp;cmpt=q"&gt;google insights&lt;/a&gt; e os resultados compartilho neste post. O levantamento do ano passado está &lt;a href="http://postgresqlbr.blogspot.com/2008/11/postgresql-tendncias-pelo-mundo-e-no.html"&gt;aqui&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;As imagens capturadas e os dados foram todos coletados dia 18/12/2009.&lt;br /&gt;&lt;br /&gt;- O ano de 2009 foi relativamente estável. Houve uma queda nas buscas com a festas de fim de ano e um aumento nas pesquisas durante o lançamento da nova versão 8.4, em meados de abril. A figura 1 mostra a evolução destas buscas no ano.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_r2Eq58DmzTc/SyvSPBW7ZNI/AAAAAAAAAKs/41jt0LQLDHo/s1600-h/postgresql+2009+buscas.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 81px;" src="http://1.bp.blogspot.com/_r2Eq58DmzTc/SyvSPBW7ZNI/AAAAAAAAAKs/41jt0LQLDHo/s320/postgresql+2009+buscas.png" alt="" id="BLOGGER_PHOTO_ID_5416654132347626706" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Considerando os últimos 4 anos, houve uma diminuição nas buscas. No entanto isto não significa necessariamente perda de espaço, podendo indicar também uma maior disseminação do conhecimento sobre o banco, que reduz a necessidade de pesquisas na rede.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_r2Eq58DmzTc/SyvSOrLC0vI/AAAAAAAAAKc/TJ6rAiHfmMA/s1600-h/postgres+busca+4+anos+2009.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 148px;" src="http://2.bp.blogspot.com/_r2Eq58DmzTc/SyvSOrLC0vI/AAAAAAAAAKc/TJ6rAiHfmMA/s320/postgres+busca+4+anos+2009.png" alt="" id="BLOGGER_PHOTO_ID_5416654126392201970" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;- No mundo, Japão e Rússia crescem no ranking relativo de buscas e recuperam as primeiras posições perdidas em 2008 para Cuba e China.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_r2Eq58DmzTc/SyvXTJ0pa5I/AAAAAAAAAK8/fVN1nrbuH58/s1600-h/postgresql+busca+mundo+2009.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 199px;" src="http://3.bp.blogspot.com/_r2Eq58DmzTc/SyvXTJ0pa5I/AAAAAAAAAK8/fVN1nrbuH58/s320/postgresql+busca+mundo+2009.png" alt="" id="BLOGGER_PHOTO_ID_5416659700897377170" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;- No mundo ganha destaque a busca "PostgreSQL MySQL", indício de que o PostgreSQL não é considerado uma alternativa tão natural ao Oracle ou ao Sql Server, mas uma boa opção em relação ao MySQL (Esta é apenas uma suposição que carece de mais comprovação!).&lt;br /&gt;&lt;br /&gt;- No Brasil destaco as buscas "PostgreSQL Windows" e  "PostgreSQL Linux". A pontuação destas buscas mostra que a compatibilidae com vários sistemas operacionais é um importante fator para os projetos de software nacionais.&lt;br /&gt;&lt;br /&gt;- O Brasil continua em uma posição intermediária. Na América do Sul o destaque fica para a Bolívia, que ocupa a quarta posição entre os 10 maiores índices de busca pelo PostgreSQL no Google.&lt;br /&gt;&lt;br /&gt;- Dentre os estados brasileiros, Distrito Federal e Ceará ocupam as duas primeiras posições. Santa Catarina, Paraná e Rio Grande do Sul estão nas três posições subsequentes, o que mostra a força do PostgreSQL na Região Sul.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_r2Eq58DmzTc/SyvSPbPD91I/AAAAAAAAAK0/C37MfF2zwqk/s1600-h/2009+buscas+Brasil+postgres.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 254px;" src="http://2.bp.blogspot.com/_r2Eq58DmzTc/SyvSPbPD91I/AAAAAAAAAK0/C37MfF2zwqk/s320/2009+buscas+Brasil+postgres.png" alt="" id="BLOGGER_PHOTO_ID_5416654139293955922" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Não recomendo que estes dados sejam utilizados para a tomada de decisões. São informações retrospectivas sujeitas a erros estatísticos! 2009 está consumado. Agora é trabalhar pelo 2010!&lt;div class="blogger-post-footer"&gt;Meu Blog de PostgreSQL - http://postgresqlbr.blogspot.com/
- Cláudio Bezerra Leopoldino&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3371915898459901668-711107884524485564?l=postgresqlbr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlbr.blogspot.com/feeds/711107884524485564/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3371915898459901668&amp;postID=711107884524485564' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/711107884524485564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/711107884524485564'/><link rel='alternate' type='text/html' href='http://postgresqlbr.blogspot.com/2009/12/onde-esse-elefante-esta-o-que-nos-diz-o.html' title='Onde esse elefante está? O que nos diz o google insights sobre o ano de 2009?'/><author><name>cbleopoldino</name><uri>http://www.blogger.com/profile/16676839129160419931</uri><email>claudio.leopoldino@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18228914201022771742'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_r2Eq58DmzTc/SyvSPBW7ZNI/AAAAAAAAAKs/41jt0LQLDHo/s72-c/postgresql+2009+buscas.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3371915898459901668.post-7256794289707503902</id><published>2009-12-17T14:36:00.003-03:00</published><updated>2009-12-17T15:11:36.662-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PostgreSQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Ferramentas'/><title type='text'>GreenSQL: O Rinoceronte Amigo do Elefante!</title><content type='html'>Segurança nunca é demais e cautela e caldo de galinha não fazem mal a ninguém! No caso do PostgreSQL não é diferente, e qualquer atualização de segurança é sempre recomendada.&lt;br /&gt;&lt;br /&gt;O &lt;a href="http://www.greensql.net/"&gt;GreenSQL&lt;/a&gt; é um firewall de código aberto que visa proteger bases de dados de ataques tipo "SQL Injection", verificando os comandos submetidos ao banco, restringindo comandos de administrador para criação e destruição de tabelas e outros objetos e impedindo a submissão de códigos maliciosos. Seu símbolo é o do Rinoceronte.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_r2Eq58DmzTc/SypvsjrL7pI/AAAAAAAAAKM/Ox1lkJXUDmw/s1600-h/logogreensql.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 100px; height: 65px;" src="http://2.bp.blogspot.com/_r2Eq58DmzTc/SypvsjrL7pI/AAAAAAAAAKM/Ox1lkJXUDmw/s320/logogreensql.gif" alt="" id="BLOGGER_PHOTO_ID_5416264313147747986" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A versão mais recente agregou o suporte ao PostgreSQL ao do MySQL já existente. Espera-se que o Rinoceronte possa agir como guarda costas do elefante a partir deste lançamento! Abaixo, uma imagem da arquitetura do GreenSQL.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_r2Eq58DmzTc/SypvsuP7S6I/AAAAAAAAAKU/zJlOjKGvKBs/s1600-h/greensql-architecture.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 86px;" src="http://2.bp.blogspot.com/_r2Eq58DmzTc/SypvsuP7S6I/AAAAAAAAAKU/zJlOjKGvKBs/s320/greensql-architecture.jpg" alt="" id="BLOGGER_PHOTO_ID_5416264315986201506" border="0" /&gt;&lt;/a&gt;A licença é GPL. Teste e me diga o que achou!&lt;div class="blogger-post-footer"&gt;Meu Blog de PostgreSQL - http://postgresqlbr.blogspot.com/
- Cláudio Bezerra Leopoldino&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3371915898459901668-7256794289707503902?l=postgresqlbr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlbr.blogspot.com/feeds/7256794289707503902/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3371915898459901668&amp;postID=7256794289707503902' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/7256794289707503902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/7256794289707503902'/><link rel='alternate' type='text/html' href='http://postgresqlbr.blogspot.com/2009/12/greensql-o-rinoceronte-amigo-do.html' title='GreenSQL: O Rinoceronte Amigo do Elefante!'/><author><name>cbleopoldino</name><uri>http://www.blogger.com/profile/16676839129160419931</uri><email>claudio.leopoldino@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18228914201022771742'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_r2Eq58DmzTc/SypvsjrL7pI/AAAAAAAAAKM/Ox1lkJXUDmw/s72-c/logogreensql.gif' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3371915898459901668.post-6518681864817607221</id><published>2009-12-10T09:42:00.004-03:00</published><updated>2009-12-10T09:50:55.024-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PostgreSQL'/><title type='text'>Enquete aponta que PostgreSQL Crescerá com a Compra do MySQL</title><content type='html'>A &lt;a href="http://postgresqlbr.blogspot.com/2009/04/oracle-comprou-sun-e-consequentemente-o.html"&gt;compra recente da Sun pela Oracle&lt;/a&gt;, incluindo o banco MySQL começa a trazer mudanças no mercado. Segundo enquete realizada pelo "The 451 Group", há uma tendência de redução do market share do MySQL em detrimento do PostgreSQL e do novo banco de dados &lt;a href="http://planetmariadb.org/"&gt;MariaDB&lt;/a&gt;, que seria um fork livre do MySQL com um processamento de consultas novo e bastante promissor.&lt;br /&gt;&lt;br /&gt;Este autor acha que há espaço para todos, e acredita no crescimento do PostgreSQL independentemente do apresentado pelas demais alternativas. Aproveita para lembrar que enquetes revelam apenas intenções, e que o mercado pode tomar outra direção.&lt;br /&gt;&lt;br /&gt;O que você acha? O que tem acontecido na sua empresa?&lt;br /&gt;&lt;br /&gt;O artigo original pode ser obtido &lt;a href="http://blogs.the451group.com/opensource/2009/12/04/451-group-survey-highlights-user-concerns-over-oracles-proposed-ownership-of-mysql/"&gt;aqui&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;Meu Blog de PostgreSQL - http://postgresqlbr.blogspot.com/
- Cláudio Bezerra Leopoldino&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3371915898459901668-6518681864817607221?l=postgresqlbr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlbr.blogspot.com/feeds/6518681864817607221/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3371915898459901668&amp;postID=6518681864817607221' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/6518681864817607221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/6518681864817607221'/><link rel='alternate' type='text/html' href='http://postgresqlbr.blogspot.com/2009/12/enquete-aponta-que-postgresql-crescera.html' title='Enquete aponta que PostgreSQL Crescerá com a Compra do MySQL'/><author><name>cbleopoldino</name><uri>http://www.blogger.com/profile/16676839129160419931</uri><email>claudio.leopoldino@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18228914201022771742'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3371915898459901668.post-4126903476543280188</id><published>2009-11-27T08:37:00.005-03:00</published><updated>2009-11-27T08:52:51.458-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PostgreSQL'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>O Comando Table</title><content type='html'>O comando TABLE é muito pouco conhecido entre os usuário do Postgres, no entanto isto não chega a ser um problema. É um comando que funciona mais como uma curiosidade do que como uma funcionalidade real. Sua função principal é economizar digitação de consultas relativas a todos os dados de uma tabela.&lt;br /&gt;&lt;br /&gt;Consultas com a sintaxe abaixo, por  exemplo:&lt;br /&gt;&lt;br /&gt;SELECT * FROM &lt;tabela&gt;tabela;&lt;br /&gt;&lt;br /&gt;Poderiam ser simplificadas para:&lt;br /&gt;&lt;br /&gt;TABLE &lt;tabela&gt;&lt;/tabela&gt;&lt;/tabela&gt;tabela&lt;tabela&gt;&lt;tabela&gt;;&lt;br /&gt;&lt;br /&gt;O ganho é apenas de tempo de digitação ou de simplificação. O plano de execução é o mesmo.&lt;br /&gt;&lt;br /&gt;O comando TABLE pode ser utilizado no lugar de "SELECT * FROM" de diversas maneiras diferentes:&lt;br /&gt;&lt;br /&gt;Exemplo 1:&lt;br /&gt;&lt;br /&gt;TABLE ADDRESS; --Recupera todas as colunas e linhas da tabela ADDRESS&lt;br /&gt;&lt;br /&gt;Exemplo 2:&lt;br /&gt;&lt;br /&gt;TABLE ADDRESS ORDER BY postal_code; --Classifica e recupera todas as colunas e linhas da tabela ADDRESS&lt;br /&gt;&lt;br /&gt;Exemplo 3:&lt;br /&gt;&lt;br /&gt;TABLE ADDRESS ORDER BY postal_code DESC; --Classifica de modo decrescente e recupera todas as colunas e linhas da tabela ADDRESS&lt;br /&gt;&lt;br /&gt;Exemplo 4:&lt;br /&gt;&lt;br /&gt;SELECT * FROM ADDRESS&lt;br /&gt;UNION ALL&lt;br /&gt;TABLE ADDRESS; --Uso de TABLE com UNION&lt;/tabela&gt;&lt;/tabela&gt;&lt;div class="blogger-post-footer"&gt;Meu Blog de PostgreSQL - http://postgresqlbr.blogspot.com/
- Cláudio Bezerra Leopoldino&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3371915898459901668-4126903476543280188?l=postgresqlbr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlbr.blogspot.com/feeds/4126903476543280188/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3371915898459901668&amp;postID=4126903476543280188' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/4126903476543280188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/4126903476543280188'/><link rel='alternate' type='text/html' href='http://postgresqlbr.blogspot.com/2009/11/o-comando-table.html' title='O Comando Table'/><author><name>cbleopoldino</name><uri>http://www.blogger.com/profile/16676839129160419931</uri><email>claudio.leopoldino@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18228914201022771742'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3371915898459901668.post-7569486996326886470</id><published>2009-11-26T14:18:00.001-03:00</published><updated>2009-11-26T14:20:41.973-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Links'/><title type='text'>Tutorial de PostgreSQL e Hibernate</title><content type='html'>Bom tutorial introdutório de PostgreSQL com Hibernate &lt;a href="http://www.laliluna.de/download/first-hibernate-example-tutorial-en.pdf"&gt;aqui&lt;/a&gt;.&lt;br /&gt;O autor autoriza o uso mas não a redistribuição!&lt;div class="blogger-post-footer"&gt;Meu Blog de PostgreSQL - http://postgresqlbr.blogspot.com/
- Cláudio Bezerra Leopoldino&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3371915898459901668-7569486996326886470?l=postgresqlbr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlbr.blogspot.com/feeds/7569486996326886470/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3371915898459901668&amp;postID=7569486996326886470' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/7569486996326886470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/7569486996326886470'/><link rel='alternate' type='text/html' href='http://postgresqlbr.blogspot.com/2009/11/tutorial-de-postgresql-e-hibernate.html' title='Tutorial de PostgreSQL e Hibernate'/><author><name>cbleopoldino</name><uri>http://www.blogger.com/profile/16676839129160419931</uri><email>claudio.leopoldino@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18228914201022771742'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3371915898459901668.post-315256147456159659</id><published>2009-11-03T07:45:00.002-03:00</published><updated>2009-11-03T08:01:31.649-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Notícias'/><title type='text'>PostgreSQL 8.5 - Versão Alfa</title><content type='html'>Como desenvolver uma ferramenta altamente poderosa? Certamente um dos passos é a atualização e renovação constante. No caso do PostgreSQL, antes que uma versão seja lançada, existe um planejamento das futuras implementações. Desta forma, sempre existe um horizonte de crescimento.&lt;br /&gt;&lt;br /&gt;A versão 8.4 está sendo atalizada com correções e ajustes nas fuincionalidades, mas em paralelo, a nova versão 8.5 está em desenvolvimento, estando em sua versão alfa. O site para download se encontra &lt;a href="http://www.postgresql.org/developer/alpha"&gt;aqui&lt;/a&gt;. A versão alpa 2 está disponível para download e são disponibilizadas informações sobre as novas funcionalidades para a versão 8.5!&lt;div class="blogger-post-footer"&gt;Meu Blog de PostgreSQL - http://postgresqlbr.blogspot.com/
- Cláudio Bezerra Leopoldino&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3371915898459901668-315256147456159659?l=postgresqlbr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlbr.blogspot.com/feeds/315256147456159659/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3371915898459901668&amp;postID=315256147456159659' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/315256147456159659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/315256147456159659'/><link rel='alternate' type='text/html' href='http://postgresqlbr.blogspot.com/2009/11/postgresql-85-versao-alfa.html' title='PostgreSQL 8.5 - Versão Alfa'/><author><name>cbleopoldino</name><uri>http://www.blogger.com/profile/16676839129160419931</uri><email>claudio.leopoldino@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18228914201022771742'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3371915898459901668.post-8981227237054252370</id><published>2009-09-24T13:47:00.004-03:00</published><updated>2009-09-24T14:22:29.275-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DBA'/><category scheme='http://www.blogger.com/atom/ns#' term='PostgreSQL'/><title type='text'>Monitoração de Comandos com PG_STAT_STATEMENTS</title><content type='html'>Na versão 8.4, foram acrescentados novos recursos de monitoramento de banco que podem ser bastante úteis para se identificar que consultas têm consumido mais tempo, retornam mais dados e quais são executadas com maior freqüência. A pg_stat_statements é uma biblioteca que monitora e coleta estas informações para o usuário. &lt;br /&gt;&lt;br /&gt;Para monitorar o que acontece no sgbd, é necessário manter em memória uma rotina que realize essa atividade. Para colocar esta rotina em execução, deve ser alterado o arquivo de configuração, mais precisamente a variável “shared_preload_libraries”, e reiniciado o servidor. Acrescente no arquivo de configuração postgresql.conf a linha abaixo e reinicie o serviço do banco:&lt;br /&gt;&lt;br /&gt;shared_preload_libraries = '$libdir/pg_stat_statements'       &lt;br /&gt;&lt;br /&gt;Para visualizar se a biblioteca realmente foi colocada na memória pode ser usado o comando show:&lt;br /&gt;&lt;br /&gt;Show shared_preload_libraries&lt;br /&gt;&lt;br /&gt;Execute algumas consultas para que o sgbd armazene valores monitorados. Serão guardados os códigos dos comandos, o número de vezes em que os mesmos foram executados e os tempos de execução.&lt;br /&gt;&lt;br /&gt;O próximo passo é executar o script do arquivo “contrib/pg_stat_statements/pg_stat_statements.sql” que se encontra na pasta de contribs para criar uma visão que mostrará os dados monitorados chamada pg_stat_statements. Abaixo, coloco a consulta padrão aos dados de monitoramento e alguns exemplos adicionais de consultas por número de chamadas ao comando, pelo tempo total e  pelo número de linhas retornado.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1 - Consulta padrão&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;select * from pg_stat_statements;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2 - Consultas ordenadas pelo número de chamadas&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;select * from pg_stat_statements order by calls desc;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3 - Consultas ordenadas pelo tempo total utilizado&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;select * from pg_stat_statements order by total_time desc;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4 - Consultas ordenadas pelo número de linhas retornado&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;select * from pg_stat_statements order by rows desc;&lt;br /&gt;&lt;br /&gt;Caso a quantidade de dados retornados seja muito grande, utilize a função pg_stat_statements_reset para limpar os dados coletados:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1 – Limpando dados coletados &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;select pg_stat_statements_reset();&lt;div class="blogger-post-footer"&gt;Meu Blog de PostgreSQL - http://postgresqlbr.blogspot.com/
- Cláudio Bezerra Leopoldino&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3371915898459901668-8981227237054252370?l=postgresqlbr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlbr.blogspot.com/feeds/8981227237054252370/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3371915898459901668&amp;postID=8981227237054252370' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/8981227237054252370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/8981227237054252370'/><link rel='alternate' type='text/html' href='http://postgresqlbr.blogspot.com/2009/09/monitoracao-de-comandos-com.html' title='Monitoração de Comandos com PG_STAT_STATEMENTS'/><author><name>cbleopoldino</name><uri>http://www.blogger.com/profile/16676839129160419931</uri><email>claudio.leopoldino@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18228914201022771742'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3371915898459901668.post-3735880111929007415</id><published>2009-08-24T08:55:00.005-03:00</published><updated>2009-08-24T09:24:28.735-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PostgreSQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Outro'/><title type='text'>Participe de Concurso "O Elefante está entre nós" e Concorra a 50 Prêmios!!!</title><content type='html'>A imaginação é mais importante que o conhecimento. E uma iniciativa brasileira promete estimular e recompensar a criativivade da comunidade PostgreSQL, distribuindo 50 prêmios. Apenas a participação de todos pode fazer desta boa idéia um grande sucesso! Se inscreva na &lt;a href="http://pgcon.postgresql.org.br/2009/index.php"&gt;PGCON&lt;/a&gt; e mostre seu conhecimento!&lt;br /&gt;&lt;br /&gt;O concurso apresenta várias categorias:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Consulta ou script;&lt;/li&gt;&lt;li&gt;Artigo;&lt;/li&gt;&lt;li&gt;Artigo traduzido;&lt;/li&gt;&lt;li&gt;História em quadrinhos; (!!!)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Estudo de caso;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;O pai da idéia é o Telles, do blog Savepoint: &lt;a href="http://www.midstorm.org/%7Etelles/2009/08/22/concurso-o-elefante-esta-entre-nos/"&gt;http://www.midstorm.org/~telles/2009/08/22/concurso-o-elefante-esta-entre-nos/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As regras de cada categoria estão disponíveis &lt;a href="http://pgcon.postgresql.org.br/2009/concurso.php"&gt;aqui&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;Se esta iniciativa for bem sucedida, certamente será reproduzida mundo afora. Depende da participação de todos! Este blogueiro parabeniza a iniciativa e tentará participar de pelo menos duas categorias, dentro do espírito olímpico: o "importante é competir".  &lt;a href="http://www.midstorm.org/%7Etelles/2009/08/22/concurso-o-elefante-esta-entre-nos/"&gt;&lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class="down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;img src="http://www.blogger.com/img/blank.gif" alt="Link" class="gl_link" border="0" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;Meu Blog de PostgreSQL - http://postgresqlbr.blogspot.com/
- Cláudio Bezerra Leopoldino&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3371915898459901668-3735880111929007415?l=postgresqlbr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlbr.blogspot.com/feeds/3735880111929007415/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3371915898459901668&amp;postID=3735880111929007415' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/3735880111929007415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/3735880111929007415'/><link rel='alternate' type='text/html' href='http://postgresqlbr.blogspot.com/2009/08/participe-de-concurso-o-elefente-esta.html' title='Participe de Concurso &quot;O Elefante está entre nós&quot; e Concorra a 50 Prêmios!!!'/><author><name>cbleopoldino</name><uri>http://www.blogger.com/profile/16676839129160419931</uri><email>claudio.leopoldino@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18228914201022771742'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3371915898459901668.post-7627735809955316245</id><published>2009-07-08T09:30:00.005-03:00</published><updated>2009-08-13T09:46:38.967-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DBA'/><category scheme='http://www.blogger.com/atom/ns#' term='Notícias'/><category scheme='http://www.blogger.com/atom/ns#' term='PostgreSQL'/><title type='text'>PostgreSQL 8.4: Falta um bom instalador para Windows!</title><content type='html'>Dentre as mais de 290 mudanças da versão 8.3.x para a 8.4.0, uma importante lacuna que surgiu foi a do instalador para windows. O projeto pgInstaller, mantido por &lt;i&gt;Dave Page e Magnus Hagander&lt;/i&gt; gerou instaladores intuitivos e poderosos, com recursos de configuração mais avançados que facilitavam a adição de contribs e a atualização de versão do SGBD em ambiente Windows. No entanto, o projeto só continuará a ser mantido nas versões 8.2.x e 8.3.x.&lt;br /&gt;&lt;br /&gt;Para Linux, além do one-click installer e de live cds, customizações de instaladores para Fedora, SUZE, Ubuntu e Debian estão  disponíveis para o PostgreSQL 8.4.&lt;br /&gt;&lt;br /&gt;Mais informações &lt;a href="http://www.postgresql.org/download/"&gt;aqui&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;Espera-se que sujam mais opções de instaladores além do limitado "One-Click Installer" da página oficial do PostgreSQL. &lt;span style="font-weight: bold;"&gt;Quem se habilita a fazer um?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Creio que o impacto para a difusão do PostgreSQL 8.4 pode ser significativo na plataforma Windows. Não podemos  subestimar o impacto da facilidade de instalação para a adoção e atualização de qualquer ferramenta. O que vocês acham?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Complemento 13/08/2009:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;- Depois de instalar em algumas máquinas, posso afirmar que o one-click installer é bastante funcional e estável. No entanto, continuo a me sentir incomodado por ter menos uma opção de instalação. E o desafio continua a quem se dispor a fazer um instalador alternativo!!!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;Meu Blog de PostgreSQL - http://postgresqlbr.blogspot.com/
- Cláudio Bezerra Leopoldino&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3371915898459901668-7627735809955316245?l=postgresqlbr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlbr.blogspot.com/feeds/7627735809955316245/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3371915898459901668&amp;postID=7627735809955316245' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/7627735809955316245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/7627735809955316245'/><link rel='alternate' type='text/html' href='http://postgresqlbr.blogspot.com/2009/07/postgresql-84-falta-um-bom-instalador.html' title='PostgreSQL 8.4: Falta um bom instalador para Windows!'/><author><name>cbleopoldino</name><uri>http://www.blogger.com/profile/16676839129160419931</uri><email>claudio.leopoldino@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18228914201022771742'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3371915898459901668.post-7213180142574649851</id><published>2009-07-29T10:45:00.002-03:00</published><updated>2009-07-29T10:51:18.615-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Outro'/><title type='text'>151 posts!</title><content type='html'>Em abril de 2007 este blog surgiu e hoje, pouco mais de 2 anos depois, atingiu a marca de 150 posts.&lt;br /&gt;&lt;br /&gt;É muito pouco em comparação com blogs de entretenimento e variedades, mas é muito em relação a blogs de tecnologia, especialmente se a área é banco de dados, e especificamente o banco de dados PostgreSQL. A longevidade do blog também merece destaque, pois muitos outros bons sites deixaram de existir no período, congelaram no tempo, ou mudaram de rumo, abordando outros assuntos.&lt;br /&gt;&lt;br /&gt;A dinâmica de inovação constante e os movimentos da comunidade ajudaram a atingir esta conquista.&lt;br /&gt;&lt;br /&gt;Deus ajudou dando saúde e disposição! E você, leitor, ajudou de muitas formas, &lt;span style="font-weight: bold;"&gt;obrigado&lt;/span&gt;!&lt;div class="blogger-post-footer"&gt;Meu Blog de PostgreSQL - http://postgresqlbr.blogspot.com/
- Cláudio Bezerra Leopoldino&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3371915898459901668-7213180142574649851?l=postgresqlbr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlbr.blogspot.com/feeds/7213180142574649851/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3371915898459901668&amp;postID=7213180142574649851' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/7213180142574649851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/7213180142574649851'/><link rel='alternate' type='text/html' href='http://postgresqlbr.blogspot.com/2009/07/151-posts.html' title='151 posts!'/><author><name>cbleopoldino</name><uri>http://www.blogger.com/profile/16676839129160419931</uri><email>claudio.leopoldino@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18228914201022771742'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3371915898459901668.post-8179270431637399242</id><published>2009-07-29T08:45:00.004-03:00</published><updated>2009-07-29T09:05:26.201-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DBA'/><category scheme='http://www.blogger.com/atom/ns#' term='PostgreSQL'/><title type='text'>Psql 8.4: Novas Funcionalidades!</title><content type='html'>O psql em sua nova versão apresenta uma série de pequenas novidades, inclusive a promessa de compatibilidade com versões anteriores do Postgres, permitindo que de um console se acesse bancos de servidores mais antigos. A lista de alterações completa pode ser vista &lt;a href="http://www.postgresql.org/about/press/features84.html"&gt;aqui&lt;/a&gt;. Abaixo, comento algumas das mudanças que reputo como mais significativas:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Listando o Tamanho de Objetos&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Pequenas funcionalidades podem ser ainda mais interessantes para o usuário do utilitário que os avanços mais complexos. A facilidade de se obter informações detalhadas, particularmente sobre espaço ocupado por objetos em disco certamente é uma delas.&lt;br /&gt;&lt;br /&gt;O uso da sintaxe \dt lista as tabelas criadas no banco. Na versão 8.4, pode ser utilizada a sintaxe \dt+, que retorna o espaço em disco ocupado pela tabela.&lt;br /&gt;&lt;br /&gt;Este recurso também pode ser utilizado para índices. Digite \di para informações dos índices, e \di+ para um maior detalhamento com espaço em disco ocupado e descrição.&lt;br /&gt;&lt;br /&gt;Para bancos de dados, a sintaxe é a mesma. Digite \l para informações dos bancos de dados, e \l+ para um maior detalhamento com espaço em disco ocupado e descrição.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Abrindo Editor para Funções&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Editar funções dentro do psql não é uma tarefa muito agradável. Paras códigos mais extensos chega a ser penosa. Para minorar o problema, a opção \ef abre um editor externo para edição do código.&lt;br /&gt;&lt;br /&gt;A sintaxe é: \ef &lt;nomefunc&gt;&lt;br /&gt;&lt;br /&gt;No windows, abre o notepad. Edite o texto, salve e feche o editor. No psql, digite ';' e tecle ENTER. O sistema vai registrar as alterações na função.&lt;div class="blogger-post-footer"&gt;Meu Blog de PostgreSQL - http://postgresqlbr.blogspot.com/
- Cláudio Bezerra Leopoldino&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3371915898459901668-8179270431637399242?l=postgresqlbr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlbr.blogspot.com/feeds/8179270431637399242/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3371915898459901668&amp;postID=8179270431637399242' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/8179270431637399242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/8179270431637399242'/><link rel='alternate' type='text/html' href='http://postgresqlbr.blogspot.com/2009/07/psql-84-novas-funcionalidades.html' title='Psql 8.4: Novas Funcionalidades!'/><author><name>cbleopoldino</name><uri>http://www.blogger.com/profile/16676839129160419931</uri><email>claudio.leopoldino@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18228914201022771742'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3371915898459901668.post-2247440170118129846</id><published>2009-07-29T07:55:00.002-03:00</published><updated>2009-07-29T07:59:43.894-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Outro'/><title type='text'>PostgreSQL 8.4 - Silêncio no Planeta Postgresql!</title><content type='html'>Achei interessante o silêncio sobre a nova versão do PostgreSQL na comunidade. O site do &lt;a href="http://planeta.postgresql.org.br/"&gt;Planeta PostgreSQL BR&lt;/a&gt; não teve nenhum post novo desde 08/07/2009. &lt;br /&gt;&lt;br /&gt;21 dias sem posts? Ou todos estão muito ocupados ou faltam novidades significativas. Espero que seja a primeira opção, pois foi o que aconteceu comigo!&lt;div class="blogger-post-footer"&gt;Meu Blog de PostgreSQL - http://postgresqlbr.blogspot.com/
- Cláudio Bezerra Leopoldino&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3371915898459901668-2247440170118129846?l=postgresqlbr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlbr.blogspot.com/feeds/2247440170118129846/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3371915898459901668&amp;postID=2247440170118129846' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/2247440170118129846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/2247440170118129846'/><link rel='alternate' type='text/html' href='http://postgresqlbr.blogspot.com/2009/07/postgresql-84-silencio-no-planeta.html' title='PostgreSQL 8.4 - Silêncio no Planeta Postgresql!'/><author><name>cbleopoldino</name><uri>http://www.blogger.com/profile/16676839129160419931</uri><email>claudio.leopoldino@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18228914201022771742'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3371915898459901668.post-836973641950793156</id><published>2009-07-01T15:50:00.002-03:00</published><updated>2009-07-01T15:55:41.619-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Notícias'/><category scheme='http://www.blogger.com/atom/ns#' term='PostgreSQL'/><title type='text'>PostgreSQL 8.4 Enfim Liberado!</title><content type='html'>O download do PostgreSQL 8.4 (8.4.0) foi enfim liberado!&lt;br /&gt;&lt;br /&gt;A nova versão promete mais velocidade e facilidade de uso, melhorias no monitoramento e administração. É instalar e testar para ver! Em breve detalharei neste espaço as principais novidades deste aguardado release!&lt;br /&gt;&lt;br /&gt;Abaixo, os links mais úteis:&lt;br /&gt;&lt;br /&gt;* Download&lt;br /&gt;  &lt;a href="http://www.postgresql.org/download/" target="_blank"&gt;http://www.postgresql.org/download/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;* Notas de Lançamento&lt;br /&gt;  &lt;a href="http://www.postgresql.org/docs/8.4/static/release-8-4.html" target="_blank"&gt;http://www.postgresql.org/docs/8.4/static/release-8-4.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;* Funções implementadas na versão&lt;br /&gt;  &lt;a href="http://www.postgresql.org/about/press/features84.html" target="_blank"&gt;http://www.postgresql.org/about/press/features84.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;* Press Release&lt;br /&gt;  &lt;a href="http://www.postgresql.org/about/press/presskit84.html" target="_blank"&gt;http://www.postgresql.org/about/press/presskit84.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;Meu Blog de PostgreSQL - http://postgresqlbr.blogspot.com/
- Cláudio Bezerra Leopoldino&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3371915898459901668-836973641950793156?l=postgresqlbr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlbr.blogspot.com/feeds/836973641950793156/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3371915898459901668&amp;postID=836973641950793156' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/836973641950793156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/836973641950793156'/><link rel='alternate' type='text/html' href='http://postgresqlbr.blogspot.com/2009/07/postgresql-84-enfim-liberado.html' title='PostgreSQL 8.4 Enfim Liberado!'/><author><name>cbleopoldino</name><uri>http://www.blogger.com/profile/16676839129160419931</uri><email>claudio.leopoldino@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18228914201022771742'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3371915898459901668.post-6116076966917001514</id><published>2009-06-16T13:11:00.003-03:00</published><updated>2009-06-16T13:17:10.814-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Notícias'/><category scheme='http://www.blogger.com/atom/ns#' term='PostgreSQL'/><title type='text'>PostgreSQL 8.4: Release Candidate Liberada!</title><content type='html'>Depois do teste de softwares em versões beta, a versão &lt;span style="font-style: italic;"&gt;Release Candidate&lt;/span&gt; é a mais próxima da versão oficial.  A poucos minutos a versão RC do PostgreSQL 8.4 foi liberada para download &lt;a href="http://www.postgresql.org/developer/beta"&gt;aqui&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;Lembro que esta não é uma versão definitiva e não deve ser utilizada em sistemas de produção, mas pode ser utilizada, por exemplo, para o desenvolvimento de produtos enquanto a oficial não chega de fato. Teste e compartilhe suas primeiras impressões!&lt;div class="blogger-post-footer"&gt;Meu Blog de PostgreSQL - http://postgresqlbr.blogspot.com/
- Cláudio Bezerra Leopoldino&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3371915898459901668-6116076966917001514?l=postgresqlbr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlbr.blogspot.com/feeds/6116076966917001514/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3371915898459901668&amp;postID=6116076966917001514' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/6116076966917001514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/6116076966917001514'/><link rel='alternate' type='text/html' href='http://postgresqlbr.blogspot.com/2009/06/postgresql-84-release-candidate.html' title='PostgreSQL 8.4: Release Candidate Liberada!'/><author><name>cbleopoldino</name><uri>http://www.blogger.com/profile/16676839129160419931</uri><email>claudio.leopoldino@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18228914201022771742'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3371915898459901668.post-1986173837953836590</id><published>2009-06-15T07:45:00.004-03:00</published><updated>2009-06-15T07:49:41.673-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Outro'/><title type='text'>Enquete: Que Prioridades o Desenvolvimento do Postgres deve Assumir?</title><content type='html'>Que Prioridades o Desenvolvimento do Postgres deve Assumir? Você já pensou nisso?&lt;br /&gt;&lt;br /&gt;Essa enquete (&lt;span style="font-style: italic;"&gt;What's your highest priority for PostgreSQL development?&lt;/span&gt;) está disponível no site da comunidade internacional do PostgreSQL. Se você tem alguma prioridade que não está na lista, podes coloca-l a como comentário.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.postgresql.org/community/"&gt;Fazer acesso à enquete&lt;/a&gt;!&lt;div class="blogger-post-footer"&gt;Meu Blog de PostgreSQL - http://postgresqlbr.blogspot.com/
- Cláudio Bezerra Leopoldino&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3371915898459901668-1986173837953836590?l=postgresqlbr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlbr.blogspot.com/feeds/1986173837953836590/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3371915898459901668&amp;postID=1986173837953836590' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/1986173837953836590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/1986173837953836590'/><link rel='alternate' type='text/html' href='http://postgresqlbr.blogspot.com/2009/06/enquete-que-prioridades-o.html' title='Enquete: Que Prioridades o Desenvolvimento do Postgres deve Assumir?'/><author><name>cbleopoldino</name><uri>http://www.blogger.com/profile/16676839129160419931</uri><email>claudio.leopoldino@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18228914201022771742'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3371915898459901668.post-7569600919079648082</id><published>2009-06-10T12:46:00.006-03:00</published><updated>2009-06-12T10:16:04.055-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PostgreSQL'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Números Aleatórios com o PostgreSQL: A Função RANDOM()</title><content type='html'>Gerar números aleatórios é uma necessidade importante para a geração de grandes bases de dados de teste. Para maior veracidade nos testes, uma certa aleatoriedade é esperada deste tipo de base de dados. Aí entram em cena as rotinas de geração de números aleatórios.&lt;br /&gt;&lt;br /&gt;A função RANDOM() é o método nativo do PostgreSQL para a geração de seqüências de números aleatórios. Neste post vamos apresentar exemplos práticos do uso desta função que podem ser úteis no cotidiano.&lt;br /&gt;&lt;br /&gt;Ao se executar a função RANDOM(), é retornado um número aleatório entre zero e 1 com muitas casas decimais. Dependendo da necessidade, pode-se gerar um número positivo, um valor dentro de um determinado determinado intervalo. Valores e intervalos podem assumir valores nulos e negativos com pequenas variações de sintaxe.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;* Sintaxe&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1 - A sintaxe básica.&lt;br /&gt;&lt;br /&gt;SELECT random();&lt;br /&gt;&lt;br /&gt;Retorna: 0.896639783866704, 0.516120770014822...&lt;br /&gt;&lt;br /&gt;2 - Busca de números com um valor dentro de um intervalo começado com zero é um pouco mais complicada. O exemplo abaixo retorna um valor entre 0 e 99. Para aumentar ou diminuir o intervalo, trocar o número 100 por outro valor. Ajustar as casas decimais do comando CAST se desejar valores fracionários. A função ROUND() elimina decimais indesejadas.&lt;br /&gt;&lt;br /&gt;SELECT round(CAST (random()*100 AS NUMERIC),0);&lt;br /&gt;&lt;br /&gt;3 - Busca de números com um valor dentro de um intervalo qualquer demanda atenção. O exemplo abaixo retorna um valor entre 27 e 90. Para aumentar ou diminuir o intervalo, trocar os números 27 e 91 por outros valores. Ajustar as casas decimais do comando CAST se desejar valores fracionários.&lt;br /&gt;&lt;br /&gt;SELECT 27 + round(CAST (random()*(91-27) AS NUMERIC),0);&lt;br /&gt;&lt;br /&gt;4 - Busca de números com um valor dentro de um intervalo começado com valor negativo. Bastante similar ao exemplo anterior.&lt;br /&gt;&lt;br /&gt;SELECT -57 + round(CAST (random()*(91+57) AS NUMERIC),0);&lt;div class="blogger-post-footer"&gt;Meu Blog de PostgreSQL - http://postgresqlbr.blogspot.com/
- Cláudio Bezerra Leopoldino&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3371915898459901668-7569600919079648082?l=postgresqlbr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlbr.blogspot.com/feeds/7569600919079648082/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3371915898459901668&amp;postID=7569600919079648082' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/7569600919079648082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/7569600919079648082'/><link rel='alternate' type='text/html' href='http://postgresqlbr.blogspot.com/2009/06/numeros-aleatorios-com-o-postgresql.html' title='Números Aleatórios com o PostgreSQL: A Função RANDOM()'/><author><name>cbleopoldino</name><uri>http://www.blogger.com/profile/16676839129160419931</uri><email>claudio.leopoldino@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18228914201022771742'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3371915898459901668.post-9116251167714567909</id><published>2009-06-03T13:11:00.004-03:00</published><updated>2009-06-03T13:28:14.359-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PostgreSQL'/><category scheme='http://www.blogger.com/atom/ns#' term='PGSQL'/><title type='text'>Geração de CPFs Fictícios com Pl/ PgSQL</title><content type='html'>A geração de massas de dados para teste é um processo muito importante, para verificar o comportamento de um banco de dados em relação à carga de processamento que o mesmo tem de desempenhar. A geração de CPFs fictícios é uma atividade relativamente comum em empresas brasileiras que armazenam este tipo de identificador. No entanto muitas vezes os testes são feitos com valores incorretos, isto é, que não respeitam as regras para os dois dígitos verificadores.&lt;br /&gt;&lt;br /&gt;Abaixo está um código que se propõe a retornar CPFs aleatórios com dígitos verificadores corretos, implementado em Pl/ PgSQL.&lt;br /&gt;&lt;br /&gt;Os comandos mais importantes deste código são:&lt;br /&gt;- Random() - Geração de números aleatórios&lt;br /&gt;- substring() - Extração de parte de uma string com base nso parâmetros fornecidos&lt;br /&gt;- CAST () - Conversão de tipos no PostgreSQL&lt;br /&gt;- trim() - Eliminação de espaços em branco de strings&lt;br /&gt;&lt;br /&gt;Os testes foram muito positivos. Coloco para você, leitor, as seguintes perguntas:&lt;br /&gt;- Este código segue um algoritmo correto?&lt;br /&gt;- Ele pode ser melhorado? De que forma?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;CREATE OR REPLACE FUNCTION gerar_CPF() RETURNS varchar AS $$&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;-- ROTINA DE GERAÇÃO DE CPF SEM LOOP&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;-- Retorna string com CPF aletório correto.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;DECLARE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;vet_cpf integer [11]; --Recebe o CPF &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;soma integer; -- Soma utilizada para o cálculo do DV&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;rest integer; -- Resto da divisão&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;-- Atribuição dos valores do Vetor&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;vet_cpf[0] := cast(substring (CAST (random() AS VARCHAR), 3,1) as integer);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;vet_cpf[1] := cast(substring (CAST (random() AS VARCHAR), 3,1) as integer);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;vet_cpf[2] := cast(substring (CAST (random() AS VARCHAR), 3,1) as integer);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;vet_cpf[3] := cast(substring (CAST (random() AS VARCHAR), 3,1) as integer);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;vet_cpf[4] := cast(substring (CAST (random() AS VARCHAR), 3,1) as integer);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;vet_cpf[5] := cast(substring (CAST (random() AS VARCHAR), 3,1) as integer);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;vet_cpf[6] := cast(substring (CAST (random() AS VARCHAR), 3,1) as integer);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;vet_cpf[7] := cast(substring (CAST (random() AS VARCHAR), 3,1) as integer);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;vet_cpf[8] := cast(substring (CAST (random() AS VARCHAR), 3,1) as integer);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;-- CÁLCULO DO PRIMEIRO NÚMERO DO DV&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;-- Soma dos nove primeiros multiplicados por 10, 9, 8 e assim por diante...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;soma:=(vet_cpf[0]*10)+(vet_cpf[1]*9)+(vet_cpf[2]*8)+(vet_cpf[3]*7)+(vet_cpf[4]*6)+(vet_cpf[5]*5)+(vet_cpf[6]*4)+(vet_cpf[7]*3)+(vet_cpf[8]*2);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;rest:=soma % 11;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;if (rest = 0) or (rest = 1) THEN&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;vet_cpf[9]:=0;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ELSE vet_cpf[9]:=(11-rest); END IF;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;-- CÁLCULO DO SEGUNDO NÚMERO DO DV&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;-- Soma dos nove primeiros multiplicados por 11, 10, 9 e assim por diante...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;soma:= (vet_cpf[0]*11) + (vet_cpf[1]*10) + (vet_cpf[2]*9) + (vet_cpf[3]*8) + (vet_cpf[4]*7) + (vet_cpf[5]*6) + (vet_cpf[6]*5) + (vet_cpf[7]*4) + (vet_cpf[8]*3) + (vet_cpf[9]*2);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;rest:=soma % 11;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;if (rest = 0) or (rest = 1) THEN&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    vet_cpf[10] := 0;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ELSE &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    vet_cpf[10] := (11-rest); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;END IF;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;--Retorno do CPF&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;RETURN trim(trim(to_char(vet_cpf[0],'9')) || trim(to_char(vet_cpf[1],'9')) || trim(to_char(vet_cpf[2],'9')) || trim(to_char(vet_cpf[3],'9')) || trim(to_char(vet_cpf[4],'9')) || trim(to_char(vet_cpf[5],'9')) || trim(to_char(vet_cpf[6],'9')) || trim(to_char(vet_cpf[7],'9'))|| trim(to_char(vet_cpf[8],'9')) || trim(to_char(vet_cpf[9],'9')) || trim(to_char(vet_cpf[10],'9')));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;END;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;$$ LANGUAGE PLPGSQL;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Chamada da função, retornando um CPF aleatório.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;select gerar_CPF() ;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A função para fazer o teste está &lt;a href="http://postgresqlbr.blogspot.com/2008/07/validao-de-cpf-algoritmo-sem-loops.html"&gt;neste post&lt;/a&gt;. O resultado para um CPF correto é 1.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;select CPF_Validar_Sem_Loop(gerar_CPF());&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;select CPF_Validar_Sem_Loop('66067526557'); --Gerado pelo programa&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;Meu Blog de PostgreSQL - http://postgresqlbr.blogspot.com/
- Cláudio Bezerra Leopoldino&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3371915898459901668-9116251167714567909?l=postgresqlbr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlbr.blogspot.com/feeds/9116251167714567909/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3371915898459901668&amp;postID=9116251167714567909' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/9116251167714567909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/9116251167714567909'/><link rel='alternate' type='text/html' href='http://postgresqlbr.blogspot.com/2009/06/geracao-de-cpfs-ficticios-com-pl-pgsql.html' title='Geração de CPFs Fictícios com Pl/ PgSQL'/><author><name>cbleopoldino</name><uri>http://www.blogger.com/profile/16676839129160419931</uri><email>claudio.leopoldino@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18228914201022771742'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3371915898459901668.post-4291968700581406469</id><published>2009-04-28T16:55:00.007-03:00</published><updated>2009-05-13T11:49:07.748-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Outro'/><title type='text'>A Oracle comprou a SUN e conseqüentemente o Java e o MySQL. E como fica o PostgreSQL?</title><content type='html'>A Oracle comprou a SUN e conseqüentemente o Java e o MySQL. Mais informações podem ser obtidas &lt;a href="http://www.terra.com.br/istoedinheiro/edicoes/603/oracle-mais-livre-do-que-nuncacom-a-compra-da-sun-132391-1.htm"&gt;aqui&lt;/a&gt;. Que impactos esta aquisição causará sobre o PostgreSQL?&lt;br /&gt;&lt;br /&gt;Ainda é muito cedo para ter certezas sobre este tema, mas ele certamente é bastante crítico para a área de banco de dados. A Oracle adquiriu nos últimos anos uma série de empresas e seus softwares de banco, dentre elas o Berkeley DB, que passaram a  figurar entre as soluções desta empresa. As novas aquisições continuarão a ser livres e a serem aprimoradas? O suporte do java ao PostgreSQL estará ameaçado? O espaço para o PostgreSQL diminuirá ou será ampliado? Estas e outras questões permanecem em aberto.&lt;br /&gt;&lt;br /&gt;Baseado nestas dúvidas tive a idéia de criar um tópico aberto. Peço que coloquem opiniões e links para reportagens sobre o impacto desta aquisição para a comunidade de banco de dados e particularmente para os usuários do PostgreSQL.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Atualização (13/05/2009): anexo link para &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://www.midstorm.org/%7Efike/weblog/2009/04/21/oracle-compra-sun-tentando-entender/"&gt;posts sobre o assunto&lt;/a&gt;&lt;span style="font-weight: bold;"&gt; no site do Fernando Ike e do &lt;a href="http://www.midstorm.org/%7Etelles/2009/04/21/oracle-compra-sun-e-nao-e-1%C2%BA-de-abril/"&gt;Telles&lt;/a&gt;.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;Meu Blog de PostgreSQL - http://postgresqlbr.blogspot.com/
- Cláudio Bezerra Leopoldino&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3371915898459901668-4291968700581406469?l=postgresqlbr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlbr.blogspot.com/feeds/4291968700581406469/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3371915898459901668&amp;postID=4291968700581406469' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/4291968700581406469'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/4291968700581406469'/><link rel='alternate' type='text/html' href='http://postgresqlbr.blogspot.com/2009/04/oracle-comprou-sun-e-consequentemente-o.html' title='A Oracle comprou a SUN e conseqüentemente o Java e o MySQL. E como fica o PostgreSQL?'/><author><name>cbleopoldino</name><uri>http://www.blogger.com/profile/16676839129160419931</uri><email>claudio.leopoldino@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18228914201022771742'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3371915898459901668.post-4575503200485572294</id><published>2009-05-13T08:37:00.004-03:00</published><updated>2009-05-13T08:50:20.352-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Notícias'/><category scheme='http://www.blogger.com/atom/ns#' term='PostgreSQL'/><title type='text'>PostgreSQL no IV Festival Software Livre da Bahia</title><content type='html'>Eventos de software livre ganham maior relevância, à medida em que se consolidam. O III ENSL - Encontro Nordestino de Software Livre e o IV Festival Software Livre da Bahia, que antes eram iniciativas distintas, se fundiram em um único evento que será realizado nos dias &lt;strong style="font-weight: normal;"&gt;29 e 30 de maio de 2009, no campus da Universidade Estadual da Bahia (UNEB), em Salvador&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;A programação é vasta e eclética e abrange cinco grandes áreas: Cultura Digital Livre; Casos de Sucesso; Ferramentas e Soluções; Desenvolvimento de Software e Educação e Inclusão Digital.&lt;br /&gt;&lt;br /&gt;O PostgreSQL será discutido na palestra "&lt;span style="font-style: italic;"&gt;Tuning&lt;/span&gt; de Banco de Dados Livre: O Caso do PostgreSQL", ministrada por mim.&lt;br /&gt;&lt;br /&gt;A programação detalhada e as inscrições estão disponíveis até &lt;span style="font-weight: bold;"&gt;24/05&lt;/span&gt; no &lt;a href="http://wiki.softwarelivre.org/Festival4"&gt;site do evento&lt;/a&gt;!&lt;div class="blogger-post-footer"&gt;Meu Blog de PostgreSQL - http://postgresqlbr.blogspot.com/
- Cláudio Bezerra Leopoldino&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3371915898459901668-4575503200485572294?l=postgresqlbr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlbr.blogspot.com/feeds/4575503200485572294/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3371915898459901668&amp;postID=4575503200485572294' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/4575503200485572294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/4575503200485572294'/><link rel='alternate' type='text/html' href='http://postgresqlbr.blogspot.com/2009/05/postgresql-no-iv-festival-software.html' title='PostgreSQL no IV Festival Software Livre da Bahia'/><author><name>cbleopoldino</name><uri>http://www.blogger.com/profile/16676839129160419931</uri><email>claudio.leopoldino@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18228914201022771742'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3371915898459901668.post-8002875349955415496</id><published>2009-04-16T08:40:00.002-03:00</published><updated>2009-04-16T08:46:08.472-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Notícias'/><category scheme='http://www.blogger.com/atom/ns#' term='PostgreSQL'/><title type='text'>Versão 8.4: primeira release beta disponível!</title><content type='html'>O grupo de desenvolvimento do PostgreSQL anunciou que a primeira versão 8.4 BETA está disponível para &lt;span style="font-style: italic;"&gt;download&lt;/span&gt;.  A colaboração da comunidade nos testes é de vital importância para  o diagnóstico e correção de quaisquer problemas na ferramenta. Esta versão não deve ser utilizada para aplicações corporativas, por ser menos estável que as &lt;span style="font-style: italic;"&gt;releases&lt;/span&gt; padrão.&lt;br /&gt;&lt;br /&gt;Testemos, critiquemos e participemos!!!&lt;br /&gt;&lt;br /&gt;Mais informações em: &lt;a href="http://www.postgresql.org/developer/beta"&gt;http://www.postgresql.org/developer/beta&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Em breve apresentaremos um detalhamento das novas funcionalidades da versão 8.4 neste espaço.&lt;div class="blogger-post-footer"&gt;Meu Blog de PostgreSQL - http://postgresqlbr.blogspot.com/
- Cláudio Bezerra Leopoldino&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3371915898459901668-8002875349955415496?l=postgresqlbr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlbr.blogspot.com/feeds/8002875349955415496/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3371915898459901668&amp;postID=8002875349955415496' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/8002875349955415496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/8002875349955415496'/><link rel='alternate' type='text/html' href='http://postgresqlbr.blogspot.com/2009/04/versao-84-primeira-release-beta.html' title='Versão 8.4: primeira release beta disponível!'/><author><name>cbleopoldino</name><uri>http://www.blogger.com/profile/16676839129160419931</uri><email>claudio.leopoldino@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18228914201022771742'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3371915898459901668.post-7057209112487205701</id><published>2009-04-08T15:00:00.004-03:00</published><updated>2009-04-08T15:07:38.106-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PostgreSQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Outro'/><title type='text'>Fique Atualizado em PostgreSQL com o Addict-o-matic!!!</title><content type='html'>Ficar atualizado em tecnologias de hardware e software não é das tarefas mais fáceis. O site &lt;span style="font-weight: bold;"&gt;Addict-o-matic&lt;/span&gt; faz a coleta de uma série de notícias, posts em blogs, vídeos e imagens em uma série de fontes na rede. O resultado de uma pesquisa sobre o PostgreSQL não decepcionou.&lt;br /&gt;&lt;br /&gt;Clique &lt;a href="http://addictomatic.com/topic/postgreSQL"&gt;aqui&lt;/a&gt; para experimentar! Podem ser fornecidas várias opções de pesquisa, e o site funciona bem como agregador de informações.&lt;br /&gt;&lt;br /&gt;A dica do site foi do blog da colunista &lt;a href="http://info.abril.com.br/aberto/infonews/tags/sandra_carvalho1.shtml"&gt;Sandra Carvalho&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;Meu Blog de PostgreSQL - http://postgresqlbr.blogspot.com/
- Cláudio Bezerra Leopoldino&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3371915898459901668-7057209112487205701?l=postgresqlbr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlbr.blogspot.com/feeds/7057209112487205701/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3371915898459901668&amp;postID=7057209112487205701' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/7057209112487205701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/7057209112487205701'/><link rel='alternate' type='text/html' href='http://postgresqlbr.blogspot.com/2009/04/fique-atualizado-em-postgresql-com-o.html' title='Fique Atualizado em PostgreSQL com o Addict-o-matic!!!'/><author><name>cbleopoldino</name><uri>http://www.blogger.com/profile/16676839129160419931</uri><email>claudio.leopoldino@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18228914201022771742'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3371915898459901668.post-7500448766408196961</id><published>2009-04-03T18:06:00.002-03:00</published><updated>2009-04-03T18:19:10.754-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PostgreSQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Algoritmo'/><title type='text'>Ano Bissexto no PostgreSQL!</title><content type='html'>Às vezes o mais difícil de fazer são coisas realmente simples. Os exemplo de código abaixo são implementações de uma rotina que calcula se um ano é bissexto ou não.&lt;br /&gt;&lt;br /&gt;Segundo a &lt;a href="http://pt.wikipedia.org/wiki/Ano_bissexto"&gt;Wikipedia&lt;/a&gt;, as regras do ano bissexto são poucas, mas não são triviais:&lt;br /&gt;* São bissextos todos os anos múltiplos de 400, p.ex: 1600, 2000, 2400, 2800&lt;br /&gt;* Não são bissextos todos os múltiplos de 100 e não de 400, p.ex: 1700, 1800, 1900, 2100, 2200, 2300, 2500...&lt;br /&gt;* São bissextos todos os múltiplos de 4 e não múltiplos de 100, p.ex: 1996, 2004, 2008, 2012, 2016...&lt;br /&gt;* Não são bissextos todos os demais anos.&lt;br /&gt;&lt;br /&gt;Com base no que é apresentado neste post, peço que você que me responda três perguntas:&lt;br /&gt;- Os dois exemplos abaixo estão corretos?&lt;br /&gt;- Qual dos dois apresentaria alguma vantagem em relação ao outro? Ou são ambos equivalentes?&lt;br /&gt;- É possível melhorar as implementações? De que formas?&lt;br /&gt;&lt;br /&gt;As duas funções criadas retornam 1 se ano for bissexto, 0 se não for e 99 se for anterior a 1582, para anos acima de 1582.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Exemplo 1:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;CREATE OR REPLACE FUNCTION ano_bissexto (pAno integer) RETURNS integer AS $$&lt;br /&gt;DECLARE&lt;br /&gt;    ret integer;&lt;br /&gt;BEGIN&lt;br /&gt;    IF $1&lt;1582 THEN RETURN 99; END IF;&lt;br /&gt;    ret :=0; --Inicialização&lt;br /&gt;    IF ($1%400=0) THEN &lt;br /&gt;        ret:=1; /*Bissexto*/&lt;br /&gt;    ELSE&lt;br /&gt;        IF ($1%4=0) AND ($1%100&lt;&gt;0) THEN &lt;br /&gt;            ret:=1; /*Bissexto*/&lt;br /&gt;        END IF;&lt;br /&gt;    END IF;&lt;br /&gt;    RETURN ret;&lt;br /&gt;END;&lt;br /&gt;$$ LANGUAGE plpgsql;&lt;br /&gt;&lt;br /&gt;SELECT ano_bissexto(1600);&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Exemplo 2:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;CREATE OR REPLACE FUNCTION ano_bissexto_menor (pAno integer) RETURNS integer AS $$&lt;br /&gt;DECLARE&lt;br /&gt;    ret integer;&lt;br /&gt;BEGIN&lt;br /&gt;    IF $1&lt;1582 THEN RETURN 99; END IF;&lt;br /&gt;    ret :=$1; --Inicialização&lt;br /&gt;    IF (ret%100=0) THEN &lt;br /&gt;        ret:=ret/100;&lt;br /&gt;    END IF;&lt;br /&gt;    IF ret%4=0 THEN&lt;br /&gt;        RETURN 1; --Bissexto       &lt;br /&gt;    ELSE&lt;br /&gt;        RETURN 0;    &lt;br /&gt;    END IF;&lt;br /&gt;END;&lt;br /&gt;$$ LANGUAGE plpgsql;&lt;br /&gt;&lt;br /&gt;SELECT ano_bissexto_menor(1600);&lt;div class="blogger-post-footer"&gt;Meu Blog de PostgreSQL - http://postgresqlbr.blogspot.com/
- Cláudio Bezerra Leopoldino&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3371915898459901668-7500448766408196961?l=postgresqlbr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlbr.blogspot.com/feeds/7500448766408196961/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3371915898459901668&amp;postID=7500448766408196961' title='4 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/7500448766408196961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/7500448766408196961'/><link rel='alternate' type='text/html' href='http://postgresqlbr.blogspot.com/2009/04/ano-bissexto-no-postgresql.html' title='Ano Bissexto no PostgreSQL!'/><author><name>cbleopoldino</name><uri>http://www.blogger.com/profile/16676839129160419931</uri><email>claudio.leopoldino@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18228914201022771742'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3371915898459901668.post-6464585203806208710</id><published>2009-04-02T16:30:00.006-03:00</published><updated>2009-04-02T16:42:06.242-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PostgreSQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Outro'/><title type='text'>Enquete Encerrada: PostgreSQL é um Ótimo Nome para Banco de Dados!</title><content type='html'>A enquete que perguntava a respeito do nome do PostgreSQL foi encerrada, e foi considerado que o nome tradicional deve ser mantido por uma maioria esmagadora. Os nomes alternativos sugeridos não tiveram aceitação e a opção de outros nomes não foi acolhida. Abaixo, os dados:&lt;br /&gt;&lt;br /&gt;&lt;table style="font-family: arial; text-align: left; margin-left: auto; margin-right: auto;" border="0" cellspacing="0" cols="3" frame="void" rules="none"&gt;  &lt;colgroup&gt;&lt;col width="86"&gt;&lt;col width="86"&gt;&lt;col width="86"&gt;&lt;/colgroup&gt;  &lt;tbody&gt;   &lt;tr&gt;    &lt;td align="left" height="17" width="86"&gt;&lt;b&gt;Opção&lt;/b&gt;&lt;/td&gt;    &lt;td align="left" width="86"&gt;&lt;b&gt;Votos&lt;/b&gt;&lt;/td&gt;    &lt;td align="left" width="86"&gt;&lt;b&gt;Percentual&lt;/b&gt;&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td align="left" height="32"&gt;Deve ser mantido.&lt;/td&gt;    &lt;td sdval="152" sdnum="1046;" align="right"&gt;152&lt;/td&gt;    &lt;td sdval="69,7247706422018" sdnum="1046;" align="right"&gt;69,72&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td align="left" height="32"&gt;Que tal PgDB?&lt;/td&gt;    &lt;td sdval="15" sdnum="1046;" align="right"&gt;15&lt;/td&gt;    &lt;td sdval="6,88073394495413" sdnum="1046;" align="right"&gt;6,88&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td align="left" height="32"&gt;Postgree seria melhor&lt;/td&gt;    &lt;td sdval="35" sdnum="1046;" align="right"&gt;35&lt;/td&gt;    &lt;td sdval="16,0550458715596" sdnum="1046;" align="right"&gt;16,06&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td align="left" height="17"&gt;Outro&lt;/td&gt;    &lt;td sdval="9" sdnum="1046;" align="right"&gt;9&lt;/td&gt;    &lt;td sdval="4,12844036697248" sdnum="1046;" align="right"&gt;4,13&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td align="left" height="17"&gt;Não sei.&lt;/td&gt;    &lt;td sdval="7" sdnum="1046;" align="right"&gt;7&lt;/td&gt;    &lt;td sdval="3,21100917431193" sdnum="1046;" align="right"&gt;3,21&lt;/td&gt;   &lt;/tr&gt;   &lt;tr&gt;    &lt;td align="left" height="17"&gt;&lt;b&gt;Totais&lt;/b&gt;&lt;/td&gt;    &lt;td sdval="218" sdnum="1046;" align="right"&gt;218&lt;/td&gt;    &lt;td sdval="100" sdnum="1046;" align="right"&gt;100&lt;/td&gt;   &lt;/tr&gt;  &lt;/tbody&gt; &lt;/table&gt;&lt;br /&gt;&lt;p class="western" style="margin-bottom: 0cm;"&gt;Concorda com o resultado? Discorda? Deixe seu comentário!&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_r2Eq58DmzTc/SdUTtx6EmzI/AAAAAAAAAKE/YEjCrWiml2Q/s1600-h/enquete.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 212px;" src="http://3.bp.blogspot.com/_r2Eq58DmzTc/SdUTtx6EmzI/AAAAAAAAAKE/YEjCrWiml2Q/s320/enquete.PNG" alt="" id="BLOGGER_PHOTO_ID_5320180212020058930" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p class="western" style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="western" style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Meu Blog de PostgreSQL - http://postgresqlbr.blogspot.com/
- Cláudio Bezerra Leopoldino&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3371915898459901668-6464585203806208710?l=postgresqlbr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlbr.blogspot.com/feeds/6464585203806208710/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3371915898459901668&amp;postID=6464585203806208710' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/6464585203806208710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/6464585203806208710'/><link rel='alternate' type='text/html' href='http://postgresqlbr.blogspot.com/2009/04/enquete-encerrada-postgresql-e-um-otimo.html' title='Enquete Encerrada: PostgreSQL é um Ótimo Nome para Banco de Dados!'/><author><name>cbleopoldino</name><uri>http://www.blogger.com/profile/16676839129160419931</uri><email>claudio.leopoldino@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18228914201022771742'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_r2Eq58DmzTc/SdUTtx6EmzI/AAAAAAAAAKE/YEjCrWiml2Q/s72-c/enquete.PNG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3371915898459901668.post-8746180767368739076</id><published>2009-03-27T14:44:00.004-03:00</published><updated>2009-03-27T15:03:06.200-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DBA'/><category scheme='http://www.blogger.com/atom/ns#' term='PostgreSQL'/><title type='text'>Log com Arquivos CSV</title><content type='html'>Arquivos texto são muito utilizados em sistemas de informação. No entanto, sua manipulação automática muitas vezes é difícil por serem meios não estruturados de armazenamento de informações. O uso de arquivos CSV (&lt;span style="font-style: italic;"&gt;Comma-Separated-Values&lt;/span&gt; - arquivos com valores separados por vírgula) facilita a utilização de arquivos texto para o armazenamento de dados. Um dos usos de arquivos CSV é no armazenamento do log de bancos de dados PostgreSQL, que passa a ser mais facilmente tratado por meio de planilhas eletrônicas, que apresentam os itens do log de forma tabular.&lt;br /&gt;&lt;br /&gt;A utilização de log em arquivo CSV é muito simples, bastando se alterar o arquivo POSTGRESQL.CONF, alterando o parâmetro &lt;span style="font-weight: bold;"&gt;log_destination&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; e fazer o &lt;span style="font-style: italic;"&gt;reload&lt;/span&gt; da configuração. Comente o valor anterior do parâmetro e coloque esta linha:&lt;br /&gt;&lt;br /&gt;log_destination = 'csvlog'&lt;br /&gt;&lt;br /&gt;A partir deste momento os arquivos de log criados serão do tipo CSV. Abaixo, uma imagem ilustrando como fica armazenado fisicamente o log:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_r2Eq58DmzTc/Sc0UUGsWOiI/AAAAAAAAAJ8/LcSEB817x7c/s1600-h/log+csv+postgresql.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 72px;" src="http://2.bp.blogspot.com/_r2Eq58DmzTc/Sc0UUGsWOiI/AAAAAAAAAJ8/LcSEB817x7c/s320/log+csv+postgresql.png" alt="" id="BLOGGER_PHOTO_ID_5317929070620981794" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;Meu Blog de PostgreSQL - http://postgresqlbr.blogspot.com/
- Cláudio Bezerra Leopoldino&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3371915898459901668-8746180767368739076?l=postgresqlbr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlbr.blogspot.com/feeds/8746180767368739076/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3371915898459901668&amp;postID=8746180767368739076' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/8746180767368739076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/8746180767368739076'/><link rel='alternate' type='text/html' href='http://postgresqlbr.blogspot.com/2009/03/log-com-arquivos-csv.html' title='Log com Arquivos CSV'/><author><name>cbleopoldino</name><uri>http://www.blogger.com/profile/16676839129160419931</uri><email>claudio.leopoldino@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18228914201022771742'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_r2Eq58DmzTc/Sc0UUGsWOiI/AAAAAAAAAJ8/LcSEB817x7c/s72-c/log+csv+postgresql.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3371915898459901668.post-6206461695124069993</id><published>2009-03-16T07:06:00.002-03:00</published><updated>2009-03-16T07:07:49.912-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Outro'/><title type='text'>Que linguagem você utiliza com o PostgreSQL?</title><content type='html'>Que linguagem você utiliza com o PostgreSQL? Esta é a enquete atual do site do PostgreSQL. Participe!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.postgresql.org/community"&gt;www.postgresql.org/community&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;Meu Blog de PostgreSQL - http://postgresqlbr.blogspot.com/
- Cláudio Bezerra Leopoldino&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3371915898459901668-6206461695124069993?l=postgresqlbr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlbr.blogspot.com/feeds/6206461695124069993/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3371915898459901668&amp;postID=6206461695124069993' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/6206461695124069993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3371915898459901668/posts/default/6206461695124069993'/><link rel='alternate' type='text/html' href='http://postgresqlbr.blogspot.com/2009/03/que-linguagem-voce-utiliza-com-o.html' title='Que linguagem você utiliza com o PostgreSQL?'/><author><name>cbleopoldino</name><uri>http://www.blogger.com/profile/16676839129160419931</uri><email>claudio.leopoldino@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18228914201022771742'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry></feed>