Dica Rápida PostGresSQL – É Par ou ímpar?

Fala pessoal, hoje precisei fazer um comando bem simples no postgresq, precisa de saber se o count de uma consulta iria retornar par ou ímpar, então vamos lá para dica:

Resultado par:

((Select count(1) from tabela) % 2)  = 0

Resultado ímpar:

((Select count(1) from tabela) % 2) = 1

 

Dica rápida e simples 🙂

fui…

 

Anúncios

12º Firebird Developers Day

12º Firebird Developers Day

A décima segunda edição do Firebird Developers Day acontecerá no dia 08/Agosto, no Espaço Beira Rio, em Piracicaba – SP.

Esse ano, o evento terá a presença especial de Dmitry Yemanov, chefe da equipe de desenvolvimento do Firebird! Veja abaixo algumas das palestras que já estão definidas. A grade ainda não está completa, mas já conta com temas de grande interesse da comunidade:

  • Alta disponibilidade com o Firebird
  • Firebird e I/O de disco
  • Otimizando o FB 3 para acesso via Internet
  • HQbird – Distribuição profissional do Firebird
  • Maximizando a performance em INSERTS
  • Desenvolvimento Multicamadas com Delphi e Java: Análise Comparativa e Prática
  • Monitoramento ativo do Firebird usando o Nagios

As inscrições para o evento já estão abertas, e esta é a última semana antes do aumento no valor da inscrição.

Aproveite e inscreva-se ainda nessa semana, pagando o menor valor!

Ajude a divulgar o evento em sites, blogs e comunidades relacionadas ao Firebird ou a programação. Temos também um cartaz que pode ser impresso e afixado em locais de interesse, e um banner para divulgação online.

Todas as informações sobre o evento, locais para se hospedar, como chegar, valores de inscrição, etc. estão disponíveis no site oficial, em www.FirebirdDevelopersDay.com.br. Na página principal, temos o link para as comunidades no FaceBook e Google+, onde os participantes podem conversar entre si, organizar excursões, caronas, etc.

Vagas limitadas!

Resetar sequencia PostGreSQL

resetVocê que utiliza o Banco de Dados PostGres e usa como código de auto-incremento as sequences, vou ensinar agora como você pode resetar todas as sequences do banco de dados, segue o código abaixo:

SELECT setval(c.oid, 1, false)
FROM pg_class c JOIN pg_namespace n ON c.relnamespace = n.oid WHERE c.relkind = ‘S’ AND n.nspname !~ ‘^(pg_.*|information_schema)$’;

Criando Hash Com Postgres

postgresql_logo-555px

 

Para quem trabalha com o banco de dados postgresql, e está desenvolvendo o PAF-ECF, no Bloco VII podemos que observar que os testes consistem principalmente em realizar os procedimentos que irão gravar os registros de dados nas determinadas tabelas do banco, e em seguida alterar manualmente estes dados gerados, através de uma ferramenta de acesso ao mesmo.

Logo após deverá ser gerado os arquivos textos a partir do menu fiscal, e os mesmos deverão apresentar o caractere “?”, nos campo “Modelo do ECF” e ou “Unidade” de acordo com o registro do Anexo em questão do Ato Cotepe 06/08.

Para realizar essa operação no postgresql vou criar o Hash de cada registro completo, para realizar essa operação devemos:

Primeiro entre no pgadmin, depois clique em SQL, agora vamos começar o desenvolvimento do hash.

Vamos utilizar a função pgcrypto, para habilitar ela você deve utilizar o comando a seguir:

CREATE EXTENSION IF NOT EXISTS pgcrypto;

Agora que ativamos o pgcrypto podemos gerar o hash de cada coluna, para gerar o hash do registro completo é bem simples segue o código a seguir:

select p from produto as p

Onde p é o alias do produto, eu utilizo o alias porque se existe algum campo onde tenha o mesmo nome da tabela ele não gera o registro de todas as colunas, ele irá exibir somente a coluna.

O código acima você irá observar que ele exibirá todas as colunas existentes da tabela em uma unica coluna. Agora para gerar o hash da coluna completa você irá inserir o código a seguir:

select digest(cast(p as text),’sha256′) from produto as p

Lembrando que o campo que você irá armazenar o hash deve ser do tipo bytea, a função digest ela converte somente campo texto por isso utilizamos o cast para converter o p(linha completa da tabela produto) para texto.

Pronto agora você tem o hash da sua linha por tabela.

Dúvidas entre em contato comigo.