tag:blogger.com,1999:blog-79069966709026111672024-03-14T14:11:16.255-03:00Fabrízio de Royes MelloBlog sobre Tecnologia da InformaçãoFabrízio de Royes Mellohttp://www.blogger.com/profile/00868969448686556643noreply@blogger.comBlogger29125tag:blogger.com,1999:blog-7906996670902611167.post-7299033532400138852014-04-27T01:09:00.000-03:002014-04-27T01:09:08.283-03:00Novo EndereçoPessoal, este blog e seu conteúdo até o momento foram migrados para o octopress e estamos em novo endereço:
http://fabriziomello.github.io
Obrigado pela compreensão.Fabrízio de Royes Mellohttp://www.blogger.com/profile/00868969448686556643noreply@blogger.com0tag:blogger.com,1999:blog-7906996670902611167.post-62949996726240256242014-03-10T15:18:00.002-03:002014-03-10T15:18:30.716-03:00NovidadesEm breve teremos novidades por aqui, pois começarei um trabalho de tradução dos posts do blog http://www.depesz.com/ do amigo Hubert Depesz Lubaczewski, da Polônia.
O blog do Hubert é bem ativo e possui inúmeros posts interessantes e conversando com ele achamos válida a idéia de ter uma versão em PT-BR do mesmo.
Logo teremos o primeiro post aqui... aguardem...Fabrízio de Royes Mellohttp://www.blogger.com/profile/00868969448686556643noreply@blogger.com0tag:blogger.com,1999:blog-7906996670902611167.post-11886375304939873382013-06-10T23:32:00.001-03:002013-06-10T23:32:25.178-03:00Bad Smells (Mal cheiros) em Bancos de DadosUma estrutura de um banco de dados, diferentemente da estrutura de um software, tende a deteriorar naturalmente com o passar do tempo. Dentre várias causas de deterioração podemos citar o crescimento progressivo do volume de dados devido ao aumento natural de usuários que o utilizam e também ao seu próprio tempo de uso, tornando um modelo de dados que no início era eficiente para solução propostaFabrízio de Royes Mellohttp://www.blogger.com/profile/00868969448686556643noreply@blogger.com4tag:blogger.com,1999:blog-7906996670902611167.post-6629978409821419572013-06-10T22:50:00.000-03:002013-06-10T22:50:13.077-03:00Database Refactoring
Contextualização
Refatoração de código (Code Refactoring) é uma disciplina/processo que consiste em melhorar a estrutura interna de um software sem modificar seu comportamento externo, e uma Refatoração de Banco de Dados (Database Refactoring) parte do mesmo princípio, porém além de manter o comportamento externo também deve manter a semântica da informação que ele mantém/armazena, e Fabrízio de Royes Mellohttp://www.blogger.com/profile/00868969448686556643noreply@blogger.com0tag:blogger.com,1999:blog-7906996670902611167.post-28282183690736386262013-02-21T16:37:00.001-03:002013-02-21T17:57:12.354-03:00PostgreSQL 9.3devel - Nova extensão "postgres_fdw"Apartir da release 9.1 o PostgreSQL adicionou suporte a foreign tables, viabilizando assim uma forma simples de gerenciar fontes de dados externas dentro do PostgreSQL.
Através dessa infraestrutura é possível a implementação dos FDW (Foreign Data Wrapper), que são uma espécie de driver para acessar uma fonte de dados externa.
Já existem diversos FDW implementados que permitem acessar outros Fabrízio de Royes Mellohttp://www.blogger.com/profile/00868969448686556643noreply@blogger.com0tag:blogger.com,1999:blog-7906996670902611167.post-52039295378455363862013-02-20T11:30:00.000-03:002013-02-20T11:43:41.404-03:00PostgreSQL + Unlogged Tables + Partitioning + Parallel Programming = ETL reescrito passando de ~8h para ~25min de execuçãoJá faz algum tempo que não escrevo nada por aqui, mas não é por falta de tempo ou coisa parecida, é que na realidade não tenho muita intimidade com artigos ou posts em blogs, mas resolvi escrever um "causo" a pedido do amigo Fernando Ike sobre um tweet que lancei há algum tempo depois de obter sucesso em um projeto.
Aviso antecipadamente que o post é um pouco longo, então se não estiver com Fabrízio de Royes Mellohttp://www.blogger.com/profile/00868969448686556643noreply@blogger.com2tag:blogger.com,1999:blog-7906996670902611167.post-59570233345712039222013-02-18T12:21:00.000-03:002013-02-18T12:21:41.088-03:00PGBR2013 - Chamada de TrabalhosPessoal,
Está aberta a chamada de trabalhos para o PGBR2013. Vamos lá, se inscreva... estamos ansiosos para saber o que você tem feito com o PostgreSQL... nos encontramos em Porto Velho/RO de 15 a 17 de agosto de 2013.
--
Fabrízio de Royes Mello
fabriziomello [at] gmail.comFabrízio de Royes Mellohttp://www.blogger.com/profile/00868969448686556643noreply@blogger.com0tag:blogger.com,1999:blog-7906996670902611167.post-57977823306798285802012-10-04T01:04:00.000-03:002012-10-04T01:06:32.144-03:00Patch sobre CREATE SCHEMA IF NOT EXISTS aceito para o PostgreSQL 9.3develApós algumas discussões [1] meu patch para adicionar a cláusula "IF NOT EXISTS" no "CREATE SCHEMA" foi aceito e efetuado o commit na branch master do git oficial do PostgreSQL [2] pelo commiter Mr. Tom Lane.
Agora na 9.3 poderemos usar a cláusula "IF NOT EXISTS" no "CREATE SCHEMA" para que não gere um erro (cancelando transação atual) caso o esquema que está sendo criado já exista, por exemplo:
Fabrízio de Royes Mellohttp://www.blogger.com/profile/00868969448686556643noreply@blogger.com0R. República, 2000-2184 - Harmonia, Canoas - RS, 92310-530, Brasil-29.914518101581354 -51.198177337646484-29.915378101581354 -51.199411337646481 -29.913658101581355 -51.196943337646488tag:blogger.com,1999:blog-7906996670902611167.post-48241992753926077802012-05-17T22:41:00.001-03:002012-05-17T22:41:40.437-03:00Instalar/Configurar "Debugador" de PL/pgSQL (pldebugger) no PostgreSQL 9.1 usando Ubuntu
O passo-a-passo abaixo foi realizado no Ubuntu 10.04LTS com o PostgreSQL 9.1 instalado via ppa do Martin Pitti, mas creio que pode ser executado tranquilamente utilizando a última versão LTS do Ubuntu, a 12.04LTS.
1) Download dos fontes do PostgreSQL
$ wget -c http://ftp.postgresql.org/pub/source/v9.1.3/postgresql-9.1.3.tar.bz2
2) Precisamos instalar ferramentas necessárias para compilação Fabrízio de Royes Mellohttp://www.blogger.com/profile/00868969448686556643noreply@blogger.com2tag:blogger.com,1999:blog-7906996670902611167.post-55294850088397047682011-10-11T17:48:00.000-03:002011-10-11T17:48:53.125-03:00Vídeo com atividade do repositório GIT do PostgreSQL nos últimos meses
Pessoal,
Montei um pequeno vídeo [1] que mostra a atividade do repositório GIT do PostgreSQL nos últimos meses.
Para gerar o vídeo usei o Gource [2].
[1] http://www.vimeo.com/30394945[2] http://code.google.com/p/gource/
---
Fabrízio Mello
fabriziomello [at] gmail.comFabrízio de Royes Mellohttp://www.blogger.com/profile/00868969448686556643noreply@blogger.com1tag:blogger.com,1999:blog-7906996670902611167.post-45951209285875509732011-08-31T17:35:00.000-03:002011-08-31T17:35:28.828-03:00PGBR2011 - Chamada de TrabalhosPessoal,
A chamada de trabalhos do PGBR2011 está aberta.
Vejam mais informações interessantes de como participar no excelente post do Fábio Telles.
---
Fabrízio Mello
fabriziomello [at] gmail.comFabrízio de Royes Mellohttp://www.blogger.com/profile/00868969448686556643noreply@blogger.com0tag:blogger.com,1999:blog-7906996670902611167.post-35098528384805998512011-07-28T17:15:00.000-03:002011-07-28T17:15:29.019-03:00PGDay/RS 2011 - Targettrust irá Sortear 1 (um) Curso de PostgreSQL (20h)Durante o PGDay/RS 2011 a T@rgetTrust, empresa especializada em treinamentos, irá sortear 1 (um) curso, a escolha do sorteado, da sua Formação PostgreSQL:
PostgreSQL Fundamentos
PostgreSQL Procedural
PostgreSQL Administração
PostgreSQL Administração Avançada
Mais informações acesse o site do evento em:
http://www.postgresql.org.br/eventos/pgday/rs
Cordialmente,
Fabrízio de Royes Mello
Fabrízio de Royes Mellohttp://www.blogger.com/profile/00868969448686556643noreply@blogger.com0tag:blogger.com,1999:blog-7906996670902611167.post-21069669513148357082011-06-15T09:11:00.001-03:002011-07-28T17:08:43.946-03:00PGDay/RS 2011 em Porto Alegre/RS
O que é?
Postgres ou PostgreSQL é um projeto de Sistema Gerenciador de Banco de Dados open-source que foi iniciado em 1986, na Universidade de Berkeley, na Califórnia.
PGDay, ou Dia do Postgres, é um evento não tão formal quanto ao PGBR (Conferência sobre PostgreSQL no Brasil) e de caráter regional, podendo ser realizado com poucas pessoas em qualquer/vários estados do País.
Quais são os Fabrízio de Royes Mellohttp://www.blogger.com/profile/00868969448686556643noreply@blogger.com0tag:blogger.com,1999:blog-7906996670902611167.post-3616145633613646662011-04-08T08:07:00.001-03:002011-07-28T17:08:19.799-03:00PGBR2011 - Conferência Nacional PostgreSQL (3-4 Novembro, São Paulo)O PGBR (antes conhecido como PGCon Brasil) é o maior evento sobre PostgreSQL das Américas: em 2009 e 2008, o evento trouxe mais de 300 profissionais de TI e, em 2007, mais de 200. Em 2011, serão 3 salas simultâneas com tutoriais, palestras e mesas de alto nível, contando com desenvolvedores nacionais e internacionais do PostgreSQL além de profissionais renomados no mercado brasileiro.
Venha Fabrízio de Royes Mellohttp://www.blogger.com/profile/00868969448686556643noreply@blogger.com0tag:blogger.com,1999:blog-7906996670902611167.post-84440730124527089832010-10-12T22:15:00.001-03:002011-07-28T17:08:01.241-03:00Vaga DBA PostgreSQL em Porto Alegre/RSPessoal,
Estamos com uma vaga para DBA PostgreSQL em Porto Alegre/RS, com as seguintes requisitos:
ATRIBUIÇÕES:instalar/configurar Linux para posterior instalação do PostgreSQL
instalar/configurar o PostgreSQL na empresa (produção, desenvolvimento e testes) e nos clientes (produção e testes)
implantação e manutenção de políticas e rotinas de backup das bases de dados da empresa e dos clientes (Fabrízio de Royes Mellohttp://www.blogger.com/profile/00868969448686556643noreply@blogger.com0tag:blogger.com,1999:blog-7906996670902611167.post-49495770059771148382010-09-17T09:54:00.001-03:002011-07-28T17:07:29.798-03:00Função "array_diff" em PostgreSQLEstava realizando algumas queries aqui no meu trabalho e tive a necessidade de uma função que retornasse um array contendo os elementos de um determinado array e não estão presentes em outro, igual ao array_diff do PHP [1].
Para resolver esse pequeno problema bastou um SELECT, vejam a implementação da função "array_diff" para PostgreSQL abaixo:
CREATE OR REPLACE FUNCTION array_diff (anyarray, Fabrízio de Royes Mellohttp://www.blogger.com/profile/00868969448686556643noreply@blogger.com2tag:blogger.com,1999:blog-7906996670902611167.post-36163066825977921912010-08-21T19:14:00.006-03:002011-07-28T17:07:13.466-03:00CONSEGI 2010Nos dias 18, 19 e 20 de agosto/2010 ocorreu o evento denominado CONSEGI2010, onde tive oportunidade de participar como palestrante/instrutor em algumas atividades relacionadas ao PostgreSQL.
Abaixo seguem os links para download dos arquivos da palestra de das oficinas que ministrei:
Dia 19/08 - Palestra: Database Refactoring com PostgreSQLDia 20/08 - Oficina: PostgreSQL BásicoDia 20/02 - OficinaFabrízio de Royes Mellohttp://www.blogger.com/profile/00868969448686556643noreply@blogger.com0tag:blogger.com,1999:blog-7906996670902611167.post-84654877094108929372010-06-27T19:57:00.004-03:002011-07-28T17:06:31.291-03:00PostgreSQL na Memória RAM (In-Memory Database)Recentemente (dia 24/06/2010) em seu blog, replicado no planet-postgresql, o Sr. Robert Haas postou o artigo denominado "PostgreSQL as an In-Memory Only Database".
Baseado em seu relato e no abordado na lista pgsql-performance montei este pequeno tutorial para exemplificar na prática o que foi discutido, ou seja, uma forma fácil e rápida de criar o seu próprio "PostgreSQL as an In-Memory Fabrízio de Royes Mellohttp://www.blogger.com/profile/00868969448686556643noreply@blogger.com2tag:blogger.com,1999:blog-7906996670902611167.post-3651776935366523652010-04-13T16:43:00.003-03:002011-07-28T17:06:10.037-03:00PostgreSQL 8.2.x em Ubuntu > 8.04Como é de conhecimento de todos as versões do Ubuntu superiores a 8.04 (hardy) não possuem em seus repositórios padrões o PostgreSQL 8.2.x, então o caminho natural para que seja feita a instalação é download dos fontes, compilar e instalar... para quem tem bastante intimidade com Linux + PostgreSQL essa é uma atividade corriqueira e que normalmente é realizada em ambientes de produção.
Porém Fabrízio de Royes Mellohttp://www.blogger.com/profile/00868969448686556643noreply@blogger.com1tag:blogger.com,1999:blog-7906996670902611167.post-9015584844112414562010-01-22T09:21:00.002-02:002011-07-28T17:05:48.862-03:00PostgreSQL 8.5 vs 9.0Não é oficial ainda mas parece que não teremos mais uma versão 8.5 do PostgreSQL... a nova versão será 9.0 conforme discussão na lista de desenvolvimento do mesmo [1].
O motivo dessa mudança é o grande número de novas funcionalidades que irá incorporar a nova versão do PostgreSQL... isso é muito interessante pois a evolução do "elefantinho" está cada vez mais acelerada...
Vida longa ao Fabrízio de Royes Mellohttp://www.blogger.com/profile/00868969448686556643noreply@blogger.com0tag:blogger.com,1999:blog-7906996670902611167.post-75012346639070716952009-07-03T12:11:00.027-03:002009-08-05T14:03:14.742-03:00Case PgBouncer 1.3 com PostgreSQL 8.2Pessoal,Estou finalizando a implantação do PgBouncer 1.3 com PostgreSQL 8.2 e obtive excelentes resultados só pelo fato de colocar o Pool de Conexões na frente do "postmaster".Até aqui não temos nada de muito surpreendente a não ser pelo fato de que, segundo a documentação do próprio PgBouncer fala que podemos ter 100% de transparência com o PostgreSQL 8.3 pelo fato do comando "DISCARD" estar Fabrízio de Royes Mellohttp://www.blogger.com/profile/00868969448686556643noreply@blogger.com0tag:blogger.com,1999:blog-7906996670902611167.post-44988829090628608112009-07-01T18:32:00.006-03:002009-08-05T14:08:30.746-03:00PostgreSQL 8.4 LançadoHá poucas horas foi aunciado na lista pgsql-announce, pelo Sr. Josh Berkus, o lançamento versão 8.4 do PostgreSQL.Mais informações e a nota oficial de lançamento traduzidas podem ser encontradas em:http://www.postgresql.org/about/press/presskit84.html.brCordialmente,Fabrízio de Royes Mellofabriziomello [at] gmail.comFabrízio de Royes Mellohttp://www.blogger.com/profile/00868969448686556643noreply@blogger.com0tag:blogger.com,1999:blog-7906996670902611167.post-26998456233050665922009-07-01T10:31:00.004-03:002009-08-05T14:08:44.358-03:00Compilando o pgAdmin 1.10.0 no Ubuntu 9.04Ontem (30/06/2009) como já anunciado no blog foi liberada a nova versão do pgAdmin, entretanto ainda não foram disponibilizadas versões compiladas do mesmo para Linux.Então para instalar não teve jeito, tive de fazer download dos fontes e compilar e para isso tive de seguir os seguinte passos:1) Instalar os pré-requisitossudo apt-get install build-essentialsudo apt-get install libxml2-devsudo Fabrízio de Royes Mellohttp://www.blogger.com/profile/00868969448686556643noreply@blogger.com6tag:blogger.com,1999:blog-7906996670902611167.post-9713566560007457062009-07-01T10:04:00.006-03:002009-08-05T14:08:58.398-03:00Disponibilizado pgAdmin v1.10.0Pessoal,Após mais de um ano de desenvolvimento foi disponibilizada a tão esperada versão 1.10.0 do pgAdmin.Algumas das novas funcionalidades dessa versão:Construtor Gráfico de Consultas (Graphical Query Builder)Motor de Scripts na ferramenta de consulta (pgScript)Suporte melhorado para Postgres Plus Advanced Server e Greeplum DatabaseSuporte a "Full Text Search"Mecanismo para integração com Fabrízio de Royes Mellohttp://www.blogger.com/profile/00868969448686556643noreply@blogger.com0tag:blogger.com,1999:blog-7906996670902611167.post-85695337791939836482009-07-01T09:29:00.006-03:002009-08-05T14:09:17.302-03:00Palestra Database Refactoring com PostgreSQL - URCAMP Alegrete/RSOntem (30/06/2009) ministrei a palestra de Database Refactoring para os alunos do Curso de Informática da Universidade da Região da Campanha (URCAMP) de Alegrete/RS.O evento contou com a presença de alunos dos últimos semestres do Curso de Informática bem como de alguns docentes do Curso.Os slides da palestra estão disponíveis em:http://www.slideshare.net/fabriziomello/Fabrízio de Royes Mellohttp://www.blogger.com/profile/00868969448686556643noreply@blogger.com0