Re: [pgbr-geral] tutorial e dicas de explain analyze

2017-09-22 Por tôpico Luiz Henrique
Uellinton

A tabela ned_nota_empenho_despesa tem 174.000
A tabela orcamentario_mensal tem 63.000
Ambas com indice


2017-09-22 10:50 GMT-03:00 Uellinton Mendes <uellin...@terra.com.br>:

> Bom Dia Luiz,
>
> Já tentou usar essa ferramenta online?
>
> https://explain.depesz.com/
>
> É muito legal.
>
> Duvida, quantos registros tem mesmo em ned_nota_empenho_despesa e
> orcamentario_mensal?
>
> Essas duas tabelas estão sem indices?
>
> *Uellinton Mendes*
> 11-9-9167-3524 [OI]
>
> Em 22/09/2017 10:39, Luiz Henrique escreveu:
>
> Prezados,
>
> Procuro por links com tutorias aborando o "explain analyze". Como
> interpretar cada linha apresentada por ele. Alguém recomenda algum site ?
>
> Tenho uma consulta aqui com 1,5 minuto de duração e gostaria de tentar
> otimiza-la
> Ao executar o explain analyze não entendi bem onde atuar para melhorar
>
> Segue abaixo o sql e o explain. Toda ajuda será bem-vinda
>
> ### explain analyze
>
> explain analyze select distinct npd.exercicio
>   , npd.unidadegestora
>   , npd.numero
>   , npd.numeronld
>   , nld.numero as nldorigem
>   , nld.numeroned
>   , ned.numero as nedorigem
>   , ned.numeronpf
>   , npf.numero as npforigem
>   , npf.grupo_fin as grupofin
>   , orm.cod_tp_orcamento as tipcre
>   , npd.classiforcamreduz
>   , npd.classiforcamcompl
>   , npd.credor
>   , npd.nomecredor
>   , npd.statusmovbancario
>   , npd.natureza
>   , nld.numeroned as numemp
>   , npd.codigoretencao
>   , npd.dataemissao
>   , npd.dt_etl
>   , npd.servicobancario
>   , npd.bancobeneficiario as banco
>   , npd.agenciabeneficiario as agencia
>   , npd.contabeneficiario as conta
>   , npd.efeito
>   , substring(ned.classiforcamcompl from 24 for 8) as natdespesa
>   , substring(ned.classiforcamcompl from 33 for 2) as fonterec
>   , npd.valor as valor
>   , npd.cpfcnpjcredor
>   , cast(npd.numeronld as integer) as "numliq"
>   , npd.numeronpf
>   , npd.numeronpdordinario
>   , exerciciorestosapagar
> from sefaz_ws.npd_nota_pagamento_despesa npd
> left join sefaz_ws.nld_nota_liquidacao_despesa nld
>  on (npd.exercicio = nld.exercicio
>  and npd.unidadegestora = nld.unidadegestora
>  and npd.numeronld = nld.numero)
> left join sefaz_ws.ned_nota_empenho_despesa ned
>  on (nld.exercicio = ned.exercicio
>  and nld.unidadegestora = ned.unidadegestora
>  and nld.numeroned = ned.numero)
> left join sefaz_ws.npf_nota_programacao_financeira npf
>  on (ned.exercicio = npf.exercicio
>  and ned.unidadegestora = npf.unidadegestora
>  and ned.numeronpf = npf.numero)
> left join sefaz_ws.orcamentario_mensal orm
>  on (npd.exercicio = orm.exercicio and npd.unidadegestora =
> orm.unidadegestora and orm.classif_orcam_reduz = CAST(ned.classiforcamreduz
> AS integer))
> order by npd.exercicio, npd.unidadegestora, npd.numero
>
>  resultado do explain analyze
>
> "Unique  (cost=358689.48..389491.06 rows=352018 width=287) (actual
> time=101865.980..107098.130 rows=352018 loops=1)"
> "  ->  Sort  (cost=358689.48..359569.53 rows=352018 width=287) (actual
> time=101865.979..103271.970 rows=2631834 loops=1)"
> "Sort Key: npd.exercicio, npd.unidadegestora, npd.numero,
> npd.numeronld, nld.numero, nld.numeroned, ned.numero, ned.numeronpf,
> npf.numero, npf.grupo_fin, orm.cod_tp_orcamento, npd.classiforcamreduz,
> npd.classiforcamcompl, npd.credor, npd.nomecredor, npd.statusmovbancario,
> npd.natureza, npd.codigoretencao, npd.dataemissao, npd.dt_etl,
> npd.servicobancario, npd.bancobeneficiario, npd.agenciabeneficiario,
> npd.contabeneficiario, npd.efeito, ("substring"((ned.classiforcamcompl)::text,
> 24, 8)), ("substring"((ned.classiforcamcompl)::text, 33, 2)), npd.valor,
> npd.cpfcnpjcredor, npd.numeronpf, npd.numeronpdordinario,
> nld.exerciciorestosapagar"
> "Sort Method: external merge  Disk: 731704kB"
> "->  Hash Left Join  (cost=104246.16..279334.81 rows=352018
> width=287) (actual time=1322.332..6808.805 rows=2631834 loops=1)"
> "  Hash Cond: ((npd.exercicio = orm.exercicio) AND
> (npd.unidadegestora = orm.unidadegestora) AND 
> ((ned.classiforcamreduz)::integer
> = orm.classif_orcam_reduz))"
> "  ->  Merge Left Join  (cost=100158.37..188918.69 rows=352018
> width=290) (actual time=1295.093..3653.514 rows=352018 loops=1)"
> "Merge Cond: ((npd.unidadegestora =
> nld.unidadegestora) AND (npd.exercicio = nld

[pgbr-geral] tutorial e dicas de explain analyze

2017-09-22 Por tôpico Luiz Henrique
roned on
nld_nota_liquidacao_despesa nld  (cost=0.00..23405.46 rows=198865 width=21)
(actual time=0.008..77.818 rows=198865 loops=1)"
"->  Sort  (cost=54937.55..55372.62
rows=174029 width=70) (actual time=749.864..771.572 rows=200712 loops=1)"
"  Sort Key: ned.unidadegestora,
ned.exercicio, ned.numero"
"  Sort Method: quicksort  Memory:
30617kB"
"  ->  Merge Right Join
(cost=28198.62..39789.22 rows=174029 width=70) (actual
time=363.928..494.100 rows=174029 loops=1)"
"Merge Cond: ((npf.exercicio =
ned.exercicio) AND (npf.unidadegestora = ned.unidadegestora) AND
(npf.numero = ned.numeronpf))"
"->  Index Scan using
npf_nota_programacao_financeira_idx on npf_nota_programacao_financeira npf
(cost=0.00..7688.10 rows=100339 width=15) (actual time=0.008..30.949
rows=100339 loops=1)"
"->  Sort
(cost=28198.62..28633.69 rows=174029 width=63) (actual
time=363.906..384.312 rows=174029 loops=1)"
"  Sort Key: ned.exercicio,
ned.unidadegestora, ned.numeronpf"
"  Sort Method: quicksort
Memory: 30617kB"
"  ->  Seq Scan on
ned_nota_empenho_despesa ned  (cost=0.00..13050.29 rows=174029 width=63)
(actual time=0.003..63.878 rows=174029 loops=1)"
"  ->  Hash  (cost=2991.47..2991.47 rows=62647 width=14)
(actual time=27.200..27.200 rows=62647 loops=1)"
"Buckets: 8192  Batches: 1  Memory Usage: 2937kB"
"->  Seq Scan on orcamentario_mensal orm
(cost=0.00..2991.47 rows=62647 width=14) (actual time=0.006..15.844
rows=62647 loops=1)"
"Total runtime: 107298.538 ms"







-- 
Atenciosamente,

Luiz Henrique
"In Medium Est Virtus!"
"A Virtude está no meio!"
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Transferir Banco Postgres para outra máquina

2017-06-24 Por tôpico Luiz Henrique
Tiago,

Desejo transferir de forma definitiva.

<https://www.avast.com/sig-email?utm_medium=email_source=link_campaign=sig-email_content=webmail>
Livre
de vírus. www.avast.com
<https://www.avast.com/sig-email?utm_medium=email_source=link_campaign=sig-email_content=webmail>.
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>

Em 23 de junho de 2017 14:33, Tiago José Adami <adam...@gmail.com> escreveu:

> Em 23 de junho de 2017 13:56, Luiz Henrique
> <luiz.henriqu...@gmail.com> escreveu:
> > Mestres!
> >
> > Gostaria de dicas/sugestões de como transferir Banco Postgres para outra
> > máquina.
> > Segue detalhes
> >
> > Ambiente Linux CentOS 6
> > Postgres 9.1
> > Somente 1 Database, tamanho 415 GB
> > Peculiaridade : 95% desse tamanho são binários de arquivos anexados ao
> banco
> > Atualmente o pg_dump leva 22h para terminar
> >
> > Eu preciso transferir esse banco (no menor tempo possível) para outro
> > equipamento similar.
> >
> > Favor sugerir dicas da melhor forma que os senhores indicam
> >
> > 1 - pg_dumpall - pg_restore ?
> > 2 - recursos de replicação ?
> > 3 - rsync ?
> > 4 - outros métodos ???
> >
>
> Você quer transferir o banco de dados permanentemente uma única vez ou
> manter uma cópia atualizada em outro local/servidor?
>
> Tiago J. Adami
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
Atenciosamente,

Luiz Henrique
"In Medium Est Virtus!"
"A Virtude está no meio!"
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] Transferir Banco Postgres para outra máquina

2017-06-23 Por tôpico Luiz Henrique
Mestres!

Gostaria de dicas/sugestões de como transferir Banco Postgres para outra
máquina.
Segue detalhes

Ambiente Linux CentOS 6
Postgres 9.1
Somente 1 Database, tamanho 415 GB
Peculiaridade : 95% desse tamanho são binários de arquivos anexados ao banco
Atualmente o pg_dump leva 22h para terminar

Eu preciso transferir esse banco (no menor tempo possível) para outro
equipamento similar.

Favor sugerir dicas da melhor forma que os senhores indicam

1 - pg_dumpall - pg_restore ?
2 - recursos de replicação ?
3 - rsync ?
4 - outros métodos ???

Fico muito grato pela ajuda! Obrigado



-- 
Atenciosamente,

Luiz Henrique
"In Medium Est Virtus!"
"A Virtude está no meio!"
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] mensagem de erro: out of memory while reading tuples

2017-04-12 Por tôpico Luiz Henrique
Pessoal,

Temos aplicação Cliente/Servidor (Delphi com postgresql 8). De uns 5 dias
para cá vem aparecendo a msg. abaixo na tela da aplicação

"insufficient memory for this operation"
"out of memory while reading tuples"

Que parâmetros no banco eu posso ajustar para contornar ?

Obrigado a todos que poderem ajudar



Livre
de vírus. www.avast.com
.
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] Duvidas com encoding UTF8 x LATIN1

2017-03-29 Por tôpico Luiz Henrique
Pessoal,

Estou iniciando testes no linux com Postgresql 9.4.Por questões de
compatibilidade com aplicação Delphi os bancos precisam estar em LATIN1.
Criei o banco em LATIN1. Na console psql aparece o erro ao testar o insert
abaixo:

insert into pessoa(pes_codpes,pes_nome) values ('50200','GIRÃO');

ERROR:  invalid byte sequence for encoding "UTF8": 0xc3 0x4f

Tem algum parâmetro que eu preciso configurar ?

Obrigado pela ajuda!




-- 
Atenciosamente,

Luiz Henrique
"In Medium Est Virtus!"
"A Virtude está no meio!"

<https://www.avast.com/sig-email?utm_medium=email_source=link_campaign=sig-email_content=webmail>
Livre
de vírus. www.avast.com
<https://www.avast.com/sig-email?utm_medium=email_source=link_campaign=sig-email_content=webmail>.
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] execução de checkpoint constantes

2016-12-21 Por tôpico Luiz Henrique
Prezados,

Temos Postgresql 9.1 no Linux CentOS. Analisando o log observamos a
execução do checkpoint diversas (muitas) vezes ao dia durante pequenos
espaço de tempo (5 minutos em média). Estou com suspeita que a aplicação
esta sendo impactada durante o processo.

LOG:  checkpoint starting: time
LOG:  checkpoint complete:

Atualmente, no postgresql.conf está assim :

checkpoint_segments = 32
checkpoint_timeout = 30min
checkpoint_completion_target = 0.9
#checkpoint_warning = 30s
log_checkpoints = on

Dúvidas :

1.isso é saudável ?
2.pode atrapalhar a performance do banco ?
3.que parâmetro (e como) eu devo alterar para "aumentar/esticar" o tempo
entre cada checkpoint ?

Agradeço pelas dicas!!!
Grato!

-- 
Atenciosamente,
Luiz Henrique
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] dúvida alteração de parâmetros postgresql.conf

2016-12-16 Por tôpico Luiz Henrique
Pessoal,

Tenho Postgresql 9.1 rodando em CentOS. 2 dúvidas em relação a alterações
no postgresql.conf

1. após realizar alteração no postgresql.conf e aplicar o reload
(/etc/init.d/postgresql reload), caso algum parâmetro tenha sido colocado
ou alterado de forma incorreta. O banco vai parar ou rejeitar a alteração ?
Reload não vai acontecer ?

2. a alteração do parâmetro max_connections exige restart ou basta reload ?

Grato pela ajuda!

Abs!

Luiz Henrique
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] armazenamento de imagens no Banco x File System

2016-10-24 Por tôpico Luiz Henrique
Com relação a ferramentas, o que você quis dizer? Não entendi.

Flavio,

Obrigado pelo retorno. Em relação a ferramentas, é sobre a forma de como
gravar em file system, sei que existem ferramentas tipo GED (gestão
eletronica de documentos) que se propõe a fazer isso, tipo ALFRESCO.
Gostaria de conhecer outras...



Em 24 de outubro de 2016 09:54, Flávio Silveira <f...@terra.com.br>
escreveu:

> On 24/10/2016 09:50, Luiz Henrique wrote:
>
>> Pessoal,
>>
>> Temos uma aplicação jboss que recebemos como "herança", ela armazena
>> diversos arquivos de imagens (jpeg,bmp,etc). Essa tabela com os binários
>> representa mais que 90% do tamanho total do banco, hoje com 210GB.
>>
>> Aí vem a pergunta. O que os participantes do grupo acham dessa prática ?
>> O que é mais indicado, gravar arquivos em file system ou no próprio banco ?
>> Sendo file system vocês tem sugestão de ferramentas ?
>>
> Bom dia,
>
>   Apesar de me considerar inexperiente para opinar, considero que nesses
> casos se deve gravar somente o caminho do arquivo no banco e o arquivo em
> si no sistema de arquivos.
>
>   Com relação a ferramentas, o que você quis dizer? Não entendi.
>
>   Espero ter ajudado.
>
> Atenciosamente,
>   Flávio Silveira
>
>
>
>> Gostaria da opinião dos colegas. Obrigado!
>>
>> --
>> Atenciosamente,
>>
>> Luiz Henrique
>>
>> “A coruja de Minerva alça seu vôo somente com o início do crepúsculo”.
>> Friedrich Hegel
>>
>>
>> ___
>> pgbr-geral mailing list
>> pgbr-geral@listas.postgresql.org.br
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




-- 
Atenciosamente,

Luiz Henrique

“A coruja de Minerva alça seu vôo somente com o início do crepúsculo”.
Friedrich Hegel
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] armazenamento de imagens no Banco x File System

2016-10-24 Por tôpico Luiz Henrique
Pessoal,

Temos uma aplicação jboss que recebemos como "herança", ela armazena
diversos arquivos de imagens (jpeg,bmp,etc). Essa tabela com os binários
representa mais que 90% do tamanho total do banco, hoje com 210GB.

Aí vem a pergunta. O que os participantes do grupo acham dessa prática ? O
que é mais indicado, gravar arquivos em file system ou no próprio banco ?
Sendo file system vocês tem sugestão de ferramentas ?

Gostaria da opinião dos colegas. Obrigado!

-- 
Atenciosamente,

Luiz Henrique

“A coruja de Minerva alça seu vôo somente com o início do crepúsculo”.
Friedrich Hegel
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] vacuum analyze por tabela

2016-09-16 Por tôpico Luiz Henrique
Pessoal,

Quando saber que preciso executar vacuum analyze individual por tabela ?
Que parâmetros / estatísticas procurar para indicar que a tabela merece um
vacuum ?
Alguem tem / recomenda um select que lista isso ?
Obrigado!
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] Muitas ocorrências no LOG : postgres temporary file: path ...

2016-09-13 Por tôpico Luiz Henrique
Pessoal,

Estou vendo muitas mensagens (logo abaixo) no log PostgreSQL. Sei que é
utilização do disco ao invés da memória. É muito constante, praticamente
direto a cada minuto!

Vocês poderiam me ajudar a diagnosticar ?
Como reduzir ?
O que fazer para melhorar ?
O que seria um número aceitável ?

Segue abaixo alguns parametros no postgresql.conf. Obrigado pelas dicas!

Dados do S.O.

Linux CentOS
Postgresql 9.1

Dados da Lâmina :

SUN MICROSYSTEMS SUN BLADE X6270 M2 SERVER
Intel(R) Xeon(R) CPU E5620 2.40GHz
RAM 70 GB
Filesystem  Size  Used Avail Use% Mounted on
/dev/sda2   9.8G  1.3G  8.1G  14% /
tmpfs36G 0   36G   0% /dev/shm
/dev/sda1   488M   67M  396M  15% /boot
/dev/sda5   256G  5.8G  237G   3% /var
/dev/sdd1   493G  312G  156G  67% /var/lib/pgsql
/dev/sde1   985G  650G  285G  70% /var/backups

Postgresql.conf

shared_buffers = 32GB
temp_buffers = 48MB
work_mem = 16MB
maintenance_work_mem = 512MB
effective_cache_size = 45GB

Trecho do log :

2016-09-13 13:23:02 BRT [18063]: [33-1] user=xyz,db=xyz,client=a.b.c.d
LOG:  temporary file: path "base/pgsql_tmp/pgsql_tmp18063.15", size 10019576
2016-09-13 13:23:03 BRT [18063]: [35-1] user=xyz,db=xyz,client=a.b.c.d
LOG:  temporary file: path "base/pgsql_tmp/pgsql_tmp18063.16", size 10443496
2016-09-13 13:23:04 BRT [18063]: [37-1] user=xyz,db=xyz,client=a.b.c.d
LOG:  temporary file: path "base/pgsql_tmp/pgsql_tmp18063.17", size 10019576
2016-09-13 13:23:05 BRT [18063]: [39-1] user=xyz,db=xyz,client=a.b.c.d
LOG:  temporary file: path "base/pgsql_tmp/pgsql_tmp18063.18", size 10443496
2016-09-13 13:23:06 BRT [18063]: [41-1] user=xyz,db=xyz,client=a.b.c.d
LOG:  temporary file: path "base/pgsql_tmp/pgsql_tmp18063.19", size 10019576
2016-09-13 13:23:07 BRT [18063]: [43-1] user=xyz,db=xyz,client=a.b.c.d
LOG:  temporary file: path "base/pgsql_tmp/pgsql_tmp18063.20", size 10443496
2016-09-13 13:23:07 BRT [18063]: [45-1] user=xyz,db=xyz,client=a.b.c.d
LOG:  temporary file: path "base/pgsql_tmp/pgsql_tmp18063.21", size 10019576
2016-09-13 13:23:08 BRT [18063]: [47-1] user=xyz,db=xyz,client=a.b.c.d
LOG:  temporary file: path "base/pgsql_tmp/pgsql_tmp18063.22", size 10443496
2016-09-13 13:23:09 BRT [18063]: [49-1] user=xyz,db=xyz,client=a.b.c.d
LOG:  temporary file: path "base/pgsql_tmp/pgsql_tmp18063.23", size 10019576
2016-09-13 13:23:32 BRT [18063]: [51-1] user=xyz,db=xyz,client=a.b.c.d
LOG:  temporary file: path "base/pgsql_tmp/pgsql_tmp18063.24", size 10443496
2016-09-13 13:23:32 BRT [18063]: [53-1] user=xyz,db=xyz,client=a.b.c.d
LOG:  temporary file: path "base/pgsql_tmp/pgsql_tmp18063.25", size 10019576
2016-09-13 13:25:19 BRT [17440]: [28-1] user=xyz,db=xyz,client=a.b.c.d
LOG:  temporary file: path "base/pgsql_tmp/pgsql_tmp17440.10", size 53116928

-- 
Atenciosamente,

Luiz Henrique

“A coruja de Minerva alça seu vôo somente com o início do crepúsculo”.
Friedrich Hegel
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] quando usar vacuum full analyze

2016-09-01 Por tôpico Luiz Henrique
Euler,

Segue anexo os planos da consulta. Obrigado pela ajuda



Em 31 de agosto de 2016 22:21, Euler Taveira <eu...@timbira.com.br>
escreveu:

> On 31-08-2016 20:22, Luiz Henrique wrote:
> > Estou com problema de lentidão em uma determinada consulta no banco de
> > produção (centos linux postgresql 9.1). Tempo de 1 minuto em produção.
> > No ambiente de homologação leva cerca de 3s. O banco de produção é
> > copiado diariamente para homologação (em homol eu faço : dropdb,
> > createdb e pg_restore). Ambientes prod e homol praticamente iguais.
> > Pergunta :
> >
> > o vacuum full analyze pode resolver meu problema ?
> >
> Sim. É como matar uma mosca com uma 12.
>
> > quando usar vacuum full analyze ?
> >
> (quase) nunca. Só em casos extremos de inchaço (não sei se esse é o seu
> problema já que não apresentou informações).
>
> > alguma dica ou pista de como identificar a causa ?
> >
> Comece por mostrar os planos da consulta na produção e na homologação.
>
>
> --
>Euler Taveira   Timbira - http://www.timbira.com.br/
>PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




-- 
Atenciosamente,

Luiz Henrique

“A coruja de Minerva alça seu vôo somente com o início do crepúsculo”.
Friedrich Hegel
Pessoal,

A consulta é essa:

select distinct obt.id, obt.version , 
numero_obt as numeroObt, obt.data_cadastro as dataCadastroObt, 
data_tipo as dataTipo, valor_obt as valorObt, tob.nome as 
tipoOrdemBancariaNome, 
vps.nome as parceiro, fp.nome_razao_social as fornecedorParceiro, i.id as 
idInstrumento--, 
--max(acomp_gestor.data_cadastro) as ultimaAnaliseGestor, 
max(acomp_col.data_cadastro) as ultimaAnaliseColaborador 
from s2gpr_mcc.ordem_bancaria obt 
inner join s2gpr_mcc.instrumento i on i.id = obt.id_instrumento 
inner join s2gpr_mcc.tipo_ordem_bancaria tob on tob.id = 
obt.id_tipo_ordem_bancaria 
inner join s2gpr_mcc.vi_parceiro_situacao vps on vps.id = obt.id_parceiro 
left join s2gpr_mcc.fornecedor_parceiro fp on fp.id = 
obt.id_fornecedor_parceiro 
left join s2gpr_mcc.acompanhamento acomp_gestor on 
acomp_gestor.id_ordem_bancaria = obt.id 
and acomp_gestor.id_tipo_acompanhamento_ator = 1 
left join s2gpr_mcc.acompanhamento acomp_col on acomp_col.id_ordem_bancaria = 
obt.id and acomp_col.id_tipo_acompanhamento_ator = 2 
where i.numero = '968340' and id_situacao_ordem_bancaria = 5 and 
acomp_gestor.data_cadastro is null 
--group by obt.id, numero_obt, obt.data_cadastro, data_tipo, valor_obt, 
tob.nome, vps.nome, fp.nome_razao_social, i.id 
order by obt.id limit 5 offset 0 

PLANO EM PRODUCAO

"Limit  (cost=23012.24..23012.27 rows=1 width=150) (actual 
time=131530.596..131530.614 rows=5 loops=1)"
"  ->  Unique  (cost=23012.24..23012.27 rows=1 width=150) (actual 
time=131530.596..131530.613 rows=5 loops=1)"
"->  Sort  (cost=23012.24..23012.25 rows=1 width=150) (actual 
time=131530.594..131530.595 rows=5 loops=1)"
"  Sort Key: obt.id, obt.version, obt.numero_obt, 
obt.data_cadastro, obt.data_tipo, obt.valor_obt, tob.nome, "*SELECT* 1".nome, 
fp.nome_razao_social, i.id"
"  Sort Method: quicksort  Memory: 293kB"
"  ->  Nested Loop Left Join  (cost=3682.33..23012.23 rows=1 
width=150) (actual time=168.595..131525.268 rows=1009 loops=1)"
"Join Filter: (acomp_col.id_ordem_bancaria = obt.id)"
"->  Nested Loop Left Join  (cost=3682.33..21063.45 rows=1 
width=150) (actual time=154.918..120925.273 rows=998 loops=1)"
"  ->  Nested Loop  (cost=3682.33..21063.13 rows=1 
width=128) (actual time=154.896..120906.475 rows=998 loops=1)"
"Join Filter: (obt.id_parceiro = "*SELECT* 
1".id)"
"->  Nested Loop  (cost=1570.57..3430.41 rows=1 
width=105) (actual time=23.695..43.001 rows=998 loops=1)"
"  ->  Hash Right Join  
(cost=1570.57..3430.13 rows=1 width=80) (actual time=23.679..26.522 rows=998 
loops=1)"
"Hash Cond: 
(acomp_gestor.id_ordem_bancaria = obt.id)"
"Filter: 
(acomp_gestor.data_cadastro IS NULL)"
"->  Seq Scan on acompanhamento 
acomp_gestor  (cost=0.00..1816.54 rows=11463 width=16) (actual 
time=0.006..10.454 rows=11602 loops=1)"
"  Filter: 
(id_tipo_acompanhamento_ator = 1)"
"   

[pgbr-geral] quando usar vacuum full analyze

2016-08-31 Por tôpico Luiz Henrique
Pessoal,

Estou com problema de lentidão em uma determinada consulta no banco de
produção (centos linux postgresql 9.1). Tempo de 1 minuto em produção. No
ambiente de homologação leva cerca de 3s. O banco de produção é copiado
diariamente para homologação (em homol eu faço : dropdb, createdb e
pg_restore). Ambientes prod e homol praticamente iguais. Pergunta :

o vacuum full analyze pode resolver meu problema ?
quando usar vacuum full analyze ?
alguma dica ou pista de como identificar a causa ?
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] alterar encoding durante uma VIEW

2016-08-10 Por tôpico Luiz Henrique
Pessoal,

Tenho a seguinte situação : meu postgres 9.1 LINUX CENTOS tem encoding
UTF8. Ao criar uma view para ser utilizada no MS Office (tabela dinâmica
excel) dá erro de codificação (erro na tabela dinâmica excel ao utilizar a
view). Até onde eu entendi é necessário alterar o encoding para WIN1252 ou
LATIN1 (por exemplo). Dúvida : como eu posso , em tempo de execução da
VIEW, alterar o ENCODING ? É possivel ?

Grato a todos!


-- 
Atenciosamente,

Luiz Henrique

“A coruja de Minerva alça seu vôo somente com o início do crepúsculo”.
Friedrich Hegel
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] problema com campos date apos restore

2016-05-02 Por tôpico Luiz Henrique
Pessoal,

Estou enfrentando problemas com campos tipo data após a restauração de um
banco postgres 8.2.17

O campo é esse : datmov timestamp with time zone,

No cliente está assim :

2015-03-31 00:00:00-03
2015-06-30 00:00:00-03
2015-09-30 00:00:00-03

Após restaurar o dump em outro servidor fica assim :

2015-03-30 23:00:00-03
2015-06-29 23:00:00-03
2015-09-29 23:00:00-03

A data volta em 1 dia (hora fica como 23:00:00-03)

o comando para restore foi : psql -U postgres banco-cliente <
dump-cliente.sql

o ambiente é linux e já revisei o postgresql.conf de ambos servidores e
estão iguais.

Pergunta : por que isso acontece ? tem a ver com timezone ? como resolver ?
Algum link que possa orientar ?

Grato a todos!


-- 
Atenciosamente,

Luiz Henrique

“A coruja de Minerva alça seu vôo somente com o início do crepúsculo”.
Friedrich Hegel

<https://www.avast.com/sig-email?utm_medium=email_source=link_campaign=sig-email_content=webmail>
Livre
de vírus. www.avast.com
<https://www.avast.com/sig-email?utm_medium=email_source=link_campaign=sig-email_content=webmail>.
<#DDB4FAA8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Migrando Postgresql que versão usar ?

2016-04-13 Por tôpico Luiz Henrique
Considero minha dúvida esclarecida. Vou para 9.5. Tanto no Linux como
Windows
Obrigado a todos da comunidade!


Em 13 de abril de 2016 13:02, Izaque Maciel <izaquemac...@gmail.com>
escreveu:

>
> Em 13 de abril de 2016 12:55, Guimarães Faria Corcete DUTRA, Leandro <
> l...@dutras.org> escreveu:
>
>> 2016-04-13 9:52 GMT-03:00 Raphael Coutinho <raphael.couti...@dbmax.com.br
>> >:
>> >
>> >> >Eu optaria pela versão 9.4.
>> >>
>> >> Por quê?
>> >
>> > Sempre fico meio pé atrás com últimas versões.
>>
>> Não generalize, por favor.  O PostgreSQL tem uma qualidade tanto de
>> base de código quanto de processo de atualização inigualável.
>>
>> E leve em conta o processo.  Α 9.5 não foi lançada hoje de manhã, já
>> está sendo amplamente usada e não tem defeitos graves conhecidos, ao
>> contrário da concorrência.  A transparência no tratamento de defeitos
>> também é total.  E o consulente está planejando uma migração; até ela
>> ir para produção, certamente a segurança com a 9.5 já estará ainda
>> mais estabelecida do que já está, e que já é suficiente para qualquer
>> aplicativo Delphi que eu consiga imaginar.
>>
>>
>> --
>> skype:leandro.gfc.dutra?chat  Yahoo!: ymsgr:sendIM?lgcdutra
>> +55 (61) 3546 7191  gTalk: xmpp:leand...@jabber.org
>> +55 (61) 9302 2691ICQ/AIM: aim:GoIM?screenname=61287803
>> BRAZIL GMT−3  MSN: msnim:chat?contact=lean...@dutra.fastmail.fm
>> ___
>> pgbr-geral mailing list
>> pgbr-geral@listas.postgresql.org.br
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>
>
> Utilizo a versão 9.5 com a última versão do delphi, Delphi Seattle Update
> 1, e não há nenhuma avaria por parte do PostgreSQL.
> PostgreSQL é só alegria.
>
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
Atenciosamente,

Luiz Henrique

"Há 3 motivos para o sucesso:
1-Ensinar o que se sabe;
2-Praticar o que se ensina;
3-Perguntar o que se ignora"
São Beda (adaptado)
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Migrando Postgresql que versão usar ?

2016-04-13 Por tôpico Luiz Henrique
Você terá que, obrigatoriamente, se preocupar com charset/encoding. Qual
versão do delphi você utiliza, e qual o encoding de sua base atualmente?

Delphi 2007 e encoding LATIN1



Em 13 de abril de 2016 09:52, Raphael Coutinho <
raphael.couti...@dbmax.com.br> escreveu:

>
>
> Em 13 de abril de 2016 09:31, Leandro Guimarães Faria Corcete DUTRA <
> l...@dutras.org> escreveu:
>
>> Le 13 avril 2016 09:25:44 GMT-03:00, Raphael Coutinho <
>> rcoutosi...@gmail.com> a écrit :
>> >Em 13/04/2016 9:23 AM, "Luiz Henrique" <luiz.henriqu...@gmail.com>
>> >escreveu:
>> >> A dúvida : para qual versão os colegas sugerem migrar ? posso ir
>> >direto para mais nova ? 9.5 ?
>>
>> Pode.  E deve.
>>
>>
>> >Eu optaria pela versão 9.4.
>>
>> Por quê?
>>
>> ​Sempre fico meio pé atrás com últimas versões.
>>
>>
>>
>>
>> --
>> skype:leandro.gfc.dutra?chat  Yahoo!: ymsgr:sendIM?lgcdutra
>> +55 (61) 3546 7191 (Net)gTalk: xmpp:leand...@jabber.org
>> +55 (61) 9302 2691 (Vivo) ICQ/AIM: aim:GoIM?screenname=61287803
>> BRAZIL GMT−3  MSN: msnim:chat?contact=lean...@dutra.fastmail.fm
>> ___
>> pgbr-geral mailing list
>> pgbr-geral@listas.postgresql.org.br
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>
>
>
> --
> [image: DBMax - Intelgências Estratégica] Raphael Coutinho
> +55 (21) 3114-8869 +55 (21) 96465-9823
> raphael.couti...@dbmax.com.br <http://www.dbmax.com.br/>
> www.dbmax.com.br
> [image: Facebook DBMax]
> <http://www.facebook.com/DBMax.Inteligencia.Estrategica> [image: Twitter
> DBMax] <http://twitter.com/DBMax_IE> [image: Blog DBMax]
> <http://dbmax.com.br/blog/>
>
>
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
Atenciosamente,

Luiz Henrique

"Há 3 motivos para o sucesso:
1-Ensinar o que se sabe;
2-Praticar o que se ensina;
3-Perguntar o que se ignora"
São Beda (adaptado)
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] Migrando Postgresql que versão usar ?

2016-04-13 Por tôpico Luiz Henrique
Pessoal,

Trabalho com aplicação Delphi cliente servidor usando postgres 8.2.17
Vou iniciar estudos de migração para versão 9
A dúvida : para qual versão os colegas sugerem migrar ? posso ir direto
para mais nova ? 9.5 ?
Ou algo mais conservador ? tipo 9.1 ou 9.3 ?
Alguem sugere tutorial ?
A aplicação não usa nada de específico no banco, operações básicas mesmo.
Sem triger, functions,etc. Obrigado pela dica!


-- 
Atenciosamente,

Luiz Henrique

"Há 3 motivos para o sucesso:
1-Ensinar o que se sabe;
2-Praticar o que se ensina;
3-Perguntar o que se ignora"
São Beda (adaptado)
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] listar associação dos databases com a pasta base

2016-03-04 Por tôpico Luiz Henrique
Obrigado pelo retorno

Mateus, é curiosidade mesmo!

Em 4 de março de 2016 15:49, Matheus de Oliveira <matioli.math...@gmail.com>
escreveu:

>
> 2016-03-04 14:57 GMT-03:00 Luiz Henrique <luiz.henriqu...@gmail.com>:
>
>> 1.Cada pasta indica um database ?
>>
>
> Sim.
>
>
>> 2.Como relacionar/identificar cada pasta com seu respectivo database ?
>>
>
> Esse número indica o `pg_database.oid`, por exemplo, para encontrar qual
> base se referencia o diretório `6681487`:
>
> SELECT datname FROM pg_database WHERE oid = 6681487;
>
> Lembre-se também que alguns bancos de dados podem estar em tablespaces, se
> estiver investigando o layout lembre-se de analisar os tablespaces (links
> simbólicos no diretório pg_tblspc).
>
> Ah, pergunta: por que se importa com isso? (apenas para
> conhecimento/estudo é um resposta perfeitamente aceitável, ;)
>
> Dependendo do que queira fazer (espaço em disco por exemplo), existem
> maneiras de se analisar via SQL.
>
> Atenciosamente,
> --
> Matheus de Oliveira
>
>
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
Atenciosamente,

Luiz Henrique

"Há 3 motivos para o sucesso:
1-Ensinar o que se sabe;
2-Praticar o que se ensina;
3-Perguntar o que se ignora"
São Beda (adaptado)
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] listar associação dos databases com a pasta base

2016-03-04 Por tôpico Luiz Henrique
Pessoal,

Acredito que essa dúvida já passou por aqui. Assumindo a listagem conforme
abaixo :

drwx-- 2 postgres postgres  12K Mar  4 03:13 1
drwx-- 2 postgres postgres  80K Mar  4 03:13 10171882
drwx-- 2 postgres postgres  92K Mar  4 03:12 10186148
drwx-- 2 postgres postgres  88K Mar  4 03:14 10430115
drwx-- 2 postgres postgres  80K Mar  4 03:12 10512134
drwx-- 2 postgres postgres  76K Mar  4 03:11 10527482
drwx-- 2 postgres postgres 4.0K Dec  8  2014 12772
drwx-- 2 postgres postgres 4.0K Mar  4 03:12 12780
drwx-- 2 postgres postgres  36K Mar  4 03:05 16384
drwx-- 2 postgres postgres  20K Mar  4 03:11 4250110
drwx-- 2 postgres postgres  40K Mar  4 03:04 4698333
drwx-- 2 postgres postgres 112K Mar  4 08:58 4951010
drwx-- 2 postgres postgres  88K Mar  4 03:00 5192007
drwx-- 2 postgres postgres  24K Mar  4 03:04 5781213
drwx-- 2 postgres postgres  36K Mar  4 03:13 6681487
drwx-- 2 postgres postgres  76K Mar  4 03:11 7190737

1.Cada pasta indica um database ?
2.Como relacionar/identificar cada pasta com seu respectivo database ?

Grato a todos!



-- 
Atenciosamente,

Luiz Henrique

"Há 3 motivos para o sucesso:
1-Ensinar o que se sabe;
2-Praticar o que se ensina;
3-Perguntar o que se ignora"
São Beda (adaptado)
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] parametro maintenance_work_mem

2016-03-01 Por tôpico Luiz Henrique
Pessoal,

Temos uma aplicação JBOSS que frequentemente apresenta a mensagem de log
conforme abaixo. As vezes causa lentidão no uso da aplicação. Desconfio que
o parâmetro maintenance_work_mem esteja "tímido", muito pequeno. Gostaria
da sugestão dos colegas, obrigado!

*** log do postgresql

LOG:  temporary file: path "base/pgsql_tmp/pgsql_tmp7263.54", size 1622016

*** log da aplicação JBOSS

[org.hibernate.util.JDBCExceptionReporter] (ajp-172.24.2.38-8209-22) SQL
Warning: 0, SQLState: 0
[org.hibernate.util.JDBCExceptionReporter] (ajp-172.24.2.38-8209-22)
temporary file: path "base/pgsql_tmp/pgsql_tmp10141.12", size 1622016

*** parametro do postgresql.conf

maintenance_work_mem = 512MB


-- 
Atenciosamente,

Luiz Henrique
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] Backup-Restore incremental

2016-01-29 Por tôpico Luiz Henrique
Pessoal,

Tenho Postgresql 9.1, Linux CentOS. 5 Databases. 1 Database tem 254
GB.Preciso levar diariamente somente esse Database (254 GB) para outro
servidor (homologação).O tempo de pg_dump / pg_restore leva cerca de
8h.Procuro alternativas para atualizar somente as diferenças do dia
anterior. Sugestões e dicas serão muito bem vindas.
Grato!

-- 
Atenciosamente,

Luiz Henrique

"Há 3 motivos para o sucesso:
1-Ensinar o que se sabe;
2-Praticar o que se ensina;
3-Perguntar o que se ignora"
São Beda (adaptado)
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] replicação seletiva de database produção para homologação

2015-10-27 Por tôpico Luiz Henrique
Sebastian,

Atualmente é o que eu estou fazendo, dump...restore. O Problema é o tempo,
2h para o dump e 6h para restore. Por isso estou procurando outras
alternativas...

Abs



Em 27 de outubro de 2015 13:11, Sebastian Webber <sebast...@swebber.me>
escreveu:

>
>
> Em 26 de outubro de 2015 15:07, Luiz Henrique <luiz.henriqu...@gmail.com>
> escreveu:
>
>> Pessoal,
>>
>
> Boa tarde!
>
>
>>
>> Gostaria de dicas/sugestões como posso implementar a demanda abaixo :
>>
>> * tenho servidor linux centos dedicado com postgresql 9.1 em produção
>> * tenho servidor linux centos dedicado com postgresql 9.1 em homologação
>>
>> preciso replicar periodicamente (pelo menos 2x na semana) somente um
>> database de produção para homologação.
>>
>
> Dump e restore parece ser a solução mais simples. Você já tentou
> implementar algo através dele?
>
> --
> Sebastian Webber
> http://swebber.me
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
Atenciosamente,

Luiz Henrique

"Virtus in medium est"
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] select para retornar DIA da semana em portugues

2015-05-06 Por tôpico Luiz Henrique
Pessoal,

Preciso de uma função que retorne o DIA da semana em portugues. Encontrei a
solução da seguinte forma :

select to_char(date'2015-05-05','TMDay') as dia;
   dia
-
 Tuesday
(1 row)

Sem o 'TM' (translation mode) retorna a mesma coisa, em ingles :

select to_char(date'2015-05-05','Day') as dia;
dia
---
 Tuesday
(1 row)

Não retorna em Portugues, segue abaixo alguns dados do meu ambiente
postgresql

Linux Ubuntu 12.04
versão postgresql : 8.2.17
# locale
salt@ubuntu:/mnt/hd2/opt/dados/temp$ locale
LANG=pt_BR.UTF-8
LANGUAGE=pt_BR:pt:en
LC_CTYPE=pt_BR.UTF-8
LC_NUMERIC=pt_BR
LC_TIME=pt_BR
LC_COLLATE=pt_BR.UTF-8
LC_MONETARY=pt_BR
LC_MESSAGES=pt_BR.UTF-8
LC_PAPER=pt_BR
LC_NAME=pt_BR
LC_ADDRESS=pt_BR
LC_TELEPHONE=pt_BR
LC_MEASUREMENT=pt_BR
LC_IDENTIFICATION=pt_BR
LC_ALL=

set lc_time='pt_BR.UTF8';
SET
set lc_messages='pt_BR.UTF8';
SET

Alguma dica ?

-- 
Atenciosamente,

Luiz Henrique

Virtus in medium est
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] off-topic nao estou recebendo email da lista desde segunda-feira 04-06-15

2015-05-06 Por tôpico Luiz Henrique
pessoal,

não estou recebendo email da lista desde segunda-feira 04-06-15
alguém está com esse problema tb. ?

-- 
Atenciosamente,

Luiz Henrique

Virtus in medium est
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] off-topic nao estou recebendo email da lista desde segunda-feira 04-06-15

2015-05-06 Por tôpico Luiz Henrique
Eu também agora estou recebendo muitas mensagens da lista :)

Em 6 de maio de 2015 12:18, Matheus de Oliveira matioli.math...@gmail.com
escreveu:


 2015-05-06 11:12 GMT-03:00 Flavio Henrique Araque Gurgel fha...@gmail.com
 :

 não estou recebendo email da lista desde segunda-feira 04-06-15
 alguém está com esse problema tb. ?


 Pelo jeito houve algum problema com o servidor da lista, acabei de
 receber um caminhão de mensagens atrasadas. A turma que cuida disso deve
 dizer algo em instantes...


 O Fike trocou uma ideia comigo já, foi um problema com o mailman, mas já
 está resolvido.

 Atenciosamente,
 --
 Matheus de Oliveira
 Analista de Banco de Dados
 Dextra Sistemas - MPS.Br nível F!
 www.dextra.com.br/postgres


 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




-- 
Atenciosamente,

Luiz Henrique

Virtus in medium est
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] upgrade postgres 8.2.17 para 9.x

2014-12-24 Por tôpico Luiz Henrique
Prezados,

Gostaria da ajuda dos colegas mais experientes na apresentação de
sugestões, dicas, livros, howtos de como proceder com a migração do
Postgres 8.2.17 (Linux) para 9.x. Tenho aplicativo cliente-servidor
Delphi+BDE(ODBC) em diversos clientes utilizando essa plataforma (8.2.17).
Não utilizo de recursos próprios/exclusivos/nativos do postgres,
praticamente SQL puro. Desde já agradeço pela ajuda

-- 
Atenciosamente,
Luiz Henrique
Virtus in medium est
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] ferramentas de monitoramento do postgres

2014-11-12 Por tôpico Luiz Henrique
Prezados,

Sou iniciante no uso do Postgres para LINUX. Gostaria de recomendações
sobre ferramentas (free) de monitoramento da 'saúde' do banco. Uso de
memória, processamento, carga, queries mais pesadas, etc. Qualquer ajuda
será bem vinda. Grato!

-- 
Atenciosamente,

Luiz Henrique

Virtus in medium est
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] monitorar log postgresql dos desenvolvedores

2014-09-15 Por tôpico Luiz Henrique
Pessoal,

Sou recente no uso do PostgreSQL, tenho equipe de 5 desenvolvedores. eles
tem acesso  livre para criação de tabelas e atributos. Como fazer para
saber o que cada um deles faz no banco de dados ? Grato!

-- 
Atenciosamente,

Luiz Henrique

Virtus in medium est
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] monitorar log postgresql dos desenvolvedores

2014-09-15 Por tôpico Luiz Henrique
​Como estes usuários estão mapeados no banco? Todos utilizam a role
'Postgres'
Cada um tem usuário? por enquanto não, a ideia é que tenham
Eles tem acesso ao superusuário? SIM
Qual versão do PG? 9.1.6 (linux centos)
Desejo auditar a ação de cada um deles
Valeu pela ajuda!

Em 15 de setembro de 2014 16:02, JotaComm jota.c...@gmail.com escreveu:

 Opa,

 Em 15 de setembro de 2014 15:36, Luiz Henrique luiz.henriqu...@gmail.com
 escreveu:

 Pessoal,

 Sou recente no uso do PostgreSQL, tenho equipe de 5 desenvolvedores. eles
 tem acesso  livre para criação de tabelas e atributos. Como fazer para
 saber o que cada um deles faz no banco de dados ? Grato!


 ​Como estes usuários estão mapeados no banco? Cada um tem usuário? Eles
 tem acesso ao superusuário?

 Qual versão do PG? Se for a versão 9.3, você pode usar o recurso de
 eventos.​



 --
 Atenciosamente,

 Luiz Henrique

 Virtus in medium est


 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



 ​Abraços​

 --
 JotaComm
 http://jotacomm.wordpress.com

 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




-- 
Atenciosamente,

Luiz Henrique

Virtus in medium est
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Queda de energia

2013-10-02 Por tôpico Luiz Henrique
sugestão: vacum full analyze


Em 2 de outubro de 2013 13:15, Antonio Cesar cgcesarsoa...@gmail.comescreveu:

 Pessoal tenho um banco que sofreu uma queda de energia no sabado e de la
 para cá esta muito lento.
 SO
 Linux Debin
 Postgresql 9.2
 Maquina XEON com 32 GB de memoria

 alguem pode me ajudar?

 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




-- 
Atenciosamente,

Luiz Henrique

Virtus in medium est
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Utilizando pg_dump no crontab

2013-09-30 Por tôpico Luiz Henrique
sugiro incluir o comando dentro de arquivo de script tipo bkp-postgres.sh.
Ai vc gera um aquivo script com o conteudo do comando. E no crontab voce
faz assim : 0 22 * * * /scripts/bkp-postgres.sh



Em 30 de setembro de 2013 12:18, Euler Taveira eu...@timbira.com.brescreveu:

 On 30-09-2013 11:43, Hugo Quinteiro wrote:
  Executo o comando “/usr/bin/./pg_dump -U postgres -F c
  --file=/etc/publico/backup/$(date +%Y_%m_%d__%H_%M_%S).backup
 basededados” e
  consigo fazer o backup normalmente. Mas ao carregar o comando: “0 22 * *
 *
  /usr/bin/./pg_dump -U postgres -F c --file=/etc/publico/backup/$(date
  +%Y_%m_%d__%H_%M_%S).backup websac”, no crontab o Linux não executa o
  backup.
 
 Você tentou executar esse mesmo comando no shell? Qual foi o resultado?

 Um possível problema pode ser que basededados foi criado em maiúsculo
 (neste caso, precisa de aspas).

 Prefira opções longas (mais descritivas) ao invés de opções curtas.


 --
Euler Taveira   Timbira - http://www.timbira.com.br/
PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




-- 
Atenciosamente,

Luiz Henrique

Virtus in medium est
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Trigger com timestamp

2009-12-22 Por tôpico Quick - Luiz Henrique
Problema resolvido

Muito obrigado



Luiz Henrique Sales

Net2tel
email: luizsa...@net2tel.com.br
http://www.net2tel.com.br
Phone: +55-11-2824-6489
Cell :+55-11-6368-7615



2009/12/22 Osvaldo Kussama osvaldo.kuss...@gmail.com

 2009/12/21 Quick - Luiz Henrique quick...@gmail.com:
  Ola amigos oque pode estar de errado nessa declaração ?
 
  SELECT
  usu_id, cam_id, tlg_id, tel_id, new.duration , tsd_data_spool,
  timestamp new.data_agi - interval new.duration sec  ,new.data_agi

 Senew.data_agi é um string representando um timestamp e
 new.duration é a quantidade de segundos creio que a sintaxe correta
 é:
 new.data_agi::timestamp - new.duration*'1 second'::interval


  FROM tosend  where tsd_id = cast(new.clid as integer);
 
 
  Mas se eu coloco os valores como abaixo a função não da erro!
 
  SELECT
  usu_id, cam_id, tlg_id, tel_id, new.duration , tsd_data_spool,
  timestamp ''2009-12-21 18:00:00''  - interval '' 20 sec''  ,new.data_agi
  FROM tosend  where tsd_id = cast(new.clid as integer);
 
 
 
 
  Erro:
 
  ERRO:  erro de sintaxe em ou próximo a $2
  LINE 1: ...tlg_id, tel_id,  $1  , tsd_data_spool, timestamp  $2  -
 inte...
   ^
  SQL state: 42601
  Contexto: SQL statement in PL/PgSQL function ligacoes near line 16
 

 Não dá para dizer muito mais sem o contexto desse SELECT.
 De qualquer forma não seria pelo menos um SELECT INTO?

 Osvaldo
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Off Top FreeLancer

2009-12-21 Por tôpico Quick - Luiz Henrique
Ola galera estou necessitando em uma Trigger URGENTE se alguem se habilitar
por favor me comunique em PVT.



Luiz Henrique Sales

Net2tel
email: luizsa...@net2tel.com.br
http://www.net2tel.com.br
Phone: +55-11-2824-6489
Cell :+55-11-6368-7615
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Trigger com timestamp

2009-12-21 Por tôpico Quick - Luiz Henrique
Ola amigos oque pode estar de errado nessa declaração ?




SELECT
usu_id, cam_id, tlg_id, tel_id, new.duration , tsd_data_spool,
timestamp new.data_agi - interval new.duration sec  ,new.data_agi
FROM tosend  where tsd_id = cast(new.clid as integer);


Mas se eu coloco os valores como abaixo a função não da erro!

SELECT
usu_id, cam_id, tlg_id, tel_id, new.duration , tsd_data_spool,
timestamp ''2009-12-21 18:00:00''  - interval '' 20 sec''  ,new.data_agi
FROM tosend  where tsd_id = cast(new.clid as integer);




Erro:

ERRO:  erro de sintaxe em ou próximo a $2
LINE 1: ...tlg_id, tel_id,  $1  , tsd_data_spool, timestamp  $2  - inte...
 ^
SQL state: 42601
Contexto: SQL statement in PL/PgSQL function ligacoes near line 16




Grato pela ajuda


Luiz Henrique Sales

Net2tel
email: luizsa...@net2tel.com.br
http://www.net2tel.com.br
Phone: +55-11-2824-6489
Cell :+55-11-6368-7615
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] consulta com insert

2009-09-28 Por tôpico Luiz Henrique


Bom dia,




Da maneira que está, o comando irá inserir um novo registro na tabela bairro apenas com o valor do campo município, sem o nome do bairro ou qualquer outra informação.

Talvez você queira fazer um UPDATE e não um INSERT.

Ou quem sabe fazer um INSERT mais completo.




Abraço!!





Luiz Henrique Livrari

Implantador de Sistemas Jr.

MSI SOLUÇÕES - Unidade Ourinhos

Av. Dr. Altino Arantes, 131 Sala 145 - 146

Centro - Ourinhos/SP - Brasil

Fone/Fax: +55 (14) 3324-8181

www.msisolucoes.com.br









Sun, 27 Sep 2009 16:26:10 -0300, josemario rosa <josemario.r...@ibest.com.br>escreveu:

<josemario.r...@ibest.com.br>


pessoal estou tentando inserir no campo municipio da tabela bairro o resultado da selecao da tabela localidade. o select esta certo mas o insert  da um erro.

 

ERROR:  null value in column chavebai violates not-null constraint

 

segue o comando

 

INSERT INTO bairro (municipio)
 SELECT  loc.nomeloc
  FROM localidades as loc , bairro as ba
  where ba.chvlocbai = loc.chaveloc;
 



___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] consulta com insert

2009-09-28 Por tôpico Luiz Henrique


Bom dia,




Da maneira que está, o comando irá inserir um novo registro na tabela bairro apenas com o valor do campo município, sem o nome do bairro ou qualquer outra informação.

Talvez você queira fazer um UPDATE e não um INSERT.

Ou quem sabe fazer um INSERT mais completo.




Abraço!!




Luiz Henrique Livrari
Implantador de Sistemas Jr.
MSI SOLUÇÕES - Unidade Ourinhos
Av. Dr. Altino Arantes, 131 Sala 145 - 146
Centro - Ourinhos/SP - Brasil
Fone/Fax: +55 (14) 3324-8181
www.msisolucoes.com.br




Sun, 27 Sep 2009 16:26:10 -0300, josemario rosa <josemario.r...@ibest.com.br>escreveu:



pessoal estou tentando inserir no campo municipio da tabela bairro o resultado da selecao da tabela localidade. o select esta certo mas o insert  da um erro.

 

ERROR:  null value in column chavebai violates not-null constraint

 

segue o comando

 

INSERT INTO bairro (municipio)
 SELECT  loc.nomeloc
  FROM localidades as loc , bairro as ba
  where ba.chvlocbai = loc.chaveloc;

 

 
 


___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Rodar script de gente grande

2008-12-15 Por tôpico Luiz Henrique
Boa tarde Mozart,

Você já deu uma olhada no PgLoader??

http://pgfoundry.org/projects/pgloader/

Sei que você está trabalhando com INSERTs no seu script e o PgLoader 
trabalha com COPY mas ainda assim acho que vale a pena dar uma olhada...


Abraço!!

-- 
Luiz Henrique Livrari
Implantador de Sistemas Jr.
MSI SOLUÇÕES - Unidade Ourinhos
Av. Dr. Altino Arantes, 131 Sala 145 - 146
Centro - Ourinhos/SP - Brasil
Fone/Fax: +55 (14) 3324-8181
www.msisolucoes.com.br

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Consulta incomum

2008-12-15 Por tôpico Luiz Henrique




Adriano Espinoza de Oliveira escreveu:
Detalhe mais um pouco:
  vc quer passar uma data como parametro e retornar dessa forma?
  Explica o motivo disso. do jeito que vc escreveu t dificil...
  Adriano
  
  
  2008/12/15 Rogrio A Bassete roge...@microwork.inf.br
  Pessoal,

dados da tabela vigencia:

Data_InicialData_Final
01/11/2008 03/11/2008
04/11/2008 30/11/2008
01/12/2008 03/12/2008
05/12/2008 31/12/2008


Gostaria de um select que me retorna true caso o intervalo pesquisado
seja: 01/11/2008 a 30/11/2008 e false caso o intervalo seja 01/12/2008 a
31/12/2008 (falta o dia 04/12/2008).

Dicas?

Rogrio


___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
  
  
  
  
  
  
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Boa Tarde Rogrio!!!

Para o que voc deseja existe o operador OVERLAPS. Consulte na prpria
documentao do PostgreSQL.

"...
In addition to these functions, the SQL OVERLAPS operator is supported:

(start1, end1) OVERLAPS (start2, end2)
(start1, length1) OVERLAPS (start2, length2)

This _expression_ yields true when two time periods (defined by their
endpoints) overlap, false when they do not overlap. The endpoints can
be specified as pairs of dates, times, or time stamps; or as a date,
time, or time stamp followed by an interval. 
SELECT (DATE '2001-02-16', DATE '2001-12-21') OVERLAPS
(DATE '2001-10-30', DATE '2002-10-30');
Result: true
SELECT (DATE '2001-02-16', INTERVAL '100 days') OVERLAPS
(DATE '2001-10-30', DATE '2002-10-30');
Result: false
..."

Abrao!!!!
-- 
Luiz Henrique Livrari
Implantador de Sistemas Jr.
MSI SOLUES - Unidade Ourinhos
Av. Dr. Altino Arantes, 131 Sala 145 - 146
Centro - Ourinhos/SP - Brasil
Fone/Fax: +55 (14) 3324-8181
www.msisolucoes.com.br


___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] duvida na utilização de aspas sim ples

2008-12-12 Por tôpico Luiz Henrique




Anderson escreveu:
Bom dia Lista,
  
pessoal estou fazendo um procedure mas surgiu um problema com a aspas
simples, o problema esta em como utilizar elas no meio de uma sql que
tem varias concatenaes.
  
XCRIATABELA :='CREATE TABLE '|| XTABELA ||' ('||
XNID ||' NUMERIC(6,0) DEFAULT nextval((tb_remessa_seq::text)::regclass)
NOT NULL,'||
XNUMEROREMESSA ||' NUMERIC(6,0) DEFAULT nextval(('||XSEQUENCIA||'::text)::regclass),'||
XANO ||' NUMERIC(4,0),'||
XUSUARIOINCLUSAO ||' NUMERIC(6,0),'||
XDTINCLUSAO ||' TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT (now::text)::timestamp(6)
without time zone,'||
XUSUARIOALTERACAO ||' NUMERIC(6,0),'||
XDTALTERACAO ||' TIMESTAMP WITHOUT TIME ZONE,'||
XSETOR ||' NUMERIC(6,0),'||
XCDUNIDADE ||' NUMERIC(6,0),'||
XORDEM ||' NUMERIC(2,0),'||
XDOCUMENTO ||' VARCHAR(50),'||
XASSUNTO ||' VARCHAR(450),'||
XDE ||' VARCHAR(150),'||
XPARA ||' VARCHAR(150),'||
XAC ||' VARCHAR(150)
) WITH OIDS';
  
EXECUTE XCRIATABELA;
  
  
nas partes em vermelho teria que ter aspas simples, porem se as coloco
da erro, dizendo que as sequencias no existem.
  
obrigado
  
Anderson
  
  
  
  
  
  
  
  
  
  
  

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
  

Bom dia Anderson,

teste dessa maneira...

...
XNID ||' NUMERIC(6,0) DEFAULT nextval((''tb_remessa_seq''::text)::regclass)
NOT NULL,'||
XNUMEROREMESSA ||' NUMERIC(6,0) DEFAULT nextval(('''||XSEQUENCIA||'''::text)::regclass),'||
...
...
XDTINCLUSAO ||' TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT (''now''::text)::timestamp(6)
without time zone,'||
...

veja que no so aspas duplas mas sim duas aspas simples...

Abrao!!

-- 
Luiz Henrique Livrari
Implantador de Sistemas Jr.
MSI SOLUES - Unidade Ourinhos
Av. Dr. Altino Arantes, 131 Sala 145 - 146
Centro - Ourinhos/SP - Brasil
Fone/Fax: +55 (14) 3324-8181
www.msisolucoes.com.br


___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] ERRO: operador não existe: smal lint smallint[]

2008-12-05 Por tôpico Luiz Henrique
Osvaldo Kussama escreveu:
 Alguém pode tentar dar uma luz no que eu não estou conseguindo enxergar?

 bdteste=# SELECT 1::smallint  ALL (ARRAY[2::smallint, 3::smallint,
 4::smallint]);
  ?column?
 --
  t
 (1 registro)

 bdteste=# SELECT conkey FROM pg_constraint WHERE conrelid = (select
 oid from pg_class where relname = 'teste') AND contype = 'p';
  conkey
 
  {1}
 (1 registro)

 bdteste=# SELECT pa.attname FROM pg_attribute pa
 bdteste-#  where pa.attrelid = (select pc.oid from pg_class pc where
 pc.relname = 'teste')
 bdteste-#and pa.attnum  0
 bdteste-#and pa.attnum  ALL (SELECT pco.conkey FROM
 pg_constraint pco WHERE pco.conrelid = pa.attrelid AND pco.contype =
 'p');
 ERRO:  operador não existe: smallint  smallint[]
 DICA:  Nenhum operador corresponde com o nome e o(s) tipo(s) de
 argumento(s) informados. Você precisa adicionar conversões de tipo
 explícitas.

 De Table 44-13. pg_constraint Columns:
 conkeyint2[]

 Osvaldo
 PS: quero a relação de atributos não integrantes da chave primária.
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


   
Bom dia Osvaldo,

Utilize da seguinte forma: (deve funcionar)

SELECT
pa.attname
FROM
pg_attribute pa
where
pa.attrelid = (select pc.oid from pg_class pc where pc.relname = 
'teste')
and
pa.attnum  0
and
array[pa.attnum]  ALL (SELECT pco.conkey FROM pg_constraint pco 
WHERE pco.conrelid = pa.attrelid AND pco.contype = 'p');

Abraço!!!

-- 
Luiz Henrique Livrari
Implantador de Sistemas Jr.
MSI SOLUÇÕES - Unidade Ourinhos
Av. Dr. Altino Arantes, 131 Sala 145 - 146
Centro - Ourinhos/SP - Brasil
Fone/Fax: +55 (14) 3324-8181
www.msisolucoes.com.br

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Maiúsculas

2008-12-01 Por tôpico Luiz Henrique
Bom dia pessoal!!!

Um cliente solicitou que todo e qualquer texto gravado no BD fosse 
gravado em letras maiúsculas.
Pesquisei um pouco sobre o assunto e não encontrei nada esclarecedor.
Gostaria de saber se existe alguma função do próprio banco para fazer 
isso...

A solução (quebra galho) que desenvolvi até agora foi uma TRIGGER BEFORE 
INSERT OR UPDATE que grava os novos valor em uma tabela temporária com a 
mesma estrutura da tabela em que os dados estão sendo gravados, 
identifica quais campos são Texto, faz um update destes campos com um 
UPPER() e pega de volta esses valores atualizados para o NEW.
A função é esta:

CREATE OR REPLACE FUNCTION ftp_upper()
  RETURNS trigger AS
$BODY$
declare
r record;
comando text;

begin

create temp table maiuscula on commit drop as (select new.*);

for r in
(SELECT
pg_attribute.attname as coluna
FROM
pg_stat_all_tables
JOIN
pg_attribute on pg_attribute.attrelid = pg_stat_all_tables.relid
JOIN
pg_type on pg_attribute.atttypid = pg_type.oid
WHERE
pg_stat_all_tables.schemaname = 'public'::name
AND
pg_stat_all_tables.relname = TG_TABLE_NAME
AND
pg_attribute.attstattarget  0
AND
pg_type.typoutput in ('textout', 'varcharout'))
loop

comando := 'update maiuscula set ' || r.coluna || ' = upper(' || 
r.coluna || ');';
execute comando;

end loop;

for r in (select * from maiuscula) loop

new := r;

end loop;

return new;

end;$BODY$
  LANGUAGE 'plpgsql' VOLATILE;


Seria extremamente mais simples se existisse algo como NEW := 
UPPER(NEW) mas acho que infelizmente não existe.

Alguém conhece uma outra solução mais viável do que esta que encontrei???

Obrigado!!!

-- 
Luiz Henrique Livrari
Implantador de Sistemas Jr.
MSI SOLUÇÕES - Unidade Ourinhos
Av. Dr. Altino Arantes, 131 Sala 145 - 146
Centro - Ourinhos/SP - Brasil
Fone/Fax: +55 (14) 3324-8181
www.msisolucoes.com.br

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Maiúsculas

2008-12-01 Por tôpico Luiz Henrique




Osvaldo Kussama escreveu:

  Em 01/12/08, Luiz Henrique[EMAIL PROTECTED] escreveu:
  
  
Bom dia pessoal!!!

Um cliente solicitou que todo e qualquer texto gravado no BD fosse
gravado em letras maisculas.
Pesquisei um pouco sobre o assunto e no encontrei nada esclarecedor.
Gostaria de saber se existe alguma funo do prprio banco para fazer
isso...

A soluo (quebra galho) que desenvolvi at agora foi uma TRIGGER BEFORE
INSERT OR UPDATE que grava os novos valor em uma tabela temporria com a
mesma estrutura da tabela em que os dados esto sendo gravados,
identifica quais campos so Texto, faz um update destes campos com um
UPPER() e pega de volta esses valores atualizados para o NEW.
A funo  esta:

CREATE OR REPLACE FUNCTION ftp_upper()
  RETURNS "trigger" AS
$BODY$
declare
r record;
comando text;

begin

create temp table maiuscula on commit drop as (select new.*);

for r in
(SELECT
pg_attribute.attname as coluna
FROM
pg_stat_all_tables
JOIN
pg_attribute on pg_attribute.attrelid = pg_stat_all_tables.relid
JOIN
pg_type on pg_attribute.atttypid = pg_type.oid
WHERE
pg_stat_all_tables.schemaname = 'public'::name
AND
pg_stat_all_tables.relname = TG_TABLE_NAME
AND
pg_attribute.attstattarget  0
AND
pg_type.typoutput in ('textout', 'varcharout'))
loop

comando := 'update maiuscula set ' || r.coluna || ' = upper(' ||
r.coluna || ');';
execute comando;

end loop;

for r in (select * from maiuscula) loop

new := r;

end loop;

return new;

end;$BODY$
  LANGUAGE 'plpgsql' VOLATILE;


Seria extremamente mais simples se existisse algo como "NEW :=
UPPER(NEW)" mas acho que infelizmente no existe.

Algum conhece uma outra soluo mais vivel do que esta que encontrei???


  
  
D uma olhada no histrico mas, se no me falha a memria, sempre que
questes parecidas foram colocadas aqui na lista foi sugerido o uso de
pl/perl.

Osvaldo
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


  

Boa Tarde Osvaldo!!

Obrigado pelo dica!!
Como no tenho conhecimento em pl/perl vou ficar com a minha
alternativa, mesmo pq  s um quebra-galho at ser implementado na
aplicao (o que j foi providenciado).

Abrao!!
-- 
Luiz Henrique Livrari
Implantador de Sistemas Jr.
MSI SOLUES - Unidade Ourinhos
Av. Dr. Altino Arantes, 131 Sala 145 - 146
Centro - Ourinhos/SP - Brasil
Fone/Fax: +55 (14) 3324-8181
www.msisolucoes.com.br


___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Alter Domain

2008-11-17 Por tôpico Luiz Henrique




Dickson S. Guedes escreveu:

  Luiz Henrique escreveu:
  
  
Jota escreveu:


  Ol,

No  possvel alterar o tipo de um domnio pelo comando alter domain.

  

Tarde!!!

Obrigado por confirmar as minhas suspeitas!!!

Mas achei uma outra soluo...  como o BD que precisava fazer essa 
alterao era pequeno, fiz um backup no formato SQL, alterei a criao 
do Domnio diretamente no backup e restaurei..  funcionou perfeitamente!!!

  
  
D para brincar um pouco com isso at...

(14:51:00) [EMAIL PROTECTED]:5432/admin
# CREATE DOMAIN numero numeric(18,6);
CREATE DOMAIN
Tempo: 12,124 ms

(14:51:11) [EMAIL PROTECTED]:5432/admin
# CREATE TEMP TABLE tb_teste(num numero);
CREATE TABLE
Tempo: 106,609 ms

(14:51:18) [EMAIL PROTECTED]:5432/admin
# CREATE DOMAIN numero2 numeric(18,9);
CREATE DOMAIN
Tempo: 8,298 ms

(14:51:43) [EMAIL PROTECTED]:5432/admin
# SELECT 'ALTER TABLE '||table_name||' ALTER COLUMN '||column_name||' 
TYPE numero2;' as "SCRIPT" from information_schema.columns where 
domain_name = 'numero';
   SCRIPT   
-
 ALTER TABLE tb_teste ALTER COLUMN num TYPE numero2;
(1 registro)

Tempo: 14,539 ms

(14:52:08) [EMAIL PROTECTED]:5432/admin
#  ALTER TABLE tb_teste ALTER COLUMN num TYPE numero2;
ALTER TABLE
Tempo: 42,355 ms

(14:52:33) [EMAIL PROTECTED]:5432/admin
# DROP DOMAIN numero;
DROP DOMAIN
Tempo: 14,644 ms

(14:52:48) [EMAIL PROTECTED]:5432/admin
# CREATE DOMAIN numero numeric(18,9);
CREATE DOMAIN
Tempo: 13,577 ms

(14:52:52) [EMAIL PROTECTED]:5432/admin
# SELECT 'ALTER TABLE '||table_name||' ALTER COLUMN '||column_name||' 
TYPE numero;' as "SCRIPT" from information_schema.columns where 
domain_name = 'numero2';
   SCRIPT  

 ALTER TABLE tb_teste ALTER COLUMN num TYPE numero;
(1 registro)

Tempo: 14,673 ms

(14:53:03) [EMAIL PROTECTED]:5432/admin
#  ALTER TABLE tb_teste ALTER COLUMN num TYPE numero;
ALTER TABLE
Tempo: 35,447 ms


":D

  

Muito interessante essa tua soluo... uma excelente alternativa para
o caso de BDs maiores ou caso no possa parar para um backup/restore!!!

Muito obrigado!!!

-- 
Luiz Henrique Livrari
Implantador de Sistemas Jr.
MSI SOLUES - Unidade Ourinhos
Av. Dr. Altino Arantes, 131 Sala 145 - 146
Centro - Ourinhos/SP - Brasil
Fone/Fax: +55 (14) 3324-8181
www.msisolucoes.com.br


___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Alter Domain

2008-11-17 Por tôpico Luiz Henrique




Dickson S. Guedes escreveu:

  Luiz Henrique escreveu:
  
  
Muito interessante essa tua soluo...  uma excelente alternativa para 
o caso de BDs maiores ou caso no possa parar para um backup/restore!!!

  
  
Funcionou para voc Luiz? Se sim, i'm happy to help...

":D

  

Funcionou sim!!!

s incrementei mais um pouco para alterar tambm algumas funes que
tinham como tipo de retorno o mesmo domnio.

Obrigado mais uma vez!!!

-- 
Luiz Henrique Livrari
Implantador de Sistemas Jr.
MSI SOLUES - Unidade Ourinhos
Av. Dr. Altino Arantes, 131 Sala 145 - 146
Centro - Ourinhos/SP - Brasil
Fone/Fax: +55 (14) 3324-8181
www.msisolucoes.com.br


___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Alter Domain

2008-11-14 Por tôpico Luiz Henrique
Bom dia!!!

Possuo na minha base de dados o seguinte Domínio:

CREATE DOMAIN do_numero AS numeric(18,5);

Agora preciso que ele seja Numeric(18,8)
.
Existe alguma maneira de fazer essa alteração através de ALTER DOMAIN??
pelo que vi na documentação do PostgreSQL e pelo que pesquisei na 
internet não é possível, por acaso alguém aqui teria uma solução??

Obs.: Não utilizo o DROP DOMAIN e um novo CREATE DOMAIN pois tenho 
inúmeras (aprox. 250) funções, tipos, tabelas, etc. que utilizam esse 
domínio e por isso não seria a solução mais prática, somente em último 
caso...

Obrigado

-- 
Luiz Henrique Livrari
Implantador de Sistemas Jr.
MSI SOLUÇÕES - Unidade Ourinhos
Av. Dr. Altino Arantes, 131 Sala 145 - 146
Centro - Ourinhos/SP - Brasil
Fone/Fax: +55 (14) 3324-8181
www.msisolucoes.com.br


___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Alter Domain

2008-11-14 Por tôpico Luiz Henrique




Jota escreveu:

  Ol,

No  possvel alterar o tipo de um domnio pelo comando alter domain.

[]s

2008/11/14 Luiz Henrique [EMAIL PROTECTED]:
  
  
Bom dia!!!

Possuo na minha base de dados o seguinte Domnio:

CREATE DOMAIN do_numero AS numeric(18,5);

Agora preciso que ele seja Numeric(18,8)
.
Existe alguma maneira de fazer essa alterao atravs de ALTER DOMAIN??
pelo que vi na documentao do PostgreSQL e pelo que pesquisei na
internet no  possvel, por acaso algum aqui teria uma soluo??

Obs.: No utilizo o DROP DOMAIN e um novo CREATE DOMAIN pois tenho
inmeras (aprox. 250) funes, tipos, tabelas, etc. que utilizam esse
domnio e por isso no seria a soluo mais prtica, somente em ltimo
caso...

Obrigado

--
Luiz Henrique Livrari
Implantador de Sistemas Jr.
MSI SOLUES - Unidade Ourinhos
Av. Dr. Altino Arantes, 131 Sala 145 - 146
Centro - Ourinhos/SP - Brasil
Fone/Fax: +55 (14) 3324-8181
www.msisolucoes.com.br


___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


  
  


  

Tarde!!!

Obrigado por confirmar as minhas suspeitas!!!

Mas achei uma outra soluo... como o BD que precisava fazer essa
alterao era pequeno, fiz um backup no formato SQL, alterei a criao
do Domnio diretamente no backup e restaurei.. funcionou
perfeitamente!!!

Abrao

-- 
Luiz Henrique Livrari
Implantador de Sistemas Jr.
MSI SOLUES - Unidade Ourinhos
Av. Dr. Altino Arantes, 131 Sala 145 - 146
Centro - Ourinhos/SP - Brasil
Fone/Fax: +55 (14) 3324-8181
www.msisolucoes.com.br


___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral