sexta-feira, 24 de maio de 2013

PgDay Ceará 2013: Avaliação e Lições Aprendidas...


Realizado dia 3 de maio deste ano, o PgDay Ceará 2013 reuniu estudantes e profissionais interessados no banco de dados PostgreSQL. Este post apresenta uma breve avaliação e algumas lições aprendidas.

Agradecimentos

Em primeiro lugar, agradeço a todos os que ajudaram de alguma forma, e não são poucas pessoas, dos quais citarei apenas alguns nominalmente.

Em primeiro lugar, agradeço aos companheiros da comissão de organização, formada pelos professores Adail Nunes e Daniel Siqueira.

Agradecimentos à Unichristus por hospedar este evento, dando condições para a comissão organizadora trabalhar com flexibilidade e recursos.

Agradecimentos adicionais ao Crispim, funcionário da Unichristus que cuidou do site do evento, e ao pessoal do departamento de artes que criou as imagens, cartazes e demais materiais de divulgação. Cito ainda o professor Ricardo pelas sugestões.

A vasta divulgação que o evento recebeu de pessoas, de blogs, de sites diversos e do jornal "O Povo" nós dificilmente teremos como retribuir. Agradecimentos especiais a Alex Souza, ao portal diHITT, ao InfoBlogs, ao portal de software livre do governo brasileiro, ao blog Savepoint, ao portal InfoQ, ao jornal OPovo, entre tantos outros que não temos espaço para citar, ao pessoal do twitter e facebook!

O PgDay teve mais de 12000 entradas no google. Obrigado!

Divulgação na Internet


Aos palestrantes, que investiram o próprio tempo e dinheiro para estar no PgDay Ceará 2013, a minha reverência. Vocês deram um show!

A você que se inscreveu no evento e que esteve presente, mesmo parcialmente, mesmo virtualmente pela câmera do prof. Daniel, meus agradecimentos entusiasmados!

Lições Aprendidas

Acho importante registrar algumas lições aprendidas, algumas por erros, a maioria felizmente pelo bom andamento das atividades do Pgday:

1 - É vantajoso ter uma instituição que dê suporte

O fato de termos o apoio da Unichristus para este evento garantiu não só acesso a recursos materiais, como auditório e projetor multimídia, como apoio dos professores e a presença dos alunos.

O lanche oferecido à tarde e à noite, os certificados emitidos aos palestrantes e os certificados digitais em produção para os participantes foram algumas das contribuições que a instituição ofereceu ao evento.

2 - Patrocinadores Ajudam se o Evento for Planejado e Formalizado com muita Antecedência

Não utilizamos patrocinadores para o PgDay Ceará, uma vez que esta foi a primeira edição no estado, mas se fosse preciso fazer esta prospecção, precisaríamos de muita antecedência e planejamento mais formalizado para obtermos melhores resultados com potenciais patrocinadores.

Dois ou três meses podem ser insuficientes para captar recursos, especialmente se o seu patrocinador for um órgão federal.

3 - Organizar-se é Vital

Nossa planilha de tarefas, criada no google docs, chegou a mais de 20 itens. Cada tarefa tinha seu responsável designado e prazo para realização. Sem a formalização das tarefas, não conseguiríamos integrar os esforços de todos. Nossa proposta inicial era realizar o evento em um curso prazo, e só foi possível pela organização e trabalho em equipe.

4 - Divulgar é Preciso!

Após o PgDay recebi algumas mensagens de gente que não pôde estar presente. Mas não recebi nenhuma de gente que não soube do evento. A internet, as redes sociais e seus amigos são boas formas de divulgar o evento.

Quando você achar que já divulgou o suficiente, continue divulgando!

5 - Palestrantes São Essenciais

O palestrante é a alma de um PgDay. Fazer chamada de palestras com antecedência e ter algum dinheiro em caixa para pagar ao menos a passagem dos palestrantes são boas práticas. Convidar pessoas da sua rede social também é uma boa ideia.

Em último caso, o organizador também acaba tendo de ser palestrante, não se surpreenda se isso acontecer :)

6 - O Público é o Alvo

Se o palestrante é a alma do evento, sem público, o PgDay não tem corpo, não deixa consequências para a sociedade. Colocar um formulário simplificado de inscrições permitiu o envio por e-mail de lembretes aos inscritos, o que aumentou a taxa de presentes.

O lanche oferecido à tarde a à noite aumentou a permanência dos presentes no evento.

Outra ideia boa foi hospedar o evento em uma instituição de ensino, cujos alunos passam a ser potenciais participantes.

Avaliação

O número de presentes foi condizente com outros PgDays realizados pelo Brasil afora, então fiquei satisfeito com relação ao número de presentes.

Os participantes, palestrantes e organizadores me passaram feedbacks positivos, então creio que a satisfação dos envolvidos foi obtida, o que creio que é o melhor indicador que podemos obter inicialmente.

Espero poder observar consequências futuras nos trabalhos de pesquisa e conclusão dos alunos e que isso se reflita no trabalho dos participantes de Fortaleza, Sobral, Messejana, Maracanaú e do Rio Grande do Norte.

Encerro este post com fotos selecionadas do site do Cledson.



Público seleto.



Fábio Telles dá um Show



Não podia faltar uma foto da minha palestra!



Nabuconosor Coutinho fala Tudo sobre Replicação

Palestra e Demonstração sobre Bancos de Dados Espaciais com Marx Haron, do Serpro







terça-feira, 21 de maio de 2013

PgBR 2013: Inscrições Abertas!


A Conferência Brasileira de PostgreSQL, denominada PGBR, é o principal evento organizado pela Comunidade Brasileira de PostgreSQL. Trata-se de um acontecimento que reúne desenvolvedores, usuários e pesquisadores da tecnologia de banco de dados livre e de código aberto PostgreSQL.

Estão abertas as inscrições para a edição 2013 deste grande evento, que será realizado em agosto, na bela cidade de Porto Velho, em Rondônia. A grade de apresentações, informações sobre inscrições e demais informações podem ser vistas aqui.

terça-feira, 16 de abril de 2013

PgDAy Ceará 2013: Grade de Palestras Definida!


A grade de palestras do PgDay Ceará 2013 já está definida. Informações e inscrições gratuitas estão disponíveis aqui.

sexta-feira, 5 de abril de 2013

Trate com BLOBs e CLOBs Diretamente no PSQL!


Armazenar grandes objetos binários (Binary Large Objects - BLOBs), tais como vídeos, imagens e arquivos PDF, e grandes objetos textuais (Character Large Objects - CLOBs) em um banco de dados é uma atividade que pode apresentar dificuldade maior que a vivenciada em se lidar com tipos de dados tradicionais.

Cada SGBD apresenta sua padronização e o PostgreSQL apresenta seus métodos de armazenamento, exclusão e recuperação de BLOBs e CLOBS. A portabilidade entre SGBDs não costuma ser fácil neste caso.

 Lidar com Large Objects pode não ser tão trivial!


Um recurso bastante simples para lidar com estes grandes objetos dentro do postgres é disponibilizado de dentro do psql, objeto deste post.

Quatro funções permitem operações sobre large objects, viabilizando a sua criação, recuperação, consulta e exclusão:
- \lo_import ARQUIVO [COMENTÁRIO] - Importa um arquivo do filesystem (levando em conta a search_path) para o postgresql, atribuindo ao mesmo um identificador de objeto (OID) e um comentário, quando fornecido este parâmetro
- \lo_list - Apresenta uma listagem dos objetos binários importados
- \lo_export OIDLOB ARQUIVO - Exporta um BLOB ou CLOB do postgres para o filesystem sem removê-lo do postgresql, referenciando-o pelo seu OID
- \lo_unlink OIDLOB - Elimina um large object do postgresql com base no seu OID.

Abaixo, sem a preocupação de esgotar este tema, a demonstração do tratamento de BLOBs e CLOBs no postgres via psql.

* Listagem de grandes objetos (large objets) armazenados

postgres-# \lo_list
Objetos grandes
 ID | Descrição
----+-----------
(0 registro)

* Recuperação dos caminhos da Serch_path, utilizados para recuperar arquivos para o psql




postgres=# SHOW search_path;
  search_path  
----------------
 "$user",public
(1 registro)





* Importação de Arquivos

postgres=# \lo_import arqdoc.doc
lo_import 16400 (OID DO NOVO ARQUIVO IMPORTADO)
postgres=# \lo_import arqpdf.doc 'Arquivo Binario PDF'
não pôde abrir arquivo "arqpdf.doc": Arquivo ou diretório não encontrado
postgres=# \lo_import arqpdf.pdf 'Arquivo Binario PDF'
lo_import 16401
postgres=# \lo_import arqpng.png 'Arquivo PNG'
lo_import 16402
postgres=# \lo_list (LISTAGEM DE ARQUIVOS IMPORTADOS)
       Objetos grandes
  ID   |      Descrição     
-------+---------------------
 16400 |
 16401 | Arquivo Binario PDF
 16402 | Arquivo PNG
(3 registros)

* Exclusão de arquivo previamente importado

postgres=# \lo_unlink 16401
lo_unlink 16401
postgres=# \lo_list
   Objetos grandes
  ID   |  Descrição 
-------+-------------
 16400 |
 16402 | Arquivo PNG
(2 registros)









* Exportação de arquivo do postgresql para o filesystem

postgres=# \lo_import novofile.pdf
lo_import 16403
postgres=# \lo_export 16403 testeexport.pdf (gera o arquivo testeexport.pdf no filesystem)

* Importação de CLOB

postgres=# \lo_import miniclob.txt 'Arquivo CLOB'
lo_import 16405
postgres=# \lo_list
   Objetos grandes
  ID   |  Descrição  
-------+--------------
 16400 |
 16402 | Arquivo PNG
 16403 |
 16404 |
 16405 | Arquivo CLOB
(5 registros)





* Considerações Finais


Prefiro trabalhar com large objects no filesystem, ao invés de registrá-los no próprio banco de dados.O acréscimo de mais uma camada reduz a portabilidade e a velocidade de acesso, mas tende a aumentar de certa forma a segurança e a facilitar operações de backup e recovery.

Caso se deseje utilizar este recurso na aplicação, utilizando as funções dentro do SQL, o postgresql apresenta o recurso das Server-Side Functions, bastante similar e que oferece maior controle.

E você, como lida com os seus BLOBs e CLOBs?

quarta-feira, 27 de março de 2013

Qual é o SGBD mais popular? O PostgreSQL me surpreendeu!

A popularidade de uma ferramenta não garante a sua qualidade, mas é um bom indicador de sua aceitação no mercado. O site DB-ENGINES criou um ranking de SGBDs, utilizando uma metodologia bem estruturada que leva em conta menções em sites, buscas e ofertas de trabalho, entre outros critérios. A pontuação é atualizada mensalmente.

Ver o PostgreSQL em quarto lugar no ranking do mundo (03/2013), me surpreendeu positivamente. Imaginava que em certos lugares, como o nosso Brasil, ele seria bem colocado, mas não achei que essa aceitação fosse mundial!

O link se encontra abaixo:

- http://db-engines.com/en/ranking

Faltam detalhes como rankings por critério utilizado, fornecendo informações sobre, por exemplo, ofertas de emprego por banco de dados e região, mas acho que o é uma boa curiosidade que traz alguma informação nova. Pequei a dica deste link no blog Papo SQL.

terça-feira, 26 de março de 2013

PgDay Ceará 2013: Site Oficial no ar



O site oficial do PgDAy Ceará 2013 está no ar, com links para inscrições e para a chamada de trabalhos, que ainda está aberta.

Peço a divulgação entre os possíveis interessados e saliento que a participação de todos é muito bem vinda!

PgDay Ceará 2013: Primeiros Palestrantes Confirmados!



Os primeiros palestrantes já foram confirmados no PgDay Ceará 2013. Ainda existe espaço na grade de palestras, então você está convidado a submeter sua apresentação:



- Fábio Telles Rodriguez
Palestrante nacionalmente conhecido, atua em como DBA Oracle, MySQL e PostgreSQL. É sócio fundador da Timbira, empresa especializada em bancos de dados PostgreSQL, migração entre bancos de dados, alta disponibilidade, ajustes de desempenho e treinamento. Colaborou nos projetos DebianZine, PSL-ABCD, Xoops e PostgreSQL.
Referências:
- http://savepoint.blog.br/
- http://www.timbira.com.br/timbira


- Nabucodonosor Coutinho
DBA de banco de dados PostgreSQL e Oracle. Palestrante e colaborador das comunidades PostgreSQL e Python. Sócio da Mondrian tecnologia, empresa especialista em banco de dados, consultoria e desenvolvimento. Atuou em grandes projetos de migração de bases de dados Oracle e SQLServer para PostgreSQL e na administração de Redes e Servidores Linux (RedHat, Fedora, Debian). Como gerente de projetos e desenvolvedor implementou sistemas baseados em Ruby On Rails, Java, Python, Cold Fusion, PHP, Perl e C#.
Referências:
- www.mondriantecnologia.com


- Cláudio Leopoldino
Analista de desenvolvimento de software do SERPRO e professor da UNICHRISTUS. Utiliza o PostgreSQL como ferramenta de ensino de Banco de Dados, atuando como articulista, blogueiro e palestrante em eventos de software livre e banco de dados.
Referências:
- http://postgresqlbr.blogspot.com.br/

Chamada de Trabalhos

O site da chamada de trabalhos ainda não está no ar, mas a submissão de palestras já pode ser feita diretamente para o e-mail claudiob_br@yahoo.com.br. Podem ser submetidas palestras técnicas e de casos de utilização do postgresql.

O correio enviado deve conter os seguintes dados:

  • Nome Completo - Obrigatório para identificar o palestrante
  • E-mail - Obrigatório para enviarmos lembretes aos palestrantes antes do evento.
  • Telefone(s) de Contato - Obrigatório.
  • Resumo da Palestra - Obrigatório. Resumo do conteúdo da palestra em uma página de texto.
  • Instituição de Origem. - Obrigatório.
Sua participação é muito importante!

quinta-feira, 21 de março de 2013

DtSQL: Ferramenta Front-End para Banco de Dados

A procura por ferramentas que realmente aumentem a produtividade continua. O DtSQL apresenta um bom conjunto de funcionalidades e é compatível com o PostgreSQL e mais de 20 outros SGBDs. O DtSQL foi tornado livre em 2013, e tem sofrido atualizações recentemente, o que é um ponto positivo. Está disponível para Windows, Mac OS, Linux e UNIX.


Abaixo, coloco algumas informações, sobre os recursos oferecidos, com base na versão de março deste ano:

* Interface Gráfica Simples

- A interface gráfica é simples, mas parece bastante com outras já bastante conhecidas, como a do PgAdmin e a do Squirrel. Ao mesmo que isso facilita a utilização, deixa a impressão de que poderia agregar mais inovação e valor à ferramenta.


No entanto a interface não é perfeita. Para criar e executar comandos no editor de texto, deve-se clicar no banco de dados ou em um objeto (tabela ou visão). Demorei para descobrir este recurso, então creio que a interface não seja tão intuitiva quanto poderia.



* Assistentes

- Tarefas como a criação de tabelas, visões, índices e outros objetos são automatizadas por maio de assistentes que facilitam o trabalho.


* Query Builder (Confuso)

- Não posso dizer que gostei do Query Builder. Achei confuso e complicado. Mas recomendo que seja testado, pois pode ser exatamente o que você procura.


* Exportação/ Importação de Dados

- A exportação é a melhor feature da ferramenta. Assistentes permitem a exportação e importação em poucos cliques.

Não percebi bugs ou outros problemas no processo, mas recomendo testes para uso em bancos de dados de maiores proporções.

Exportação: Seleção de tabela a ser exportada.

 Exportação: Parâmetros


Importação: Definição de Tabela para receber os dados

Importação: Parâmetros

 Importação: Arquivo com dados a importar


Importação: Sumário


* Considerações Finais

A primeira impressão foi positiva, embora eu prefira soluções como o Squirrel. Creio que pode ser utilizada como front-end. Destaco os pontos positivos:
- Assistentes
- Disponibilidade para vários sistemas operacionais
- Conectividade com Múltiplos Bancos de Dados
- Recursos para importar/ exportar dados. Esta funcionalidade foi a que achei mais promissora.
- Atualizações recentes, indicando que a ferramenta não está parada.

Pontos negativos:
- Query builder confuso.
- Falta de recursos mais avançados como navegação gráfica nos dados, engenharia reversa, diagramação, monitoramento, etc.
- O código da ferramenta aparentemente não foi aberto.
- É mantida por uma empresa, não por uma comunidade, gerando dúvidas sobre o futuro da ferramenta.

Teste e me dê sua opinião!




quinta-feira, 14 de março de 2013

Imagem de Divulgação do PgDay Ceará 2013!

Esta é a imagem de divulgação do PgDay Ceará 2013. Pode ser divulgada livremente. O evento está definido para o dia 03 de maio, no centro universitário UNICHRISTUS, em Fortaleza-CE.

A chamada de trabalhos está em andamento e se encerrará assim que a grade de palestras estiver definida. Mais informações aqui.

As inscrições ainda não se iniciaram, mas nos próximos dias o site estará disponível.


terça-feira, 12 de março de 2013

O PgDay Ceará Será Dia 03 de Maio!



O PgDay do Ceará foi oficialmente anunciado para o dia 03 de maio, uma sexta-feira. Trata-se de uma iniciativa do curso de Sistemas de Informacao da UNICHRISTUS. O evento visa explorar o banco de dados PostgreSQL e as tecnologias a ele associadas, e ao mesmo tempo:
  • Promover as boas praticas de utilização de bancos de dados, relacionadas ao PostgreSQL;
  • Divulgar casos reais de aplicação desta tecnologia;
  • Fomentar a exploração de recursos básicos, intermediários e avançados desta ferramenta;
  • Contribuir efetivamente para o aprimoramento da área de tecnologia da informação da região;
  • Permitir o intercambio dos alunos de sistemas de informação da Unichristus com profissionais de outras instituições.
A edição cearense deste evento consistirá de uma sequência de palestras sobre o tema, apresentando uma mesa de debates no seu encerramento. A chamada de trabalhos para a submissão de palestras já está em andamento e as inscrições gratuitas para alunos da Unichristus, profissionais, empresários, membros de ONGs e acadêmicos de outras instituições poderão ser feitas no sítio da faculdade em breve.

Atividades previstas:
  • 14:00 – 14:30 - Recepção de participantes e conferencistas
  • 14:30 – 17:15 – Palestras 1, 2 e 3
  • 17:15h – 18:30h – Intervalo
  • 18:30h – 21:15h – Palestras 4, 5 e 6
  • 21:15h – 21:45h – Debate
  • 22:00 - Encerramento
Chamada de Trabalhos

O site da chamada de trabalhos ainda não está no ar, mas a submissão de palestras já pode ser feita diretamente para o e-mail claudiob_br@yahoo.com.br. Podem ser submetidas palestras técnicas e de casos de utilização do postgresql. O correio enviado deve conter os seguintes dados:
  • Nome Completo - Obrigatório para identificar o palestrante
  • E-mail - Obrigatório para enviarmos lembretes aos palestrantes antes do evento.
  • Telefone(s) de Contato - Obrigatório.
  • Resumo da Palestra - Obrigatório. Resumo do conteúdo da palestra em uma página de texto.
  • Instituição de Origem. - Obrigatório. 
A sua participação é muito bem vinda!

segunda-feira, 11 de março de 2013

Edição de SQL e Funções no PSQL

O psql é a principal interface dos desenvolvedores com o PostgreSQL. No entanto, editar códigos no psql pode ser uma tarefa onerosa. As consultas e funções podem ser extensas e o trabalho se tornar cansativo e improdutivo. Existem algumas opções que podem ajudar a trabalhar melhor com os códigos, sem precisar sair do PSQL, que abordamos resumidamente aqui.

- Executando arquivos TXT salvos previamente.

A maneira que mais utilizo para trabalhar com funções e SQL é executar arquivos txt salvos previamente. Gosto de ter scripts para as necessidades básicas em seus respectivos lugares, que possam ser reutilizados, e tem sido bem útil trabalhar desta forma. Edite o seu SQL no editor que achar melhor e salve-o. Para executa-lo, utilize a sintaxe:

\i (nome do arquivo como  código SQL)

- Editar código SQL usando o Editor Padrão

Neste caso, o sistema abre o editor padrão definido para o postgresql. Caso não exista um editor definido, o postgres perguntará, dentre os disponíveis, qual você deseja utilizar. No meu caso, utilizo o nano (http://www.nano-editor.org/). É um editor bem simples e fácil de usar, que apresenta boas teclas de atalho.


Digite:

\e (ou \edit)

O sistema abre a tela do editor para inserir e editar seu texto, permitindo rolar as páginas e manter o SQL sem problemas. É possível salvar o script para reutilização. Para apenas executar, sem salvar, basta sair do editor. No caso do NANO, teclando CONTROL+X.


- Editar nova função no editor.

Ao se digitar \ef, o psql abre o Editor predeterminado, apresentando um "esqueleto de função" para edição. Basta sair teclando CONTROL+X para criar a função.


- Editar função existente


Neste caso, utilize a sintaxe:

\ef (nome da função a editar)



Se você esqueceu o nome das funções que deseja editar, pode adaptar a consulta abaixo para descobrir.

SELECT proname, pronamespace, proowner FROM PG_PROC;

Agora é editar seus scripts, consultas e funções de dentro do psql!

OOPS! Alterando o Editor Padrão!

Já ia me esquecendo! Altere o editor padrão utilizando a sintaxe abaixo:

\set PSQL_EDITOR (caminho do editor)

quinta-feira, 14 de fevereiro de 2013

Ajude e Participe da PgBr 2013!

Colabore na divulgação e submeta sua palestra para o maior evento de PostgreSQL do Brasil! Abaixo, coloco os banners oficiais.

 Você é livre para divulgar da forma que puder! Avise palestrantes em potencial!

Banner 1


Banner 2