Planeta PostgreSQL-BR

02/07/2009

Fernando Ike

PostgreSQL 8.4 lançado

    Continuando a nota anterior, esta semana é uma semana de lançamento de versões de alguns projetos importantes, a nota anterior comentava sobre o Firefox 3.5 que foi lançado essa semana. Foi lançado também a versão do PostgreSQL 8.4.

   Após um ciclo de um pouco mais de um ano, saiu a nova versão do PostgreSQL 8.4. Como poderia esperar, está mais rápido, com mais recursos e funcionalidades. :)

   A Nota de Lançamento tem maiores detalhes. A nova versão do PostgreSQL foi apresentada numa palestra no FISL 10 (toscamente feita por mim) e as lâminas da apresentação podem ser vista aqui abaixo ou baixar o arquivo da palestra. Aproveito para agradecer o Euler que deu uma senhora ajuda com a palestra. :)

   Ah! se for usuário de Debian, pode ficar tranquilo que o 8.4 já está empacotado. Agora para mim, tem muito trabalho pela frente, pois tenho alguns pacotes no Debian que precisarão ser recompilados. ;)

  

 

by Fernando Ike at 02/07/2009 02:57

01/07/2009

Fabio Telles

Lançado o PostgreSQL 8.4!!!

Sim senhores, muitas novidades e hora de preparar o calendário de migrações para a nova versão oficial do PostgreSQL, o banco de dados livre mais avançado do mundo.

Vejam a nota oficial de lançamento em pt_BR.

by Telles at 01/07/2009 08:28

Claudio Bezerra Leopoldino

PostgreSQL 8.4 Enfim Liberado!

O download do PostgreSQL 8.4 (8.4.0) foi enfim liberado!

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!

Abaixo, os links mais úteis:

* Download
http://www.postgresql.org/download/

* Notas de Lançamento
http://www.postgresql.org/docs/8.4/static/release-8-4.html

* Funções implementadas na versão
http://www.postgresql.org/about/press/features84.html

* Press Release
http://www.postgresql.org/about/press/presskit84.html

by cbleopoldino (noreply@blogger.com) at 01/07/2009 03:55

25/06/2009

Fabio Telles

Pesquisa sobre backup em PostgreSQL

Note: There is a poll embedded within this post, please visit the site to participate in this post's poll.

by Telles at 25/06/2009 12:21

17/06/2009

Fabio Telles

Pesquisa sobre o uso do PostgreSQL no Brasil

Ouvi uma piada contada no PGCon Brasil 2007 que eu nunca esqueço: “O PostgreSQL é a amante dos bancos de dados. Todo mundo usa, mas quase ninguém confessa em público”. Ok, a piada pode te levar a comparações mais curiosas, mas a verdade é nua e crua: o Brasil é um dos países que mais utiliza o PostgreSQL, mas ninguém sabe onde. Sim, sabemos de inúmeros casos onde a empresa tem contratos que a proíbem até de divulgar que utilizam o PostgreSQL. Então, passados mais de um ano e após a prova cabal de que o Google Docs realmente funciona, resolvi fazer a coisa da forma mais simples possível: não leva nem 5 minutos para responder a pesquisa e deve gerar dados com um pouco do perfil dos usuários do PostgreSQL no Brasil.

Preencha a pesquisa agora aqui.

Mini FAQ

  • Sim, vamos públicar o resultado no final.
  • Não, não sei quando ainda, mas deve levar pelo menos um mês.
  • Não, não vamos divulgar nomes de empresas e pessoas que preencheram a pesquisa.
  • Sim, A chamada para a pesquisa foi divulgada hoje no site oficial da comunidade e é lá que vamos publicar os resultados em breve.
  • Sim, você pode e deve divulgar a pesquisa para aquele seu cliente que você sabe que utiliza PostgreSQL.
  • Sim, você pode e deve divulgar a pesquisa em sites, blogs, listas de discução, etc.
  • Sim, vamos fazer uma pesquisa qualitativa com mas detalhes sobre casos de uso brasileiros. Em breve…

by Telles at 17/06/2009 02:50

16/06/2009

Fernando Ike

Claudio Bezerra Leopoldino

PostgreSQL 8.4: Release Candidate Liberada!

Depois do teste de softwares em versões beta, a versão Release Candidate é a mais próxima da versão oficial. A poucos minutos a versão RC do PostgreSQL 8.4 foi liberada para download aqui!

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!

by cbleopoldino (noreply@blogger.com) at 16/06/2009 01:17

15/06/2009

Fabio Telles

Enquetes no SAVEPOINT

Bom, eu bem sei que não ando postando novos artigos por aqui. Mas, enquanto os longos artigos não voltam, vamos mexendo numa coisa aqui e outra ali. Dei uma boa melhorada na galeria de imagens:

Agora resolvi brincar com as enquetes. Não sei se vai vingar. Depende mesmo do número de pessoas que vão votar. Se tiver um número razoável, prometo ir atualizando por aqui.

Segue a primeira, que não poderia ser muito diferente. Em breve, algumas mais polêmicas devem se seguir. Aguardo os votos do pessoal.

Note: There is a poll embedded within this post, please visit the site to participate in this post's poll.

by Telles at 15/06/2009 01:51

Fernando Ike

Chamada de Trabalhos para PGCon Brasil 2009

 

 

   Sai alguns dias a chamada de trabalhos para PGCon Brasil 2009. Se gosta de PostgreSQL, ou quer conhecer um pouco está mais que convidado a participar do evento. Porém se tem um estudo de caso, fez uma coisa bacana com o PostgreSQL tem a oportunidade de apresentar para muitas pessoas que trabalham com PostgreSQL. :)

   O telles, com toda a pompa, fez um anúncio bacana e prôpos alguns temas interessantes. Ok, foi um pouco além e deu  nomes para várias palestras, se gostar de uma, diz que a idéia foi dele. :D

  Bom, acho que vou inscrever uma. ;)

by Fernando Ike at 15/06/2009 12:23

14/06/2009

Leandro Guimarães Faria Corcete DUTRA

A loja mágica de brinquedos do ſenhor Saito

Hoje fomos conhecer a famoſa loja mágica de brinquedos do ſenhor Morio ‘Mário’ Saito. Não ſaímos incólumes: o Felipe ‘quebrou o cofrinho’ (metaforicamente) e levou dois conjuntos Lego Guerra nas Eſtrelas, levamos uma maletinha Playmobil e mais quatro caixas de Lego Creative Building para noßa igreja.

Embora haja lugares que dizem ter maior variedade de conjuntos Lego, os preços de Saito-ſan ſão incrivelmente mais baixos — diferenças de um terço ſão comuns, e, nas promoções, metade do preço das lojas brasileiras, loucura total! E lá tem catálogos de Lego deſde a década de 1.990, ſabem os brinquedos que já paßaram por lá antes, tem muito Playmobil, muita coiſa da Haſbro como os Mighty Mugs, & outros como Cocoricó & por aí vai.

O dono tem oitenta anos de idade, ſua eſpoſa ſetenta & ſete, & cuidam ſozinhos da loja há quarenta & ſete anos, aparentemente com o meſmo mobiliário de madeira dos anos ſeßenta, e com aquela concepção de comércio antiquada, mas tão prazeroſa: prateleiras abarrotadas, caixas empilhadas ſobre caixas, e Saito-ſan vai eſcavando as caixas para achar o que queremos…

O dia que tivermos dinheiro, e tendo em viſta a alta quantidade de informatas amantes de Lego, o povo do PoſtgreSQL podia fazer um elefante azul (noßo maſcote) de Lego… ſeria um ſuceßo nos eventos de ſiſtemas livres mundo afora!

by DUTRA, Leandro Guimarães Faria Corcete (noreply@blogger.com) at 14/06/2009 08:06

13/06/2009

Leandro Guimarães Faria Corcete DUTRA

Palestra no FISL marcada para sábado, dia vinte & sete

Foi marcada para das dezenove às vinte horas de sábado, dia vinte e sete deste mês de junho de AD 2009, minha palestra sobre ‘ferramentas de modelagem literária e documentação automática em PostgreSQL e outros SGBDs livres’.

Na tradição da comunidade, o título da palestra é uma brincadeira com nosso mascote: O elefante ilustrado, procurando trazer a idéia de diagramação, e, portanto, modelagem de dados através do conceito de ‘ilustração’ — o que, de certa maneira, é um pouco enganoso porque meu foco é a modelagem, não a diagramação, uma vez que creio que os diagramas devem ser gerados automaticamente.

Agora é preparar-me…

by DUTRA, Leandro Guimarães Faria Corcete (noreply@blogger.com) at 13/06/2009 10:34

12/06/2009

Leandro Guimarães Faria Corcete DUTRA

Chamada de trabalhos para a III Conferência PostgreSQL Brasil (2009)

Está aberta a chamada de trabalhos para a III Conferência PostgreSQL Braſil (2009), a PgConBR 2009.

Se tens algum trabalho a apreſentar sobre PostgreSQL — pesquisa acadêmica, estudo de caso, novo desenvolvimento &c — faça-o o quanto antes! As PgConBRs são muito interessantes, mas principalmente para quem palestra: quem palestra é procurado pelas pessoas para conversar, e muita coisa interessante vem daí.

by DUTRA, Leandro Guimarães Faria Corcete (noreply@blogger.com) at 12/06/2009 07:29

Claudio Bezerra Leopoldino

Números Aleatórios com o PostgreSQL: A Função RANDOM()

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.

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.

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.

* Sintaxe

1 - A sintaxe básica.

SELECT random();

Retorna: 0.896639783866704, 0.516120770014822...

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.

SELECT round(CAST (random()*100 AS NUMERIC),0);

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.

SELECT 27 + round(CAST (random()*(91-27) AS NUMERIC),0);

4 - Busca de números com um valor dentro de um intervalo começado com valor negativo. Bastante similar ao exemplo anterior.

SELECT -57 + round(CAST (random()*(91+57) AS NUMERIC),0);

by cbleopoldino (noreply@blogger.com) at 12/06/2009 10:16

03/06/2009

Claudio Bezerra Leopoldino

Geração de CPFs Fictícios com Pl/ PgSQL

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.

Abaixo está um código que se propõe a retornar CPFs aleatórios com dígitos verificadores corretos, implementado em Pl/ PgSQL.

Os comandos mais importantes deste código são:
- Random() - Geração de números aleatórios
- substring() - Extração de parte de uma string com base nso parâmetros fornecidos
- CAST () - Conversão de tipos no PostgreSQL
- trim() - Eliminação de espaços em branco de strings

Os testes foram muito positivos. Coloco para você, leitor, as seguintes perguntas:
- Este código segue um algoritmo correto?
- Ele pode ser melhorado? De que forma?

CREATE OR REPLACE FUNCTION gerar_CPF() RETURNS varchar AS $$
-- ROTINA DE GERAÇÃO DE CPF SEM LOOP
-- Retorna string com CPF aletório correto.
DECLARE
vet_cpf integer [11]; --Recebe o CPF
soma integer; -- Soma utilizada para o cálculo do DV
rest integer; -- Resto da divisão
BEGIN
-- Atribuição dos valores do Vetor
vet_cpf[0] := cast(substring (CAST (random() AS VARCHAR), 3,1) as integer);
vet_cpf[1] := cast(substring (CAST (random() AS VARCHAR), 3,1) as integer);
vet_cpf[2] := cast(substring (CAST (random() AS VARCHAR), 3,1) as integer);
vet_cpf[3] := cast(substring (CAST (random() AS VARCHAR), 3,1) as integer);
vet_cpf[4] := cast(substring (CAST (random() AS VARCHAR), 3,1) as integer);
vet_cpf[5] := cast(substring (CAST (random() AS VARCHAR), 3,1) as integer);
vet_cpf[6] := cast(substring (CAST (random() AS VARCHAR), 3,1) as integer);
vet_cpf[7] := cast(substring (CAST (random() AS VARCHAR), 3,1) as integer);
vet_cpf[8] := cast(substring (CAST (random() AS VARCHAR), 3,1) as integer);

-- CÁLCULO DO PRIMEIRO NÚMERO DO DV
-- Soma dos nove primeiros multiplicados por 10, 9, 8 e assim por diante...
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);
rest:=soma % 11;
if (rest = 0) or (rest = 1) THEN
vet_cpf[9]:=0;
ELSE vet_cpf[9]:=(11-rest); END IF;
-- CÁLCULO DO SEGUNDO NÚMERO DO DV
-- Soma dos nove primeiros multiplicados por 11, 10, 9 e assim por diante...
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);
rest:=soma % 11;
if (rest = 0) or (rest = 1) THEN
vet_cpf[10] := 0;
ELSE
vet_cpf[10] := (11-rest);
END IF;
--Retorno do CPF
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')));
END;
$$ LANGUAGE PLPGSQL;

Chamada da função, retornando um CPF aleatório.

select gerar_CPF() ;

A função para fazer o teste está neste post. O resultado para um CPF correto é 1.

select CPF_Validar_Sem_Loop(gerar_CPF());
select CPF_Validar_Sem_Loop('66067526557'); --Gerado pelo programa

by cbleopoldino (noreply@blogger.com) at 03/06/2009 01:28

31/05/2009

Fabio Telles

Aberta a chamada de trabalhos para o PGCon Brasil 2009

Sim senhores, agora é oficial e a corrida para o evento começou para valer. Esté aberta até 30/06/2009 a chamada de trabalhos para o PGCon Brasil 2009. Na nossa 3ª edição do evento, temos mais novidades nesta área: serão 4 modalidades diferentes (palestra, palestra avançada, tutorial e hacker talk). Se a chamada de trabalhos for um sucesso absoluto e tudo der certo, vamos passar pelo dilema terrível de ter que escolher os melhores trabalhos.

Aí as novidades continuam. O método de escolha foi muito debatido na comunidade. Haviam duas propostas em pauta:

  • Votação direta pelos membros da comunidade (ou inscritos nas listas). A votação garante que o evento vá de encontro com os interesses dos participantes o que é fundamental para a satisfação dos participantes.
  • O uso de uma banca avaliadora composta por 3 pessoas respeitadas da comunidade. Em 2007 foram os Srs. Diogo Biazus e Euler Taveira. Em 2008 foram os Srs. Leonardo César, Dickson Guedes e eu. Em 2008 se chegou ao consenso de que uma comissão com número ímpar seria interessante para não haver empates e que deveriamos alternar as pessoas envolvidas nesta banca. Para 2009 escolhemos os Srs. Luis Fernando Bueno, Leandro Dutra e Fernando Ike. A vantagem de usar uma comissão é a simplicidade e agilidade do processo e a capacidade de balancear temas e garantir a qualidade, uma vez que são pessoas que conhecem bastante de PostgreSQL no Brasil. Uma coisa interessante da comissão é a possibilidade de trazer temas novos, evitando que as mesmas palestras se repitam todos os anos.

Na dúvida ficamos com os dois. Haverá uma votação on-line entre os membros da lista PGBR-Geral. Esta votação irá apontar para as palestras mais populares e os temas mais solicitados e então uma comissão avaliadora composta de 3 pessoas fará uma seleção final.

Mas ainda temos cartas na manga: se houver um número muito grande de propostas, abriremos uma exposição de painéis (cartazes explicativos que são pendurados nos corredores do saguão com a presença de seus autores), como é comum se fazer em eventos acadêmicos. Desta forma, poderemos contemplar a participação de mais pessoas. Mas esperem, o melhor fica para o final! Vamos repetir o clima animado no final do evento de 2008: os Lightning Talks vão voltar! Na última semana antes do evento estaremos abrindo as incrições (que vão até o final do primeiro dia do evento) para as apresentações relâmpago, com duração máxima de 5 minutos cada.

Então senhores, se você já está trabalhando há algum tempo com PostgreSQL, envie sua proposta. Se você tem várias ideias, mande várias propostas. Escolha o formato mais adequado e mande para nós. Há inúmeros temas que você pode abordar. Este ano teremos mais espaço, 2 auditórios e uma sala VIP, então vale a pena compartilhar conosco um pouco da sua experiência. Você não precisa ser um gênio, basta apenas ter testado alguma coisa interessante e chegado a alguma conclusão no caminho. Muita gente acha que não tem nada de interessante para falar… eu digo que ao acompanhar a lista, tem um montão de gente respondendo e-mails que eu adoraria ver subir no palco e dividir um pouco mais do que sabe conosco. Vejo um zilhão de dúvidas que se repetem e dúvidas que mereciam um tutorial inteiro para explicar melhor como fazer.

Se você está realmente sem idéias, eu vou dar algumas (tem muuuuito mais, claro!) sugestões:

  • Técnicas para carga de grande volume de dados e ETL;
  • Desempenho, segurança e uso de Discos e Sistemas de Arquivos;
  • Testes com novos sistemas de arquivos como EXT4, ZFS, quem sabe BTRFS…
  • GUCs e dicas de configurações de parâmetros;
  • Segurança de aplicações usando PostgreSQL: técnicas para autenticar usuários e evitar SQL Injection;
  • Uso de Full Text Search;
  • PostGIS;
  • Uso de PostgreSQL em aplicações de suporte a decisão (BI);
  • Técnicas de Backup físico e lógico, ou melhor: técnicas de restauração!
  • Como encontrar SQLs lentos e reescrevê-los;
  • Como monitorar o uso de recursos com as novas funções, visões, opções de log e ferramentas do PostgreSQL;
  • Como criar índices realmente úteis e remover índices inúteis;
  • Utilizando técnicas de replicação multimaster assíncronas;
  • Comparação de diferentes técnicas de replicação: onde eu uso o que?
  • Tudo que você queria saber sobre internacionalização e localização e tinha vergonha de perguntar;
  • Refatoração de banco de dados sem perder a cabeça ou o emprego!
  • Migração para PostgreSQL (a partir de Oracle, MySQL, DB2, SQL Server, o que for);
  • Versionamento de banco de dados: gerenciando a mudança com responsabilidade!
  • Técnicas de auditoria e monitoramento de usuários;
  • Desempenho com responsabilidade: descubra o ponto G do PG…
  • Casos de sucesso, sim, queremos saber quem está usando o PostgreSQL por aí!
  • Casos de insucesso e dicas para evitar entrar em grandes roubadas. Tambem poderia ser: “Eu não disse que esse negócio de banco de dados livre não prestava…” (fala sério, alguém tem que fazer esta um dia)
  • Conhecendo um pouco do código fonte do PostgreSQL e funções SPI;
  • Ferramentas para modelagem e documentação de DDL para PostgreSQL (tem alguém me devendo essa)
  • 10 Coisas que ainda não funcionam bem no PostgreSQL,mas que estão em vias de se resolver (ou não) e como contornar estes problemas;
  • Os desafios em ambientes transacionais pesados e com grande volumes de dados;
  • PostgreSQL em aplicações científicas. Em 2008 aprovamos uma palestra de banco de dados para dados biológicos que cancelou na última hora, uma pena.
  • Modelagem utilizando tipos, vetores, domínios, funções de agragação e outros bichos;
  • Consultas recursivas com Common Table Expressions;
  • Cálculos complexos com Windowing Functions;
  • Stand By rápido e rasteiro.
  • A caixa de ferramentas do DBA: consultas e formas de se trabalhar para tornar a vida do DBA mais simples e produtiva;
  • Os 12 pecados do desenvolvedor que começa a utilizar o PostgreSQL pela primeira vez;
  • PostgreSQL para adminstradores de sistema: montando um servidor seguro, rápido e fácil de administrar;

Bom, estas são apenas algumas sugestões, existem várias outras que não pensei agora. Sugestões? De qualquer forma, estamos muito querendo ver novas caras do PGCon Brasil este ano, agora é só escrever e mandar.

by Telles at 31/05/2009 11:32

20/05/2009

Dickson dos Santos Guedes

Aberta chamada para Lightning Talks no PGDay Floripa!

As chamadas de trabalhos para os Lightning Talks (Papo-leve) estão abertas e se você tem interesse em palestrar, entre em contato...

by Guedes at 20/05/2009 11:49

13/05/2009

Claudio Bezerra Leopoldino

PostgreSQL no IV Festival Software Livre da Bahia

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 29 e 30 de maio de 2009, no campus da Universidade Estadual da Bahia (UNEB), em Salvador.

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.

O PostgreSQL será discutido na palestra "Tuning de Banco de Dados Livre: O Caso do PostgreSQL", ministrada por mim.

A programação detalhada e as inscrições estão disponíveis até 24/05 no site do evento!

by cbleopoldino (noreply@blogger.com) at 13/05/2009 08:50

12/05/2009

Fabio Telles

[pgbr-geral] Campanha dos 5 pontos para melhorar o nível da lista

Tem dias que a gente não deveria começar o dia lendo e-mails idiotas: veja o resultado na lista do PostgreSQL PGBR-Geral. Me pareceu que não sou só eu que estou cançado de ver isso on-line. É bem verdade que a resposta do Sr. Roberto Mello me acordou para a dura realidade do “Never ending September“. Mas fica abaixo o registro.

Senhores, eu sei que muitos que estão utilizando o PostgreSQL são novatos, estudantes e entusiastas. Sei que não é de bom tom tratar estas pessoas de forma seca e dura, pois são pessoas que futuramente vão apoiar a comunidade e utilizar o PostgreSQL em cenários mais sérios e coisa e tal. Mas hoje me deu os 5 minutos de fúria.

Vamos escrever melhor gente? Eu seu que não sou uma pessoa que contribui ativamente aqui na lista. Não respondo muita coisa. Mas venhamos e convenhamos, o nível das perguntas (e muitas vezes das
respostas e comentários também) desanima qualquer pessoa letrada que se esforça para se comunicar adequadamente.

Antes de disparar com a metralhadora para todos os lados, eu quero
dizer: entendo que os erros de ortografia e de digitação fazem parte da nossa vida. Eu mesmo cometo erros terríveis no meu blog e nos e-mails. A língua portuguesa é chata mesmo. Quando estou ajudando o
meu filho de 6 anos a fazer a lição de casa eu percebo como as regras
são confusas: G e J, c, ç, ss, z ou c e q, m ou n, r ou rr, e por aí vai. Mas inventaram os corretores ortográficos e eles estão aí para nos livrar da peste, da fome e da danação.

Proponho lançar uma campanha de 5 pontos aqui (a exemplo de zilhões de campanhas semelhantes em trilhões de listas por aí):

  1. O nome do banco de dados livre mais avançado do mundo é ‘PostgreSQL’ ou simplesmente ‘postgres’. Sim, você pode escrever sem acentos e sem letras maiúsculas. Pode até abreviar para PG numa lista mais informal como a nossa. Mas não use nenhuma outra forma, ok? É como mandar um cartão de dia dos namorados com o nome da garota escrito errado. Na dúvida repita em voz alta para não errar mais:  postgres, postgres, postgres. Dá um bom mantra, é relaxante, tente novamente: postgres, postgres, postgres…
  2. Guarde o miguxes para os seus amigos do tempo do ensino fundamental. Se você escreve ou até fala assim, guarde este segredo terrível para você e aqueles que praticam isso. Não abrevie palavras como se estivesse num chat e principalmente não utilize expressões escritas propositalmente erradas. Conheço muita gente da velha guarda que sente dificuldade em ler menssagens assim. O resultado? Não respondem. Eu não respondo mais e sei de gente muito boa que também não responde.
  3. Descrevam o problema! Gente, nós não conhecemos o seu ambiente, não vemos os erros que estão acontecendo na sua tela e não sabemos o que você fez. Nós não vamos adivinhar se você não contar. Dizer simplesmente: “estou com um problema no postgres e nada funciona aqui” pode conter o nome do banco de dados escrito corretamente, pode até fazer um bom uso da língua portuguesa, mas não nos diz nada. Se você se sente apenas frustrado e quer desabafar, recomendo uma boa cerveja, ver desenhos animados na TV ou até mesmo conversar com alguém no IRC. Mas dizer que não funciona e não citar o contexto não vai lhe ajudar.
  4. Se o seu chefe/professor mandou você fazer um trabalho com PostgreSQL para ontem e você precisa de alguém que faça uma parte do trabalho para você, a lista será um ótimo lugar para você encontrar um profissional que lhe cobrará um preço justo pelos seus trabalhos. Não, não vamos fazer o trabalho de graça por você. Por favor não peça.
  5. Uma boa pergunta é metade do caminho para encontrar a resposta. Se você leu a documentação, pesquisou na Internet, testou e não conseguiu fazer o que você queria, você deve ter uma dúvida. Gaste um tempo na elaboração da pergunta. Pense um pouco.
    • Se você leu um monte de documentações (principalmente a oficial) e não entendeu nada, seu problema é de compreensão de texto. Estude inglês ou português e principalmente leia mais. Um livro por mês seria uma boa meta para você. Mas pelo menos 2 bons livros por ano é o mínimo que um cidadão alfabetizado deveria se habituar a ler. Revistas em quadrinhos são muito legais (eu adoro) mas não contam aqui.
    • Se você testou vários how-tos e receitas de bolo prontas e nada funcionou, vá ler a documentação oficial antes de sair perguntando. Um bom tutorial sempre tem referências. Leia as referências. Ocorre que um tutorial se refere a uma situação específica. Pode não ser o seu caso. Você pode precisar de adaptações. Para quem tem uma boa base de conhecimento (por exemplo, para quem leu a tal da documentação…) o tutorial é muito interessante. Para quem cai de paraquedas, costuma ser um desastre.
    • Se você pesquisou um bocado e leu um bocado e conseguiu evoluir até um certo ponto e depois travou. Você deve ter uma genuína dúvida. Mande um e-mail para nós. Escreva bem, descreva o seu processo e nós lhe ajudaremos. Mas antes de enviar o e-mail, lembre-se que você gastou um tempão para chegar onde está. Se você souber exatamente o que você não está entendendo e souber materializar sua dúvida em forma de um texto, seu problema estará muito próximo da solução. É muito comum se passarem 5 ou 10 e-mails numa lista até que as pessoas entendam precisamente o que você quer saber. Pergunte bem e você terá uma boa resposta. Mais que isso, você será respeitado pelo seu esforço em pesquisar antes e também pela sua capacidade de elaboração de questões relevantes.

Há alguns anos atrás, quando o PostgreSQL começou a ganhar mais visibilidade no Brasil (no lançamento do PostgreSQL 8.0 para ser mais exato), houve uma grande tensão na lista por causa da invasão dos miguxos, analfabetos digitais e até folgados mesmo que caiam diariamente de paraquedas na lista. Eu não acho que espantar esta turma nos ajudará em alguma coisa. Mas se as pessoas vem à lista para aprender alguma coisa, espero aqui estar dando a minha contribuição pedagógica. Sim, eu sou um brasileiro e não desisto nunca!

by Telles at 12/05/2009 05:48

PGDays pelo Brasil afora!

Senhores, o que parecia uma mera proposta de fim de evento se transformou numa maratona. 5 eventos em cerca de 2 meses: Brasília – DF, São Paulo – SP, Porto Velho e Ji Paraná – RO, Porto Alegre – RS e por fim Florianópolis – SC. A melhor parte: eu não tive que mover uma palha para tudo isso acontecer! Isso mesmo, várias pessoas se dispondo a organizar eventos regionalmente.  E digo mais, por pouco não ocorrem eventos no Paraná, Rio de Janeiro e Ceará também. Quem sabe em 2010?

Bom, apesar de não ter contribuído com a organização, eu acabei aceitando o convite feito no próprio PGCon 2008 de ir para Rondônia. Então eu e o Sr. Euler Taveira fomos de avião para lá. O Sr. Euler, diga-se de passagem virou arroz de festa e está indo a quase todos os PGDays. Só não vai para SC por um motivo simples: vai estar no canadá no PGCon internacional nesta data.

Cada evento traz consigo características próprias: em DF, o Sr. Jair Silva mostrou um pouco do mega ambiente corporativo da Caixa Econômica Federal utilizando PostgreSQl e houve também um longo tutorial sobre replicação com o Sr. Dickson Guedes. Em SP, foram 6 palestras com a grade mais diversificada até o momento. Em RO, foi o maior público até agora. Não tenho os números ainda, mas se juntarmos os dois dias de evento em Porto Velho e Ji Paraná certamente contaremos com algo na casa das 300 pessoas. No RS temos uma renovação nos palestrantes, tendo 3 pessoas que não palestraram em nenhum PGCon Brasil na grade. Por fim, teremos o PGDay SC que ainda não tem a grade fechada, mas é o primeiro a estrear um sistemas de inscrições integrado no próprio site da comunidade.

Enfim, muita coisa boa rolando. O povo do FISL 10 já avisou que quase todas as propostas de palestras sobre banco de dados são para PostgreSQL. Não é muita novidade para nós… ano passado também foi assim. De qualquer forma, eu diria que a comunidade tem realmente se destacado nos últimos tempos.

Meus parabéns a todos os organizadores!

Não achou nenhum link? Tudo o que você quer saber sobre eventos da comunidade brasileira de PostgreSQL está aqui.

by Telles at 12/05/2009 03:46

10/05/2009

Leandro Guimarães Faria Corcete DUTRA

Fotos do I Dia PostgreSQL São Paulo (2009)

Depois de vários dias, doenças &c, começo a publicar as fotos tiradas por mim e por outros com câmera, luz estroboscópica e lentes curta e longa de minha esposa.

A maior parte foi obviamente tirada por mim, enquanto tentava desesperadamente não perder a atenção nas palestras em si. Juntando esse fato a minha conhecida inépcia, a falta de qualidade é responsabilidade do fotógrafo, não da câmera — como sempre.

Todas as fotos estão em formato JPEG, sendo que as primeiras tantas estão em qualidade média, por falha minha em reconfigurar a câmera após uma atualização de código embutido. Gostaria de fornecer à comunidade os arquivos originais ORF, mas não tenho um servidor onde os colocar.

A carga deve demorar ainda várias horas, portanto, pacientai-vos.

by DUTRA, Leandro Guimarães Faria Corcete (noreply@blogger.com) at 10/05/2009 02:20

05/05/2009

Dickson dos Santos Guedes

Inscrições abertas para o Dia do PostgreSQL em Floripa!

O evento será no Auditório do SENAI/SC, em Florianópolis, no dia 22/05/2009 das 09h00 às 18h00. Participe!

by Guedes at 05/05/2009 04:42

22/04/2009

Leandro Hamid

Iniciando o servidor de banco de dados PostgreSQL no boot do Debian


SO: Debian Testing – Lenny

Script  iniciar  serviço (postgres)  no boot do Debian

#!/bin/sh
#pg_script
case "$1" in
start) echo -n "Iniciando servico do PostgreSQL";
/bin/su - postgres -c "/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data" > logfile 2>&1
;;
stop) echo -n "Parando serviço do PostgreSQL";
/bin/su - postgres -c "/usr/local/pgsql/bin/pg_ctl stop -D /usr/local/pgsql/data" > logfile 2>&1
;;
restart) echo -n "Reiniciando serviço PostgreSQL";
/bin/su - postgres -c "/usr/local/pgsql/bin/pg_ctl restart -D /usr/local/pgsql/data" > logfile 2>&1
;;
esac
exit 0

Link simbólico para executar o script na runlevel 2

cd /etc/rc2.d
ln -s ../init.d/pg_script S50pg_script
telinit rc2.d

Observação:

Dando um olhada no pacote para instalação do PostgreSQL 8.3.5 acabei descobrindo que existem alguns scripts de inicialização distribuídos junto do PostgreSQL (creio que este serviço esta disponível a partir de versões mais atuais do servidor) no diretório contrib/start-scripts. Para instalar estes scripts é necessário o privilégio de root.

Fonte:

PostgreSQL – Tradução da Documentação para o Português do Brasil

by sysaprendiz at 22/04/2009 11:55

Fabio Telles

PostgreSQL a mil

Senhores, faz tempo que não escrevo por aqui… muita coisa acontecendo. Muita mesmo. Então vamos juntar tudo e ver o que sai:

  • Apesar do fiasco da campanha “Adote um artigo sobre PostgreSQL“, a nossa página wiki internacional conta hoje com 14 artigos. É pouco, mas já é alguma coisa. E agora é oficial, os artigos em pt_BR vão ficar lá mesmo. Espero que com o tempo nós tenhamos novos ótimos artigos por lá;
  • O novo site feito em Drupal 6 finalmente ficou pronto. Sim, temos um novo site em http://www.postgresql.org.br com novo visual, novas funcionalidades, novo conteúdo e nova dinâmica de atualização. Você também pode contribuir com novos conteúdos, basta se cadastrar e escrever. Tenho aqui que agradecer os esforços de muitos que ajudaram nesta empreitada, particularmente o Nei Rauni Santos, Dickson Guedes, Felipe van de Wiel e Athur Furlan. Devagarinho,  nosso Webmastar Guedes está adicionando novas funcionalidades. Longa vida ao site!
  • 5 PGDays espalhados pelo país ocorrendo entre abril e maio deste ano. DF, SP, RO, SC e RS. Não é mole não… o povo está se mexendo e as coisas estão acontecendo.  O primeiro a acontecer foi o de Brasília com mais de 100 participantes em um dia repleto de palestras. Esta semana é a vez de São Paulo e na semana que vem eu vou para Rondônia que terá um PGDay em duas cidades: Porto Velho e Ji Paraná. Já tomei minha vacina contra febre amarela e vou lá finalmente conhecer de perto o povo que usa o PostgreSQL para salvar a Amazônia!
  • A organização do FISL 10 já começou. O nosso wiki onde estão os documentos relacionados a nossa organização interna já tem uma página com algumas das palestras que estão sendo propostas para o nosso evento comunitário lá.
  • A organização do PGCon Brasil 2009 também está andando. Espero que até o final do mês o site do evento já esteja no ar também. Enquanto isso a captação de recursos já está a mil por hora, graças ao nosso reforço do Fernando Ike.
  • Eu recebi nova incumbência este ano. Na última reunião da comunidade eu assumi a tarefa de cuidar da prestação de contas e tesouraria do PGCon Brasil 2009. Tarefa trabalhosa, uma vez que quem me conhece sabe como sou exigente quando se fala em transparência.
  • E por fim a maior de todas as novidades, saiu o Beta1 do PostgreSQL 8.4!!! Sim, sim, podemos aguardar uma nova versão em breve. Eu já estou testando ele por aqui e posso garantir que tem muita coisa boa pela frente. Mas isto, é assunto para outro longo post.

by Telles at 22/04/2009 06:56

Fernando Ike

Oracle compra Sun: comentários…

    Possivelmente é a notícia mais importante de 2009 até o momento, a compra da Sun pela Oracle. Depois de muita especulação sobre quem compraria a Oracle levou a Sun com um valor um pouco acima de 6 bilhões de dólares. Já deve ter muitas análise e palpites sobre o futuro, vou falar os meus aqui. :D

    Uma pulga atrás da orelha…

    O que explica uma empresa que tem uma boa arquitetura de hardware (Sparc), uma plataforma (java) para aplicações largamente usada, uma suíte de escritório (OpenOffice), um sistema de virtualização (Virtualbox), um banco de dados (MySQL), um servidor de aplicação (Glassfish), um sistema operacional (Solaris) e uma IDE de desenvolvimento (NetBeans). Além desses citados, ela tem alguns anos a frente com Computação em Nuvem  (Cloud Computing) e HPC (Computadores de Alta-Performance). Como ela saí para o mercado se oferece de porta e porta para ser comprada?

    Eu não consigo afirmar categoricamente mas a Sun nos últimos dez anos teve muito mais anos de prejuízo do que lucro (Alguém confirma?). 

    As várias compras feitas pelas Sun nos úlitmos anos foram para capitalizar a empresa para ser vendida?

    A saída de pessoas importantes da Sun do MySQL (Criadores do MySQL) e PostgreSQL (dois dos principais desenvolvedores) já eram algum sintoma do caminho que ela estava rumando?

 

    O que a Oracle comprou

    A Oracle levou uma das principais empresas infra-estrutura em ambientes corporativos, praticamente fecha toda a pilha de soluções possíveis de ser fornecida para uma empresa. poderá oferecer desde o hardware, sistema operacional até a solução de gerenciamento da empresa (ERP e etc…). Ela pode oferecer soluções para grande porte ou pequeno porte pois tem muitos produtos semelhantes para público diferentes. O público atual da Oracle vai desde empresas de alta-tecnologia(HPC) à usuários finais (OpenOffice).

 

    O que vai mudar com a compra da Sun pela Oracle?

     Essa é a mais difícil responder mas pelo histórico de IBM e a própria Oracle, os projetos em Software Livre/Código Aberto continuaram do mesmo jeito, elas terão maior aderência aos produtos dela mas não deve mudar muito. O que deve mudar a forma de relacionar com as comunidades pois a relação que Sun mantinha era controversa. Para contribuir com os projetos da Sun, você  tem que ceder seus direitos autorais para ela, alguns eram a favor pois facilita juridicamente a defesa dos projetos.  Projetos como OpenOffice tinham esse tipo de relação, porém alguns dizem que isso era perigoso pois a renúncia dos seus direitos autorais é um ato que só beneciava a Sun.

    Os projetos que Oracle contribua ou doa o código como o Kernel Linux e Brtfs, ela segue o guidelines dos projetos. Não duvidaria que o ZFS mudasse a licença e tivesse uma fusão com o Brtfs. :)

   Isso poderia acontecer com os outros projetos ou criar fundações para que o projetos tivessem autonomia maior no desenvolvimento. Um projeto como OpenOffice tendo maior autonomia maior e uma fundação sustenando o desenvolvimento deixaria mais propenso outras empresa contribuir de forma mais efetiva.

    Meu palpite é de que onde a Oracle não tem produtos fechados (software proprietário), incentivará o uso de Software Livre. Pode ser um pouco batiro para alguns mas para muitas pessoas essa estratégia não é tão clara. Fica mais claro quando observamos que a Oracle é umas das 10 empresas que mais contribuem com código no Kernel Linux, mas não vemos alguma coisa do Oracle Database (banco de dados) liberado com alguma licença livre/aberta.

    A Oracle tem muitos produtos que estão sobrepostos como JD Edwards e Peoplesoft, JRockit e Sun JVM, Weblogic e GlassFish, Oracle Database e MySQL, Solaris e Oracle Unbreakable Linux, NetBeans e Oracle JDeveloper. São produtos de boa aceitação comercial e/ou técnica.

 

   E você sysadmin, o que tem haver?

    Se você por acaso já teve que manter alguns sistemas que foram desenvolvidos pela Oralce antes de alguns dos sistemas acima serem adquiridos sabem o inferno que era/é manter coisa como: Oracle Application Server, Oracle Internet Application Server ou Oracle Internet Directory. São bem divertidos (irônico) de manter em ambientes corporativos complexos. Com os novos produtos dentro da casa ser mais fácil e documentado sustentá-los. :D

 

   E o PostgreSQL?

     Numa visita no Brasil do Bruce Momjian (líder do time de desenvolvimento do PostgreSQL) comentou que em cinco anos o PostgreSQL seria o banco de dados mais utilizado no mundo. O PostgreSQL deverá continuar com seu crescimento contínuo e linear sem grandes alterações pois a comunidade é bem forte e distribuída entre várias empresas que o apóiam.

 

    O MySQL?

    Continuará com boa penetração de mercado mas tenderá a ter menor participação pois seus projetos derivados (Drizzle, MariaDB) ocuparão quando estiverem estáveis ou coisas como CouchDB, Xapian e Lucene tenderão ocupar alguns nichos do MySQL. Mas onde o MySQL competir com o Oracle Database, provavelmente será priveligiado o Oracle Database.

 

   Observação

     A  Oracle é como qualquer outra grande empresa, contribuir para os projetos de Software Livre/Código Aberto é só uma pequena parte de suas operações, não fazem caridade. ;)

by Fernando Ike at 22/04/2009 01:21

21/04/2009

Fabio Telles

Oracle compra Sun e não é 1º de Abril

Sim, após a brincadeira infame de 1º de abril que postei aqui sobre a compra do MySQL… não é que vem a Oracle e faz uma oferta pela Sun? As coisas parecem que não andam muito bem para a gigante IBM. No ano passado a HP comprou a EDS por 14 BI esquentando a concorrência no setor de serviços, e agora é a Oracle que compra a Sun pela ninharia de 7BI. Para se ter uma idéia de como isso é pouco, a Oracle pagou no começo do ano passado 8,5 BI pela BEA e a Sun pagou 1 BI pela MySQL AB. Em tempos de crise quem tem dinheiro em caixa é rei…

E assim como o Yahoo se negou a ser comprado pela Microsoft (por cifras astronômicas em tempos pré crise), a Sun parece ter não gostado muito da oferta da IBM e aceitou uma oferta ligeiramente superior da Oracle. E zilhões de dúvidas vem a cabeça. E agora o que serão dos projetos livres da Sun? Java, OpenOfficce, MySQL, Solaris e por aí vai. Ninguém sabe… mas a primeira coisa que percebemos é que o mercado corporativo de TI vai se afunilando entre gigantes como IBM, Microsoft, HP, Dell e Oracle. Mas seria bom dar uma olhada na Oracle um pouco mais de perto.

  • A Oracle surgiu como um dos primeiros SGDBs relacionais do mercado, logo depois do DB2 da IBM. Se é verdade que o DB2 ainda dita a maior parte do padrão ISO SQL, a Oracle já lidera claramente este mercado há alguns anos;
  • Se é verdade que até a década de 90 a Oracle se firmou no mercado como desenvolvedora do maior banco de dados do mercado, também é verdade que ela virou a mesa e tem hoje uma suite completa de soluções de grande porte:
  • Se por um lado a Oracle tem uma política de licenciamento que lhe cobra por uma base de testes, um stand by e possui inúmeras funcionalidades e parâmetros não documentados nos seus produtos, oferece o download livre para qualquer um baixar e testar seus produtos e uma enorme biblioteca de documentação pronta para baixar e imprimir, em versão PDF ou HTML.
  • Sim, a Oracle investe em Software Livre sim. Tem inclusive um portal para isso, o http://oss.oracle.com/ com projetos como o OCFS2 e o Btrfs, dois poderosos sistemas de arquivos. Além disso, a Oracle tem uma contribuição intensa no kernel do Linux já faz um bom tempo.
  • Sim, a Oracle tem uma política monopolista e compra tudo que está a sua frente. Mas ao contrário de querer dominar a Internet, como a Microsoft e o Google, o foco da Oracle é bem claro: soluções corporativas para grandes empresas. E diga-se de passagem, ela tem crecido numa velocidade incrível neste segmento. Porém, se a excelência de suas soluções em banco de dados deram uma fama de competência e confiabilidade em seus produtos, o mesmo não se pode dizer sobre as suas demais aplicações que rodam sobre o seu banco de dados. O Oracle Aplication Server é uma colcha de tecnologias livres empacotadas como um monstro de várias patas e nenhum cérebro. E vai a Oracle já avisando que depois de abandonar o terrível Forms e Reports, vai abandonar o fiasco do OAS também em função de uma plataforma Java melhor… é esperar para ver. Os seus ERPs também não são a oitava maravilha em termos de tecnologia (ALGUM É)???? O PeopleSoft por exemplo não tem uma única chave estrangeira no banco de dados, fazendo toda a integridade referencial dentro da aplicação. Não é bem o que a Oracle sempre pregou nos seus manuais.
  • O suporte da Oracle é muito eficiente, funciona 24/7 de verdade. Podem lhe atender no Brasil, EUA, Japão, Índia ou onde quer que seja necessário para atendê-lo em qualquer horário. Mas veja: o nível básico de suporte (independente no nome bonito que se dê)  por e-mail, dá um trabalhão para abrir um chamado. Uma das coisas mais irritantes no site de suporte da Oracle é que eles utilizam tecnologia da Oracle para montar o portal web. É horrível, quem está acostumado com o Gmail e outras interfaces cheias de Ajax como o Wordpress sabe o quão terrível é o metalink da Oracle. Fizeram uma versão nova com uso de Flash… piorou!

Então se por um lado a Oracle tem tradição com Software Livre, não tem foco em produtos na linha do MySQL e do OpenOffice. É claro que se é para minar a concorrência com a Microsoft pelo mercado de médio porte, pode não ser má idéia investir um pouco neles, mas não acredito que será o foco principal deles. É claro que podem surgir estratégias inovadoras junto ao MySQL… ele pode se tornar mais aberto ao Oracle e virar um novo Times Ten, mas não acho que vai perdes suas características atuais. Manter o Marketshare do MySQL, apesar de não trazer muito lucro será muito bom para a Oracle que pegará duas pontas do mercado. Já o Solaris o Java são com certeza algo de interesse por parte da Oracle. Veja que o Btrfs que a Oracle criou é baseado no ZFS que por problemas de licenças da Sun, não pode ser agregado ao Linux que usa GPL. Daí se vê a preocupação da Oracle com algumas boas tecnologias encontradas no Solaris. O Java então… toda a suite que roda sobre os bancos de dados Oracle usa Java. Isso sim é um tiro certeiro. Já os servidores SPARC são bons competidores para os servidores da HP e IBM. São caros, mas tem um mercado cativo ainda bem definido em soluções de grande e médio porte.

Mas temos um perdedor claro aqui: o PostgreSQL que vinha sido apoiado pela Sun está certamente fadado a perder esta condição. É claro que existem outras e muitas outras empresas apoiando. Mas a ausência da Sun será sentida, com certeza.

OBS: O artigo do Peter Eisentraut é bem interessante. Acho que concordo com quase tudo que ele diz. Vale a pena dar uma olhada .

by Telles at 21/04/2009 12:37

17/04/2009

Leandro Guimarães Faria Corcete DUTRA

I Dia PostgreSQL São Paulo (2009)

Dia vinte e quatro de abril, sexta-feira próxima, será o I Dia PostgreSQL de São Paulo (2009), SP, Brasil. Vou apresentar as ferramentas de documentação automática de modelos e bases de dados PostgreSQL, espero que de maneira mais objetiva que o que consegui fazer na II Conferência Brasileira de PostgreSQL (2008), em Campinas.

Como sempre nos eventos dessa comunidade, haverá alguns ótimos palestrantes, como o Euler e o Guedes; desta vez teremos também o próprio organizador do evento, o Rodrigo Marins, possivelmente o Leonardo César, e um DBA da Caixa Econômica Federal. Parece que será bem interessante.

Pretendo abordar programação literária em NoWeb (en passant), mas principalmente Auto Doc, assim como um pouco do SQL Fairy e do Schema Spy.

O evento é gratuito, portanto a única desculpa para não ir é ser uma sexta-feira de trabalho. É uma semana curta por causa do feriado do Descobrimento do Brasil na terça-feira, dia vinte e um, o que pode ajudar — deve ser uma semana lenta de trabalho — ou atrapalhar — algumas pessoas podem ser atropeladas justamente pela falta de tempo na semana para liqüidar alguma tarefa urgente e inadiável. O lugar é um pouco remoto, a Lapa de Baixo, perto da Marginal do rio Tietê; mas, numa semana curta, esperamos que o trânsito não esteja ruim.

by DUTRA, Leandro Guimarães Faria Corcete (noreply@blogger.com) at 17/04/2009 11:19

16/04/2009

Claudio Bezerra Leopoldino

Versão 8.4: primeira release beta disponível!

O grupo de desenvolvimento do PostgreSQL anunciou que a primeira versão 8.4 BETA está disponível para download. 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 releases padrão.

Testemos, critiquemos e participemos!!!

Mais informações em: http://www.postgresql.org/developer/beta.

Em breve apresentaremos um detalhamento das novas funcionalidades da versão 8.4 neste espaço.

by cbleopoldino (noreply@blogger.com) at 16/04/2009 08:46

Fernando Ike

Chamado para o Lighting Talks do PgDay-DF: PostgreSQL

Chamado para o Lighting Talks do PgDay-DF: PostgreSQL

 

  Banco de dados é um dos sistemas que necessitam os melhores equipamentos para uma boa performance, disponibilidade e contigência.
O PostgreSQL é o banco de dados de Código Aberto (Software Livre) mais usado em ambientes corporativos, as dǘvidas sobre qual servidor,
storage, ativos de rede são recorrentes. Por isso, estamos pessoas,  instituições públicas e privadas para o PGDay-DF (Dia do
PostgreSQL)  para participar do Lightning Talks. O Lightning Talks é um conjunto de palestras rápidas de 5 à 20 minutos que sejam
relacionadas ao tema do evento organizador, no caso o PGDay-DF.

   Para se inscrever no Lightning Talks envie sua proposta para fernando.ike at gmail dot com. Não é necessário ter a apresentação em slide (lâminas),
mas se for apresentar somente serão aceitas palestras no formato PDF até 10 horas no dia (17/04) do evento. As propostas podem ser encaminhada para fernando.ike at gmail.com

A descrição deve conter:

Nome Completo:
Título:
Resumo: (4 linhas no máximo)

O PGDay-DF é um evento de um dia em que são apresentados soluções, casos de uso, experiências relacionados ao PostgreSQL organizado pelo
Ministério do Planejamento.

Para maiores informações:

- http://www.postgresql.org.br/eventos/pgday/df

by Fernando Ike at 16/04/2009 06:55

08/04/2009

Claudio Bezerra Leopoldino

Fique Atualizado em PostgreSQL com o Addict-o-matic!!!

Ficar atualizado em tecnologias de hardware e software não é das tarefas mais fáceis. O site Addict-o-matic 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.

Clique aqui para experimentar! Podem ser fornecidas várias opções de pesquisa, e o site funciona bem como agregador de informações.

A dica do site foi do blog da colunista Sandra Carvalho.

by cbleopoldino (noreply@blogger.com) at 08/04/2009 03:07

06/04/2009

Dickson dos Santos Guedes

Novo site da Comunidade Brasileira de PostgreSQL entra no ar!

Depois de muito tempo e espera o novo site da Comunidade Brasileira de PostgreSQL está no ar. Muit...

by Guedes at 06/04/2009 12:05

03/04/2009

Claudio Bezerra Leopoldino

Ano Bissexto no PostgreSQL!

À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.

Segundo a Wikipedia, as regras do ano bissexto são poucas, mas não são triviais:
* São bissextos todos os anos múltiplos de 400, p.ex: 1600, 2000, 2400, 2800
* 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...
* São bissextos todos os múltiplos de 4 e não múltiplos de 100, p.ex: 1996, 2004, 2008, 2012, 2016...
* Não são bissextos todos os demais anos.

Com base no que é apresentado neste post, peço que você que me responda três perguntas:
- Os dois exemplos abaixo estão corretos?
- Qual dos dois apresentaria alguma vantagem em relação ao outro? Ou são ambos equivalentes?
- É possível melhorar as implementações? De que formas?

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.

Exemplo 1:

CREATE OR REPLACE FUNCTION ano_bissexto (pAno integer) RETURNS integer AS $$
DECLARE
ret integer;
BEGIN
IF $11582 THEN RETURN 99; END IF;
ret :=0; --Inicialização
IF ($1%400=0) THEN
ret:=1; /*Bissexto*/
ELSE
IF ($1%4=0) AND ($1%100
0) THEN
ret:=1; /*Bissexto*/
END IF;
END IF;
RETURN ret;
END;
$$ LANGUAGE plpgsql;

SELECT ano_bissexto(1600);

Exemplo 2:

CREATE OR REPLACE FUNCTION ano_bissexto_menor (pAno integer) RETURNS integer AS $$
DECLARE
ret integer;
BEGIN
IF $11582 THEN RETURN 99; END IF;
ret :=$1; --Inicialização
IF (ret%100=0) THEN
ret:=ret/100;
END IF;
IF ret%4=0 THEN
RETURN 1; --Bissexto
ELSE
RETURN 0;
END IF;
END;
$$ LANGUAGE plpgsql;

SELECT ano_bissexto_menor(1600);

by cbleopoldino (noreply@blogger.com) at 03/04/2009 06:19

02/04/2009

Fernando Ike

Anúncio: PGDay-DF | Dia do PostgreSQL-DF

   PGDay ou Dia do PostgreSQL é o um evento de um dia, não tão formal quanto o PGCon-BR (Conferência PostgreSQL Brasil) e de caráter
regional(estadual/municipal), podendo ser realizado com poucas pessoas em qualquer/vários estados do País. São mostrados casos de uso,
funcionalidades, testes, tradução, novidades das próximas versões do PostgreSQL e projetos relacionados. É um evento que reune-se
entusiastas, programadores, sysadmins, desenvolvedores e usuários para tirar dúvidas e trocar conhecimento sobre o banco de dados livre mais
avançado do mundo. Alguns temas que são polêmicos e recorrentes em qualquer conversa de TI serão abordados, como: Alta-Disponibilidade,
Replicação, Caso de Uso, Performance Tuning.

A grade provisória é:

  • 08:00 – Credenciamento

  • 09:00 – Fernando Ike – Howto (Oficina): Afinal, Alta-Disponibilidade e Replicação são possíveis?

  • 12:00 – Almoço

  • 13:30 – Migração de Oracle para PostgreSQL

  • 14:30 – Jair Silva – Caso de Uso:  PostgreSQL na Caixa Econômica Federal

  • 15:30 – Intervalo

  • 15:50 – Euler Taveira – Performance Tuning

  • 16:50 – Lightning  Talks

  • 17:50 – Encerramento

  • 18:30 – Happy-Hour (Nu Céu)

     Em Brasília (Distrito Federal) será realizado no dia 17 de abril e as inscrições já estão abertas. Para maiores informações sobre o PGDay-DF. Para mais informações sobre outros Dia do PostgreSQL.

      O mapa do evento:
 


View Larger Map

 

   E uma das melhoras partes de eventos assim (Happy hour): :D


View Larger Map

by Fernando Ike at 02/04/2009 08:42

Claudio Bezerra Leopoldino

Enquete Encerrada: PostgreSQL é um Ótimo Nome para Banco de Dados!

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:

Opção Votos Percentual
Deve ser mantido. 152 69,72
Que tal PgDB? 15 6,88
Postgree seria melhor 35 16,06
Outro 9 4,13
Não sei. 7 3,21
Totais 218 100

Concorda com o resultado? Discorda? Deixe seu comentário!





by cbleopoldino (noreply@blogger.com) at 02/04/2009 04:42

01/04/2009

João Cosme

Começando com o Londiste…


Mais uma vez resolvi dedicar um tempinho e mexer com as ferramentas do SkyTools, o Londiste. Esse post já tem quase um ano , estava nos seus 80% mas por motivos maiores de falta de tempo, trampo …. e vcs sabem a “caixa é uma vidinha de surpresas”…

Aproveitando a proximidade do PGDAY ,um dia dedicado ao nosso querido Postgresql  (Estou realmente pensando em bolar alguma palestra com  PL/PROXY e Londiste aqui no PGDAY de Porto Alegre) , resolvi terminar de escrever sobre o londiste, e como promessa é dívida….

Primeiro foi o plproxy agora é a vez do londiste. Não esqueci não, vou postar algumas coisinhas que eu fiquei de postar do plproxy, inclusive testes de estress em cima dele, mas como a curiosidade falou mais alto,resolvi passar para o Londiste. A intenção é a seguinte:

Pegar o básico do PLPROXY, Londiste e PGBouncer (próximo post). Depois de um how to em cima de cada um deles montar um ambiente com os 3 e meter BALA!

As primeira impressões que eu tive do do londiste foram as seguintes:

Documentação:

Se a documentação do PLPROXY não era das melhores a do Londiste xiiiiiiiiiiii, lascou tudo, sinceramente uma negação, e vi os mesmos comentários dos gringos também Muito mal documentado mesmo!!!

Instalação:

A instalação foi um tanto penosa, perdi algumas horinhas mesmo batendo cabeça e pra não cometer novamente os erros eu documentei, ou pelo menos acho que documentei hehehe. Para quem não é perseverante, é desistência na certa!!!! E mais uma vez vi gringo reclamar!

Implementação:

Colocar o londiste pra rodar e ver suas bases de dados replicando é muito, mas muito simples mesmo. Chega a ser ridículo ( depois de passar pela instalação….), é estremamente simples e chega ser recompensador!!!!

Então que comece a temporada do Londiste!!!!

O que é replicação???

Bem, como esse post não é sobre replicação em si, e mais precisamente sobre o Londiste não vamos entrar em todo o mérito!!!

O objetivo de um mecanismo de replicação de dados é permitir a manutenção de de várias cópias idênticas de um mesmo dado em vários servidores de banco de dados (SGBD).

Para que serve a replicação???

Principais benefícios da replicação de dados são:

Redundância.
Possibilidade de um balanceamento de carga.
Tornar o sistema menos sensível as falhas.

Sugiro que você jovem de uma lidinha sobre replicação ok?? hehhe eu quero é postar sobre o londiste!!!!

É Pra que serve o Londiste??

O Londiste é uma ferramenta para replicação assíncrona, master-to-slaves. Assíncrona significa que: Quando o nó master receber uma transação, existe um tempo para essa transação ser replicada nos nós slaves. O contrário disso , a replicação síncrona, ocorre quando as transações ocorrem em todos os nós on-line.

E como eu poderia usar o Londiste??

Hum deixa eu ver…. Onde não fosse necessário o espelhamento dos dados em todos os nós ao mesmo tempo?? Isso depende muito do projeto em questão. As vezes tenho somente 2 servidores de banco de dados, um servidor MASTER que recebe todas as transações e um servidorzinho na senzala, SLAVE que fica lá jogado esperando por receber os dados, depois que o Master fez uso …. As vezes tenho um servidor master e vários servidores slaves….. Então necessitou de dados repetidos em vários servidores, REPLICAÇÂO. Se não possui como pré-requisito que os dados sejam replicados instataneamente ,ASSÍNCRONO.
Nunca se esquecer que eu tenho somente um MASTER e vários SLAVES. Tudo que acontece, o Master é quem manda… já viu escravo mandar no mestre??

AAAAA mas o Slony faz isso não????

Faz sim , slony faz até mais por permitir cascateamento entre os nós e slave promotion. Ou seja no slony você tem um nó MASTER e outros nós slaves, mas esses nós slaves podem ser Providers para outros nós, cascateando assim os servidores.


Mas se o Slony tem mais recursos por que eu utilizaria o Londiste??

O londiste é muito mais simples de configurar e gerenciar, muito mesmo!!!! Antes o projeto Skype utilizava o próprio Slony, depois começaram a utilizar o Londiste, que foi desenvolvido por eles mesmos.
Motivos!!!! Como já disse, facilidade de configurar e principalmente gerenciar.

Não tá acreditando né? Então toma!!!
Trecho de uma discursão sobre Slony X londiste
….
“I have not been running slony for quite a long time. I last used it at
Skype a few years ago before we moved to our own implementation -
Londiste/pgQ from SkyTools. The main reason was that our cluster got too
big to manage with slony. “
….

Beleza então vamos começar a instalação!!!!

Como eu disse no início do post, o grande problema do Londiste, como todos to Skytools é a documentação. Eu estou utilizando o debian 4.0.

Depois de bater muito a cabeça acabei instalando alguns pacotes a mais:

apt-get install build-essential python-psycopg libevent-dev python-all-dev python-all python-support

Uma vez instalados esses pacotes, vamos baixar o código fonte:
http://pgfoundry.org/frs/download.php/1813/skytools-2.1.7.tar.gz

baixado o código fonte no meu diretório /usr/src:
tar -xzvf skytools-2.1.7.tar.gz

./configure –with-pgconfigdir=/usr/local/pgsql/bin
(No meu caso ok?? deve-se setar o diretório do seu pg_config)

make && make install

Se o bicho não reclamou de nada beleza!!! Se reclamou aí vamos ter que sambar um pouco….
Pelo o que eu me lembre esses foram os pacotes que eu instalei, eu instalarei do zero novamente pra fazer a prova dos 9 :)

PS: O jovenzinho, ele sabe quem é…. vai falar, já tem o pacote no debian http://packages.debian.org/sid/skytools
Olha o garotinho aí né ??? mas não ta na versão stable ainda …. Detalhe: ele mantém o pacote :)

Criando o Ambiente!!!

Vamos fazer o seguinte: Iremos criar inicialmente 2 databases, um master e outro slave

create database mestre;
create database escravo;

Em cada database iremos criar 2 tabelas:
create table tabela1(id serial primary key,nome text);
create table tabela2(id serial primary key,nome text);

Um detalhe muito importante!!!!! Todas as tabelas devem ter chaves primárias ok??? Não se esqueça disso. Atenção nisso jovem!

O que vai acontecer: Nós iremos realizar algumas operações no banco de dados mestre e elas vão ser replicadas ao banco de dados escravo.

Criando o primeiro CLUSTER

Como eu disse a configuração do londiste é muito simples mesmo. Vamos lá:

Crie um arquivo chamado replicacao.conf com o seguinte conteudo:

[londiste]
job_name = replic

provider_db = dbname=mestre host=localhost user=postgres
subscriber_db = dbname=escravo host=localhost user=postgres

pgq_queue_name = londiste_replic

pidfile = /tmp/pid.%(job_name)s
logfile = /tmp/log.%(job_name)s

loop_delay = 1

connection_lifetime = 30

Crie um arquivo chamado ticker.ini com o seguinte conteúdo:

[pgqadm]

job_name = ticker

db = dbname=mestre user=postgres host=localhost

maint_delay_min = 1

loop_delay = 0.5

logfile = /tmp/log.%(job_name)s
pidfile = /tmp/pid.%(job_name)s

use_skylog = 0

connection_lifetime = 21

queue_refresh_period = 10

Instalando o Londiste no sevidor mestre

Devemos instalar toda a estrutura para o londiste rodar: A instalação deve ser feita tanto no servidor mestre como no servidor escravo. Essa estrutura consiste em instalar a linguagem plpgsql,plpython…

londiste.py replicacao.conf provider install

Detalhe: provider o nó que é origem da replicação!

Instalando o Londiste no servidor escravo

<Em cada um dos nós escravos devemos também instalar toda a estrutura necessária como descrito acima.

londiste.py replicacao.conf subscriber install

Detalhe: subscriber é o nó escravo!

Colocando o PGQ pra rodar…

O Daemon pgqadm deve rodar no servidor master , ele vai ser o cara responsável pelo mecanismo de transporte para implementar a replicação!

pgqadm.py -d ticker.ini ticker
para verificar se realmente esta rodando o processo vamos dar um ps aux | grep pgq

…..
root 28190 0.0 0.2 19248 4780 ? Ssl 14:20 0:00 /usr/bin/python /usr/local/bin/pgqadm.py -d ticker.ini ticker
….

Olha que bicho danado hehehehe!!
hummm… posso também dar um pgqadmin.py -d ticker.ini status , tenta aí jovem!

Então pra encher o saco e memorizar!!! rodar o daemon pgqadmin no master utilizando o parametro -d ( o -d e pra rodar como daemon) passando o arquivo de configuracao ticker.ini e a opcao ticker.

Se eu quizer parar o daemon: pgqadmin.py  -s ticker.ini
Curioso? lista o processo novamente!
Memorize os parâmetros e como exercício levante e suba umas 1000 vezes.

Colocando o daemon de replicação no ar!

Você precisa rodar o deamon de replicação em cada host, como no nosso caso o host provider e subscriber estão na mesma máquina vamos la!

londiste.py -d replicao.ini replay

ps aux | egrep “lond|pgq”

root 28568 0.0 0.2 11332 4860 ? Ss 14:59 0:00 /usr/bin/python /usr/local/bin/londiste.py -d replicacao.ini replay
root 28693 0.0 0.2 19244 4772 ? Ssl 15:05 0:00 /usr/bin/python /usr/local/bin/pgqadm.py -d ticker.ini ticker
root 28725 0.0 0.0 3020 816 pts/0 R+ 15:06 0:00 egrep lon|pgq

Exatamente os caras que eu estava esperando o pgqadm ( que é o cara que fica no master e) o londiste.py ( que é o cara que roda em cada escravo)

Escolhendo os objetos as serem replicados

Seguindo o nosso roteiro ja temos os deamons rodando no nó provider e nos nós subscribers. Devemos informar ao Londiste quais tabelas e sequences devemos replicar.

No nosso exemplo iremos replicar 2 tabelas: tabela1 e tabela2.

No nó de origem devemos executar o seguinte comando:

londiste.py   replicacao.conf  provider add  tabela1

londiste.py  replicacao.conf  provider add tabela2

Também temos que replicar as sequences criadas pelo campo serial!!!

londiste.py replicacao.conf provider add-seq tabela1_id_seq;

londiste.py replicacao.conf provider add-seq tabela2_id_seq;

Po mas nao apareceu mensagem nenhuma pra mim? Está tudo tão obscuro!!!

beleza  jovem mancebo…. faz o seguinte

londiste.py replicacao.conf provider tables

public.tabela2
public.tabela1

londiste.py replicacao.conf provider seqs

public.tabela2_id_seq
public.tabela1_id_seq


Detalhe na palavra provider!!!

Agora o mesmo procedimento nos nós de origem!!

londiste.py   replicacao.conf  subscriber add  tabela1

londiste.py  replicacao.conf  subscriber add tabela2

londiste.py replicacao.conf  subscriber add-seq tabela1_id_seq;

londiste.py replicacao.conf  subscriber  add-seq tabela2_id_seq;

Para dar aquela conferida básica….

londiste.py replicacao.conf  subscriber tables

public.tabela2
public.tabela1

londiste.py replicacao.conf subscriber seqs

public.tabela2_id_seq
public.tabela1_id_seq

Detalhe na palavra subscriber!!

Enfim Replicando……UFA!

Vamos testar agora se a replicação vai funfar ou não, o cabra le o artigo se irrita e quer logo ver a parada funcionar, pelo menos eu sou assim :P

Suponha que seu psql esteja no seu PATH e vc esteja usando linux :) . AAAAAAAAAAAAAAA beleza então insere na mão mesmo se preferir!! :)

for i in $(seq 1 10000) ; do psql -U postgres -h localhost -c “insert into tabela1 values(default,’joao$i’)” mestre ; done

Com isso inserimos 10000 registros na tabela1. Após  a inserção dos registros!!

Conecte-se no banco mestre e rode um count(*) na tabela1

Conecte-se no banco de dados escravo e rode um count(*) na tabela2

psql  -U postgres -h localhost -c “select count(*) from tabela1″ mestre

psql  -U postgres -h localhost -c “select count(*) from tabela1″ escravo

Consideração finais…

Fica pra amanhã estou realmente cansado…. Eu prometo que faço e não vai demorar quase um ano!
:)

by joaocosme at 01/04/2009 08:03

Dickson dos Santos Guedes

Convertendo Imagens de Large Object para Varchar no PostgreSQL

Neste post compartilho com vocês uma função que fiz para converter uma imagem armazenada num campo do tipo Large Object para um texto que representa a imagem em ASCII...

by Guedes at 01/04/2009 04:44

Fernando Ike

Wordpress.com e Planeta PostgreSQL Brasil

    Os blogs que estão hospedados no wordpress.com e estão agregados no Planeta PostgreSQL Brasil tem tido um pequena problema com feeds com Rss2, o título dos post/notas não apareciam corretamente, somente o nome do blog.

   Agora, todos do wordpress.com estão como Atom. :)

by Fernando Ike at 01/04/2009 01:04

27/03/2009

Claudio Bezerra Leopoldino

Log com Arquivos CSV

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 (Comma-Separated-Values - 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.

A utilização de log em arquivo CSV é muito simples, bastando se alterar o arquivo POSTGRESQL.CONF, alterando o parâmetro log_destination, e fazer o reload da configuração. Comente o valor anterior do parâmetro e coloque esta linha:

log_destination = 'csvlog'

A partir deste momento os arquivos de log criados serão do tipo CSV. Abaixo, uma imagem ilustrando como fica armazenado fisicamente o log:

by cbleopoldino (noreply@blogger.com) at 27/03/2009 03:03

25/03/2009

Rodrigo Hjort

Meu PostgreSQL não conecta!


Começando do início...


Observação: Apesar de os testes terem sido feitos em ambiente Linux, os comandos (ping, telnet, psql) e arquivos de configuração (postgresql.conf, pg_hba.conf) existem e funcionam também no Windows, Macintosh ou FreeBSD, no respectivo terminal.

Antes de tudo, façamos alguns testes que respondem à algumas perguntas.

A máquina está no ar e é enxergada na rede pelo cliente?


Um simples "ping" pode nos ajudar:
$ ping 10.15.23.15
Se estiver tudo correto, aparecerá o texto abaixo:
rodrigo@asgard:~$ ping 10.15.23.15
PING 10.15.23.15 (10.15.23.15) 56(84) bytes of data.
64 bytes from 10.15.23.15: icmp_seq=1 ttl=64 time=0.044 ms
64 bytes from 10.15.23.15: icmp_seq=2 ttl=64 time=0.034 ms
64 bytes from 10.15.23.15: icmp_seq=3 ttl=64 time=0.034 ms

--- 10.15.23.15 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 0.034/0.037/0.044/0.006 ms
Caso contrário, será exibido algo como:
rodrigo@asgard:~$ ping 10.15.23.150
PING 10.15.23.150 (10.15.23.150) 56(84) bytes of data.
From 10.15.23.15 icmp_seq=1 Destination Host Unreachable
From 10.15.23.15 icmp_seq=2 Destination Host Unreachable
From 10.15.23.15 icmp_seq=3 Destination Host Unreachable

--- 10.15.23.150 ping statistics ---
6 packets transmitted, 0 received, +3 errors,