16/07/2008 by Fábio Arezi
Pra padronizar meus sistemas, resolvi migrar as bases de LATIN1 pra UTF8. Sei que alguns não vão concordar com minha escolha mas enfim. Segue os passos que eu fiz em um servidor RedHat5 (testei com Debian e funcionou também) com a versão 8.1 do PostgreSQL. Fiz com uma base de em torno de 800Mb.
Recomendo que teste em um ambiente separado antes de aplicar na produção. Use por conta e risco.
Primeiro pare todos os serviços que utilizam o banco (ex. stop no apache, tomcat, jboss) para ninguém (usuários) alterar o banco durante o processo.
Nos comandos abaixo, substitua:
usuario_banco = usuário dono do banco, com permissões de apagar e criar bancos
meu_banco = o banco que vc quer fazer a migração
fazer um backup em texto plano
/usr/bin/pg_dump -i -h localhost -U usuario_banco -F p -D -v -f bancoL.sql meu_banco
aqui está o segredo. Use o software iconv para conversão
iconv -f iso-8859-1 -t utf-8 bancoL.sql > bancoU.sql
abra o arquivo bancoL.sql (de preferencia use o vim pra editar)
e no inicio aí pela linha 7, onde tem “SET client_encoding = ‘LATIN1′;” troque LATIN1 por UTF8
Com banco fazer:
faça um backup é claro
pg_dump -U usuario_banco -i -F c -b -f banco.backup meu_banco
agora apague o banco inteiro
dropdb -h localhost -U usuario_banco meu_banco
crie-o com UTF8
createdb -h localhost -E UTF8 -U usuario_banco meu_banco
e agora restaure o banco “uteéfeoitoado” 
psql -h localhost -U usuario_banco -d meu_banco < bancoU.sql
caso use em seus SQL a função TO_ASCII, com UTF-8 ela não irã funcionar. Veja aqui a alternativa em um post passado que eu fiz.
Etiquetas: PostgreSQL, utf-8, iso-8859-1, converter, migrar
Postado em Desenvolvimento, Linux, PostgreSQL | Nenhum comentário »
19/06/2008 by Fábio Arezi
Como uso geralmente 3 PCs (no trabalho, meu notebook e o PC da minha mãe) e nos 3 casos uso Firefox, sempre usei o addon do google
que servia pra sincronizar meus favoritos, ou seja, se eu adicionasse um favorito no firefox do meu notebook, no dia seguinte na máquina do meu trabalho o favorito estaria lá. Além de guardar as abas da ultima sessão quando eu fechasse o firefox, e quando eu abrisse em outra máquina ele me dava a opção de
abrir os mesmos sites que estavam abertos na outra máquina.
Quando saiu o beta do firefox 3, eu feliz da vida, fui tentar atualizar e, dizia que o plugin do google não estava disponível para o FF3, somente para versão 2. Bom… paciência, vamos esperar a versão final do FF3, enquanto isso continuei com o FF2. Ontem saiu a versão final do FF3 e hoje fui tentar instalar o addon do google denovo e pra minha surpresa não funcionou novamente. Buscando sobre o assunto, descobri por esse blog que o addon está descontinuado
http://lifehacker.com/396112/google-browser-sync-discontinued-no-firefox-3-support
pelo que entendi o google diz que não está com tempo para atualizar a ferramenta para o firefox 3 e sugere algumas alternativas “concorrentes”.
. FoxMarks (www.foxmarks.com)
. Google Toolbar
. Weave (http://labs.mozilla.com/2008/06/weave-status-update/)
Dei uma olhada superficial nas opções e minha opção foi para o FoxMarks que me pareceu um projeto maduro e estável, e inclusive posso acessar meus favoritos direto no site do my.foxmarks.com, quando não estou em casa ou no trabalho.
Bastou instalar o addon, reiniciar o Firefox3 criar uma conta e, fim, todos viveram felizes para sempre, inclusive o pobre do google que não pode alocar um desenvolvedor para fazer uma atualização que eu acredito que não levaria mais que 3 dias de trabalho.
Etiquetas: firefox 3, foxmarks, google browser sync
Postado em Geral, Tecnologia | 2 Comentários »
14/05/2008 by Fábio Arezi
Não sou muito fã do MySql, mas tive que instalar ele em um servidor Debian e acessar de outra máquina. Apanhei um bocado.. pelo phpMyAdmin eu acessei, configurei as permissões para acesso de qualquer máquina e não tinha jeito, dava erro de conexão. Pesquisando um pouco descobri que tem uma configuração adicional a fazer.
No arquivo /etc/mysql/my.cnf procure a seguinte linha
bind-address = 127.0.0.1
agora a comente ou a apague.
reinicie o mysql
/etc/init.d/mysql restart
pronto. Agora o mysql vai aceitar conexão pela rede.
Mas tem um problema. Ele vai aceitar conexão de qualquer máquina, e como no meu caso eu preciso que só da minha rede interna (192.168.1.*) tenha acesso e não o mundo inteiro, usei o portmap, ou seja, adicione as seguintes linhas no fim do arquivo /etc/host.allow
mysqld : 192.168.1.0/255.255.255.0 : allow
mysqld : ALL : deny
e reinicie o portmap
/etc/init.d/portmap restart
Pronto.
Etiquetas: mysql, acesso, rede
Postado em Desenvolvimento, Linux, Tecnologia | Nenhum comentário »
03/05/2008 by Fábio Arezi
Um programa que minha mãe adorou quando instalei o Ubuntu Hardy no computador dela foi o KTouch. Um programa para aprender/treinar digitação. O grande problema é que nas opções para selecionar o teclado, não achei o tipo brasileiro (da ABNT).
Investigando um pouquinho descobri que no Hardy vem instalado o KTouch 1.5.3 e a versão mais nova para do KDE3 é o 1.6
A solução foi simples. Baixei o .tar.gz do 1.6 e nele procurei os teclados e estava lá o PT-BR
copiei ele pro diretório do ktouch, abri o programa e estava lá a opção brasuca.
Passo a passo
Instale o KTouch
sudo apt-get install kde-i18n-ptbr ktouch
No site http://ktouch.sourceforge.net/ em downloads, baixe o arquivo ktouch-1.6.0.tar.gz (a versão 1.6).
abrao o arquivo ktouch-1.6.0.tar.gz e navegue até /ktouch-1.6.0/ktouch/keyboards/ e extraia somente o arquivo pt.br.keyboard
mova o arquivo pt.br.keyboard pro diretorio do ktouch com o comando
sudo mv pt.br.keyboard /usr/share/apps/ktouch/
Abra o programa KTouch, vá em Configurações, Layouts de teclado e clique em Português (pt.br)
Pronto, minha mãe feliz da vida.
Etiquetas: abnt, abnt2, ktouch, português, pt-br
Postado em Linux | Nenhum comentário »
09/04/2008 by Fábio Arezi
a função TO_ASCII no postgresql é muito util principalmente para buscas onde se quer ignorar acentos em string. Ela funciona bem quando o banco de dados estiver em LATIN1 por exemplo.
SELECT TO_ASCII('tchê'); -- retorna 'tche'
mas quando usamos ela em um banco UTF8 retorna o erro “conversão de condificação de UTF8 para ASCII não é suportada”.
Para contornar isso criei uma função SEM_ACENTO para usar no lugar da TO_ASCII.
CREATE OR REPLACE FUNCTION sem_acento(text)
RETURNS text AS
$BODY$
select
translate($1,'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ','aaaaaeeeeiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcC');
$BODY$
LANGUAGE 'sql' IMMUTABLE STRICT;
Etiquetas: postgresql to_ascii utf8 utf-8
Postado em PostgreSQL | 1 Comentário »
03/04/2008 by Fábio Arezi
Hoje precisava saber a relação das tabelas do meu banco e principalmente o tamanho de cada tabela. Pesquisando um pouco montei o seguinte SQL.
SELECT esquema, tabela,
pg_size_pretty(pg_relation_size(esq_tab)) AS tamanho,
pg_size_pretty(pg_total_relation_size(esq_tab)) AS tamanho_total
FROM (SELECT tablename AS tabela,
schemaname AS esquema,
schemaname||'.'||tablename AS esq_tab
FROM pg_catalog.pg_tables
WHERE schemaname NOT
IN ('pg_catalog', 'information_schema', 'pg_toast') ) AS x
ORDER BY pg_total_relation_size(esq_tab) DESC;
a coluna tamanho mostra o tamanho que os registros (tuplas) da tabela está ocupando no disco, e a coluna tamanho_total inclui também os TOASTs e os índices associados à tabela.
Qualquer outra sujestão é bem vinda 
Etiquetas: postgresql postgres tamanho tabelas
Postado em PostgreSQL | Nenhum comentário »
19/03/2008 by Fábio Arezi
Eu gostaria que todo dia, meu PC me avisasse, às 14:30 da hora de dar uma parada e fazer um lanche. Então, pesquisando, fuçando e testando eu fiz o seguinte:
edite, como root, o arquivo /etc/crontab
adicione a seguinte linha no fim do arquivo
30 16 * * * fabio DISPLAY=:0 kdialog --msgbox "Hora do lanche"
detalhando os parâmetros:
- 30 - o minuto da hora (16 horas e 30 minutos)
- 16 - a hora (as 4 da tarde)
- * * * - todos dos dia
- fabio - o usuario que usa o sistema (login)
- kdialog - no meu caso eu usei o kdialog pois uso kubuntu. Se for Ubuntu (gnome) use o gdialog.
- “Hora do lanche” - mensagem. Substitua pela sua.
E não perca mais a hora 
Postado em Linux | Nenhum comentário »
25/02/2008 by Fábio Arezi
Quando eu migrei do Feisty pro Gutsy, no KDE, quando eu alternava as janelas com o Alt+TAB não aparecia a lista das janelas ativas, ele alternava direto para a uma janela. E isso dificultava no gerenciamento dos conteudos.
Após algumas googladas, descobrir como resolver o problema e aparecer o popup”zinho” com a lista das janelas.
no konsole digite:
kwrite ~/.kde/share/config/kwinrc
localise a linha
AltTabStyle=CDE
altere para
AltTabStyle=KDE
Salve a alteração, feche e reinicie o KDE (K -> Fechar sessão -> Sair) ou o computador.
Abra algumas janelas e pressione Alt+TAB. Pronto 
Postado em Linux | Nenhum comentário »
22/02/2008 by Fábio Arezi
bom… primeiro instalamos o ktranslator
sudo apt-get install ktranslator
agora baixamos 2 arquivos: o indice english.dic.gz e o dicionario EngtoPor.dic.gz, acesse o diretorio onde foi baixado e descompacte com o comando:
gzip -d *.dic.gz
mova os 2 arquivos .dic para onde for mais conveniente (eu os deixei em /opt/dicionarios). Os dois arquivos tem que ficar no mesmo diretório!
execute o ktranslator, na primeira vez irá abrir uma janela para configuração do dicionário. De um nome qualquer (ex: EngPort) e clique em Próximo. Selecione a opção “Dicionário do Babylon” e clique em Próximo. Agora selecione o arquivo do dicionario que foi baixado e descompactado (EngtoPor.dic) e clique em Próximo. Pronto. Agora é só usar. A ferramenta fica disponivel na barra de tarefas do lado do relógio.
Etiquetas: tradutor linux inglês ubuntu kubuntu
Postado em Linux | Nenhum comentário »
22/02/2008 by Fábio Arezi
Ok.. sei que faz muuito tempo que não posto nada, mas estive muito ocupado esses últimos meses.
Então, voltando… vou continuar postando dicas de tecnologias, e outras coisas inúteis. E agora também como comprei um celular A1200, é + outro motivo pra postar
até..
Postado em Geral | 1 Comentário »