PostgreSQL: função TO_ASCII em banco UTF-8

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;

Tamanho das tabelas no PostgreSQL

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 :)

agendando avisos diários no kubuntu e ubuntu

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 :)

KDE, Kubuntu: problema no Alt+TAB

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 :D

Configurando o tradutor Ktranslator no k/ ubuntu

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.

Reativando

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

Publicado em Geral. 1 Comentário »

PgAdmin3 1.6.3 no Ubuntu Feisty

Hoje, eu acessei o site do pgadmin pra ver novidades e.. pra minha surpresa eles disponibilizaram um repositório pro Dapper e pro Feisty para a ultima versão estável do PgAdmin (1.6.3) pois no repositório do ubuntu está a 1.4.3
Para instalar é necessário habilitar o repositório universe. Segue os comandos pra instalação/atualização.

sudo wget -q -O - http://www.pgadmin.org/pgp/archive_key_debian_ubuntu.gpg | apt-key add -
sudo echo "deb ftp://ftp2.br.postgresql.org/postgresql/pgadmin3/release/ubuntu feisty pgadmin" >> /etc/apt/source.list
sudo apt-get update
sudo apt-get install pgadmin3

Execute o comando pgadmin3 ou acesse no menu o programa instalado.
Ao executar, a primeira tela, já se nota algumas diferenças na interface.
é possivel gerar templates de scripts de INSERT, UPDATE e SELECT

no editor de SQL teve algumas mudanças:
é possivel fazer um Ctrl+C na tabela de resultados da pesquisa e colar o resultado numa planilha (Excel ou OO.Calc) ou até num TXT.
o resultado pode ser exportado pra CSV e HTML (recurço Quick Report muito bom pra gerar relatorios de estatisticas e enviar pra tomadores de decisões)
é possivel gerenciar SQLs favoritos (como no Firefox)
o autocomplete deixou a desejar um pouco… funciona +- para operações de manutenção no banco como um ALTER TABLE tabela ADD …; ainda nao é bom como o do Toad que tem pro Oracle que tem autocomplete até para alias das tabelas.
e tem também o Scratch Pad que é como um bloquinho de notas pra copiar e colar textos, sql, etc..

bom.. de modo geral está melhor q a 1.4.3 mas acho q ainda teria pontos a melhorar, principalmente no autocomplete no editor, derepente alguns gráficos nas estatisticas pra administração e derepente até um Query Builder como o que tem pro MySQL.

A nova versão (1.8.0) já está saindo do forno

Tecnologia na libertadores

Não que eu seja um gremista fanático… mas lendo o post do Cesar Brod que fala sobre o uso de tecnologia no futebol, eu acho que se fosse usado tecnologia nos jogos contra o Boca, o Grêmio seria vencedor.

No primeiro jogo, com certeza, se o juiz tivesse dado impedimento (estavam 3 jogadores do boca impedidos) pro gol do boca, o time não se abalaria e traria um empate provavelmente.

na final o juiz não marcou aquele penalti no primeiro tempo, e com a secagem dos colorados, o grêmio botou duas bolas na trave.

Com certeza… se fosse pelo justo (com tecnologia) o GREMIO teria sido campeao… Mas não adianta… é melhor jogar na final e perder doque ter que torcer pra argentino

como diria uma frase que vi num email… “O sonho dos gaúchos é ter uma final da libertadores entre Grêmio e Inter. Por favor não parem na primeira fase quando isso for possível. ” :D

Vendo um “Janelas”

sou um dos que teve a infelicidade de ter que comprar um notebook na época em que só se vendia casado com um windows XP. Sempre usei linux no meu notebook e nunca precisei do “janelas”, apesar de eu ter ele instalado em dualboot pra caso queira rodar algum jogo que não tenha no Linux (mas nunca precisei). Mas essa semana, vendo a propaganda de um notebook com linux, caiu a fixa e percebi que alem de eu ter pagado uma boa parcela do meu notebook pra maudita licença que eu mau usei, ainda está me ocupando uma partição de 10Gb no meu HD.
é uma coisa no mínimo inútil e to disposto a me desfazer da licença por isso estou querendo vender. Faço qualquer negócio. Também troco por uma garrafa de vinho (não precisa ser dos bons), ou uma cerveja, ou um pacote de erva (pra chimarrão), ou aceito até um pacote de bolacha. Fizemos qualquer negócio. De graça é muito caro?

Beryl é o cara

Invejado pelos simples mortais do Vista, e não precisando de uma tonelada de memória para rodar, nem licenças absurdas, o Beryl deixa o linux com efeitos 3D e aumenta ainda mais a produtividade no linux. Pra instalalo no meu linux foi extremamente “dificil”. tive que digitar tudo isso.

apt-get install beryl-kubuntu

é.. ele baixa, instala e configura tudo… sempre achei que fosse muito pesado, mas na verdade com uns 512mb de memoria roda tranquilo, claro, tendo uma placa aceleradora.

só tive um probleminha ao instalar em uma máquina, pois carregava sem decorador de janelas, mas seguindo essa dica já se resolveu o problema.

pra quem não conhece existem vários videos no youtube.

Video com alguns recursos do do Beryl

Comparação entre o Vista (Aero) e o Linux (Beryl)