[pgbr-geral] Para onde envio sugestões para o ma nual do pg 9.0?

2010-07-08 Por tôpico Andre Fernandes
Bom dia,

Estava mexendo com ECPG e percebi que o manual nao menciona qualquer coisa
quanto a Hosts arrays, mas, felizmente, isso existe no ECPG. Acho que isso e
algo muito importante de ser mencionado no manual, a documentaçao do ECPG
parece estar um pouco desatualizada com tudo que existe, e, no meu caso pelo
menos, atrapalha muito.
Sera que alguem aqui sabe para quem seria bacana mencionar isso para que
talvez no manual da versao 9.0 atualizem as informacoes do ECPG?

Abraços,

-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] BotecoNet 4Linux amanhã sobre Postg reSQL

2010-06-30 Por tôpico Andre Fernandes
Olá,
Infelizmente não poderei participar amanhã, mas gostei muito dos temas
abordados.
Será disponibilizado algum material (vídeos, planilhas, apresentações, ...)
para quem não puder acompanhar amanhã?

Obrigado,

Em 30 de junho de 2010 11:05, Gurgel, Flavio escreveu:

> Olá a todos
>
> Amanhã tem BotecoNet 4Linux e gostaria de convidar a comunidade PostgreSQL
> a participar.
> A inscrição é gratuita e o evento é online, ao vivo.
> Os detalhes estão abaixo
>
> Abraços a todos
> Flavio Gurgel
>
> BotecoNet Novidades sobre o PostgreSQL apresentadas na PGCon do Canadá
> PostgreSQL 9.0 – vem aí a alta disponibilidade e performance que você
> esperava.
>
> Participe amanhã, 01/07/2010 a partir das 21h00 (horário de Brasília), ao
> vivo pela internet, bate papo com Flávio Gurgel, palestrante da edição PGCon
> 2010 no Canadá.
>
> Além de outras novidades, Flávio comentará sobre a funcionalidade mais
> interessante e que causou maior frisson na
> PGCon: hot-standby.
>
> Vejam outros assuntos que serão abordados nesta edição do BotecoNet:
>
> O que é um cluster de alta disponibilidade?
> O que é um cluster de alta performance?
> Como era no PostgreSQL até 8.x e como será no 9.0?
> Como aplicar isso nos ambientes de produção?
> Projeto Postgres-XC?
>
> Algumas perguntas que serão respondidas:
> O PostgreSQL poderá compartilhar discos como no Oracle RAC?
> Por que a escalabilidade horizontal é tão difícil de atingir num ambiente
> com muita escrita?
> Existe alguma restrição para usar o hot-standby?
> Posso usar a replicação para servidores remotos?
> Existe ferramenta de gerenciamento gráfico para o PostgreSQL 9.0?
>
> Flavio Henrique Araque Gurgel é instrutor e consultor de bancos de dados da
> 4Linux, engenheiro eletricista pela Universidade Federal do Paraná (UFPR).
> Atua em projetos de dimensionamento, tuning de bases de dados e no suporte
> aos cliente.
>
> Para participar, basta fazer sua inscrição gratuita, através do link:
> http://www.4linux.com.br/boteco-4linux
>
> Alguns minutos antes do inicio do BotecoNet, a 4Linux enviará um e-mail aos
> inscritos com o link para que possam acessar e participar ao vivo.
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Instalar Linguagem procedural C

2010-06-24 Por tôpico Andre Fernandes
A linguagem C não é apresentada mesmo pela pg_languages. Mas não precisa se
preocupar, poderás escrever funções em C tranquilamente.

Abraços,

Em 24 de junho de 2010 17:19, Moisés P. Sena escreveu:

>
> Em 23 de junho de 2010 11:17, Andre Fernandes 
> escreveu:
>
> Bom dia,
>> não é necessário instalar, a linguagem C já vem instalada em qualquer
>> instalação do postgreSQL.
>>
>
> quando executo SELECT * FROM pg_languages, a linguagem C não é exibida ...
>
>
>
>> --
>> André de Camargo Fernandes
>> __
>> 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
>
>


-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Instalar Linguagem procedural C

2010-06-23 Por tôpico Andre Fernandes
Bom dia,
não é necessário instalar, a linguagem C já vem instalada em qualquer
instalação do postgreSQL.

Abraços,

Em 23 de junho de 2010 11:13, Moisés P. Sena escreveu:

> Bom dia pessoal!
>
> Como faço para instalar a linguagem procedural C (PL/C) no Postgresql
> 8.4.3, Linux CentOS ?
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Dúvida sobre utilização de FUNC TION

2010-05-25 Por tôpico Andre Fernandes
Você pode fazer algo assim:

SELECT * FROM ();

ou ainda

SELECT ();


Abraços,

Em 25 de maio de 2010 17:03, Luís Ribeiro  escreveu:

> E como faço para chamar essas FUNCTIONS do PostgreSQL através do código de
> minha aplicação ?
>
> Muito obrigado pela ajuda.
>
> Luís Ribeiro
>
> 2010/5/25 Osvaldo Kussama 
>
> Em 25 de maio de 2010 16:36, Luís Ribeiro  escreveu:
>> > Pessoal,
>> >costumo trabalhar com Java e não tenho experiência trabalhando com
>> banco
>> > de dados, mas mesmo assim, no meu trabalho fiquei responsabilizado por
>> uma
>> > migração de um banco SQL Server para o PostgreSql e estou com dúvidas
>> com
>> > relação a algumas "store procedures" existentes no banco SQL Server que
>> são
>> > chamadas diretamente do código ASP da aplicação.  Como poderia resolver
>> a
>> > tradução destas "store procedures" para FUNCTIONS no Postgre e ainda
>> > continuar chamando-as através do código da aplicação.  O intuito é mexer
>> o
>> > mínimo possível no código, caso haja essa possibilidade.
>> >
>>
>>
>> No PostgreSQL você deve utilizar FUNCTION no lugar da stored procedure
>> do MS-SQL Server.
>> Caso não exista necessidade de qualquer valor de retorno você pode
>> utilizar a opção RETURNS void.
>> Veja:
>> http://www.postgresql.org/docs/current/interactive/sql-createfunction.html
>> http://www.postgresql.org/docs/current/interactive/xfunc.html
>>
>> No PostgreSQL você pode escrever suas funções em diversas linguagens.
>> Creio que a maioria utiliza a PL/pgSQL:
>> http://www.postgresql.org/docs/current/interactive/plpgsql.html
>>
>> Não conheço nenhum "tradutor automático" portanto você deve entender o
>> que faz cada stored procedure e reescrevê-las em PL/pgSQL (ou outra
>> linguagem que considerar mais conveniente).
>>
>> 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
>
>


-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] PostgresForest

2010-05-11 Por tôpico Andre Fernandes
Bom dia a todos,

Alguem ja usou o PostgresForest? Vi pouca informaçao pela web e pareceu-me
uma soluçao interessante de replicaçao.
Se ja usaram, o que acharam?

Abraços,
-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Res: Res: PostgreSQL x Firebird

2010-04-15 Por tôpico Andre Fernandes
Em 15 de abril de 2010 14:32, MARCIO CASTRO
escreveu:

> Caro Leonardo:
>
>   A Micro$oft vendia o FoxPro como um "banco de dados relacional", e
> sabemos que este não o era.
>   Para mim, não adianta dizer que uma determinada ferramenta é "robusta e
> confiável", sem explicar o porquê - isto é uma linguagem de vendedor, e não
> uma linguagem técnica.
>
>   Em http://www.postgresql.org/docs/8.4/static/planner-optimizer.html, há
> uma nota com o seguinte:
>
> "In some situations, examining each possible way in which a query can be
> executed would take an excessive amount of time and memory space."
>
>   Portanto, quero saber se o PostgreSQL tem ou não alguma estrutura de
> memória onde os planos de execução ficam armazenados, podendo ser
> reutilizados (compartilhados) por outras sessões.
>
>   Entendido?
>
>
>
Boa tarde.
Sei que perguntaste para o Leonardo, que na realidade deve ter um
conhecimento bem superior ao meu sobre a parte interna do banco postgreSQL,
contudo eu me arrisco a tentar responder.
Quando falas em estrutura de memória onde os planos de execução ficam
armazenado, acho que sei o que estás perguntando, mas não tenho certeza. O
postgreSQL, assim como muitos bancos de dados, ao executar uma query
armazena a mesma em um "cache", assim ao ser chamada a mesma query, ele não
precisa passar por todas as etapas para execução de uma query (parse,
etc...) e assim executa a mesma mais rapidamente. É comum dizermos que a
consulta ficou no "cache", por isso a segunda chamada foi mais rápida.
Quanto tempo temos isso guardado é um parâmetro que pode ser configurado.
Era essa a tua dúvida?

Atenciosamente,


>
> --
> *De:* Leonardo Cezar 
>
> *Para:* Comunidade PostgreSQL Brasileira <
> pgbr-geral@listas.postgresql.org.br>
> *Enviadas:* Quinta-feira, 15 de Abril de 2010 11:35:40
>
> *Assunto:* Re: [pgbr-geral] Res: PostgreSQL x Firebird
>
> 2010/4/14 MARCIO CASTRO :
> > Senhores:
> >
> >   Mas aí entramos novamente na velha disputa do "o meu time é melhor do
> que
> > o seu", ou "a minha Honda é mais rápida do que a sua Yamaha", e ninguém
> > explica o "PORQUÊ".
>
> Até onde pude acompanhar a trilha, o Roberto deu uma explicação
> resumida porém precisa sobre as finalidades de um servidor e do outro.
>
> >   Portanto, e a fim de elevar o tópico de forma a que todos aprendamos,
> > pergunto se o PostgreSQL, no seu processo de parse, bind e execute,
> compila
> > a instrução (query), e guarda o código em alguma área para ser
> reutilizado,
> > independentemente da sessão ou usuário conectado?
>
> Acho que aqui virou "salada".
>
> Como pode um processo de análise (/parser/) estar atrelado a uma
> execução (/execute/) se eles existem em contexto diferente?
>
> Me explico: No momento em que você *prepara* explicitamente uma
> instrução (prepare) ou cursor, a condição que define o tipo de retorno
> binário ou texto puro está na cláusula DECLARE e/ou poderia ser criada
> na mensagem BIND no lado do cliente em mensagens utilizando o
> protocolo estendido de cosultas (extended query protocol). Mas isso
> apenas para dados.
>
>
> No entanto, se estamos falando sobre o processo interno de análise
> léxica da consulta, o planejador é itneligente o suficiente para
> reutilizar árvores de consultas previamente análisadas e compiladss e
> não fazer a reescrita a não ser para obter dados estatísticos do
> catálogo, o que ocorre num segundo momento (aka Processo de
> Transformação da árvore de consulta) e não na fase de análise.
>
> >   Tem um colega que jura que não, mas o mesmo não me forneceu as fontes
> para
> > consultar o assunto. Numa "googada" rápida utilizando "postgre frequently
> > used execution plans parse tree", eu não conseguí encontrar a resposta,
> ou
> > não soube procurar, portanto, ficarei muito grato aqueles que puderem me
> > ajudar. Pode ser um artigo, uma página de algum manual, ou um diagrama
> > detalhando as estruturas do banco.
>
> Existe farta documentação sobre este tema:
>
> Comece por [1] (Architeture of a Database System, Michael
> Stonebracker; etal), depois aconselho o fundamental sobre arquitetura
> de banco de dados [2] (Database Management Systems, Raghu
> Ramakhrisnan; etal) e em seguida a extensa documentação sobre o
> protocolo de mensagens [4] e o mecanismo de análise e execução de
> consultas[3].
>
> 1)
> http://www.amazon.com/Architecture-Database-System-Foundations-Databases/dp/1601980787
> 2) http://pages.cs.wisc.edu/~dbbook/ 
> 3) http://www.postgresql.org/docs/8.4/static/overview.html
> 4) http://www.postgresql.org/docs/8.4/static/protocol-flow.html
>
> Bom estudo!
>
> -Leo
> --
> Leonardo Cezar
> http://www.aslid.org.br
> http://postgreslogia.wordpress.com
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
>
> ___
> pgbr-geral mai

Re: [pgbr-geral] comparativo entre versoes (8.4,8.3,8.2,....)

2010-04-15 Por tôpico Andre Fernandes
Em 15 de abril de 2010 12:53, Jorge Luiz escreveu:

> Obrigado Telles, sao Interenssantes esses links.
>
> Mas se alguem solber de algo referente a graficos ou imagens com
> comparativos das melhorias de performance e economia de espaço em disco
> entre as versoes, manda ae.
>
> Boa tarde.
Sem querer ser muito chato, mas não sei se alguém tem isso pronto, contudo
podes fazer uma sequencia de testes e executar a mesma. Todas as versões
estão disponíveis para download, dessa forma fica fácil baixar, instalar,
rodar os testes e então montar teus gráficos.
É uma opção trabalhosa, eu sei, mas assim conseguirias ver realmente a
diferença de performance e sentir se é significativa ou não para os testes
que pretendes executar.

Abraços,


> Valeu.
>
> Fábio Telles Rodriguez escreveu:
> >
> >
> > Em 15 de abril de 2010 10:47, Jorge Luiz  > > escreveu:
> >
> > Prezados,
> >
> >   Alguem poderia me indicar links com estudos, arquivos, etc... com
> > comparativos entre as versoes do postgresql exemplo: diferencas entre
> > 8.3 vs 8.4. (referente a performance, espaço em disco, nao em
> > funcionalidades novas)
> >
> >   Alguma coisa que tenha graficos, imagens,..., de modo que eu possa
> > apresentar motivos para atulizar nossas versoes.
> >
> >   Tenho servidores com 8.2, 8.3 e 8.4. Queria nivelar em 8.4, mais
> > teria que apresentar uma justificativa para os mais criticos. Minha
> > idéia é que a justificativa pode ser demostrada com alguns graficos e
> > estudos ja realizados.
> >
> >
> > Um bom ponto de partida:
> > http://www.postgresql.org/about/featurematrix
> >
> > Siga os links e seja feliz. Outros pontos para se verificar:
> >
> > Press release em pt_br:
> > http://www.postgresql.org/about/press/presskit84.html.br
> >
> > E claro, as notas de lançamento na documentação:
> > http://www.postgresql.org/docs/8.4/static/release.html
> >
> > Tenha em mente que migração para versão nova em geral não é uma opção:
> > Com o PostgreSQL você é quase que forçado a trocar a cada 5 anos, que
> > é o tempo médio que uma versão é suportada. Você não deveria jamais
> > estar rodando uma versão que não tem mais atualizações de segurança. A
> > última versão suportada atualmente é a 8.0. É algo para se planejar
> > sempre.
> >
> > Atenciosamente,
> > Fábio Telles
> > --
> > blog: http://www.midstorm.org/~telles/
> > 
> > e-mail / jabber: fabio.tel...@gmail.com 
> > 
> >
> > ___
> > 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
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] BLOCOS plpgsql

2010-04-08 Por tôpico Andre Fernandes
2010/4/8 Euler Taveira de Oliveira 

> JotaComm escreveu:
> > Você está correto. A implementação desta funcionalidade até onde eu
> > tenho conhecimento está prevista para logo, não cheguei a ver se já vem
> > para a versão 9.0.
> >
> Existirá. Vide comando DO [1].
>
> [1] http://developer.postgresql.org/pgdocs/postgres/sql-do.html
>
>
> Mal posso esperar para ver isso funcionando! Nosso postgreSQL está ficando
a cada dia melhor!


> --
>  Euler Taveira de Oliveira
>  http://www.timbira.com/
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] BLOCOS plpgsql

2010-04-08 Por tôpico Andre Fernandes
2010/4/8 Jose Luis Ramos 

> Pessoal, estou aprendendo/estudando plpgsql e tenho algumas dúvidas. Meu
> bloco é esse:
>
> DECLARE
> count_regs INT;
> reg_tab RECORD;
> BEGIN
> FOR reg_tab IN SELECT TABLENAME AS nome_tab_cdrger
> FROM tabelas_cdrger Loop
> SELECT INTO count_regs COUNT(*) FROM reg_tab.nome_tab_cdrger;
> IF count_regs > 0 THEN
> NULL;
> END IF;
> END LOOP;
> END
>
> Minha primeira dúvida é: como executar esse bloco ? No Oracle (pl/sql)
> basta executar esse código no prompt do SQL*PLUS. E no PostgreSQL ? Tenho
> que ter uma função ? Não tem como executar apenas o bloco plpgsql ?
>
> Olá!
No postgreSQL, a não ser que tenham implementado há pouco e eu não tenha
percebido, não temos como acessar pl/pgsql sem ser dentro de uma function.

Abraços,


> Abs,
>
> --
> Jose Luis Ramos Jr
> Campinas - SP
> Oracle OCP DBA 8i, 9i,10g
> Fone: 19-37056793
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Selec com recursividade

2010-03-31 Por tôpico Andre Fernandes
Em 31 de março de 2010 16:00, Marcelo Cardoso de Souza <
marceloc...@gmail.com> escreveu:

> Eu estou utilizando o Ubuntu 8.04. Mandei instalar pelo apt-get o
> postgresql-contrib-8.3
>
> porém ainda continua mostrando de função não existe existe alguma
> configuração a mais?
>
>
O processo de instalação está descrito no manual. Mas se não encontrares,
procura no diretório do contrib (onde o ubuntu instalou os mesmos) um
arquivo chamado README e um arquivo chamado INSTALL. Eles possuem as
instruções gerais para instalar. Em geral, terás de ir para a subpasta do
contrib desejado (tablefunc) e ali deverás executar:

make
make install

Logo após isso, basta executar:

psql db_name -f tablefunc.sql

(substitua db_name pelo nome de teu banco de dados).

Atenciosamente,


> Em 31 de março de 2010 14:45, Osvaldo Kussama 
> escreveu:
>
> Em 31 de março de 2010 14:37, Marcelo Cardoso de Souza
>>  escreveu:
>> > No meu banco versão 8.3.3, diz q a função connectby não existe.
>> >
>>
>>
>> Como eu disse na mensagem anterior a função connectby faz parte do
>> módulo contrib tablefunc.
>> As instruções de como instalar um módulo contrib estão em:
>> http://www.postgresql.org/docs/8.3/interactive/contrib.html
>>
>> Osvaldo
>> ___
>> pgbr-geral mailing list
>> pgbr-geral@listas.postgresql.org.br
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>
>
>
> --
> Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO
> AMBIENTE.
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Particionamento x Herança

2010-03-25 Por tôpico Andre Fernandes
Em 25 de março de 2010 16:52, letgaude  escreveu:

>
> Não temos um ambiente definitivo ainda para produção. A previsão é que
> tenhamos varios storages com 360 Gb no minimo cada um. Poderíamos então
> aloca-los da seguinte forma:
>
> Tabela Pai - na tablespace PRINCIPAL
>
> Tabela Filha1 na TABLESPACE1. Esta tabela é herança da tabela pai, portanto
> particionada. Seus indices estarão na TABLESPACE1 também. Logo, estarão
> particionados também. Correto ? :-)
>

E assim faremos para as 3 tabelas. Uma tablespace para cada uma delas,
> alocadas fisicamente em storages diferentes. Um indice na mesma tablespace
> do dado é mais eficiente ?
>
> Normalmente o índice em uma tablespace própria é mais eficiente. Mas como
toda regra, pode ter exceção.
No teu caso, para ter uma boa performance, consideraria colocar os índices
em uma partição distinta (somente para os índices).


> Grata,
>
> Letícia
>
>
>
Atenciosamente,

-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Select retornando diferenças

2010-03-25 Por tôpico Andre Fernandes
Em 25 de março de 2010 11:39, Marcelo Cardoso de Souza <
marceloc...@gmail.com> escreveu:

> Mas eu querio que mostre somente os atributos que foram alterados. Será q
> isso é possivel?
>
> Em 25 de março de 2010 11:03, JotaComm  escreveu:
>
> Olá,
>>
>> Em 25 de março de 2010 10:54, Marcelo Cardoso de Souza <
>> marceloc...@gmail.com> escreveu:
>>
>> Vamos ao exemplo.
>>>
>>> Estou fazendo um sistema de cadastro. O cliente exige que tenha um
>>> mecanismo onde ele possa validar as alterações feitas no cadastro.
>>> A cada alteração do usuario eu gero um novo registro na tabela e também
>>> possuo um atributo que indica o registro anterior a alteração que no caso eu
>>> chamo de id_anterior. Quando o gestor vai validar as alterações feitas pelos
>>> usuarios eu preciso mostrar o q foi alterado eu sei qual foi o ultimo
>>> registro e apartir dele posso chegar no anterior e assim por diante até o
>>> primeiro registro.
>>>
>>> Sei que poderiar fazer isso na programação, mas gostaria de fazer com
>>> sql.
>>>
>>> Segue uma estrutura basica dos atributos da tabela
>>>
>>> id_imovel
>>> id_endereco
>>> nm_imovel
>>> nu_antigo
>>> nu_inscricao_prefeitura
>>> nu_inscricao_incra
>>> id_matriz_contabil
>>> id_tipo_delimitacao
>>> area_disponivel
>>> de_complementar
>>> dt_alteracao
>>> fg_imovel_atual
>>> id_imovel_anterior
>>>
>>
>> Acho que resolve o seu problema:
>>
>> SELECT tabela1.*,tabela2.*
>>
>> FROM tabela1 JOIN tabela02 ON tabela1.codigo_anterior=tabela2.codigo;
>>
>>
>>
>> Por quê não fizeste uma tabela de histórico que seja atualizada por
triggers? É muito mais limpo de que o que pretendes fazer e conseguirás as
informações desejadas com relativa facilidade. Além de que não terás a
tabela principal crescendo imensamente com informação de histórico, o que
poderá lerdear depois de um tempo as buscas (dependendo do volume).


Abraços,
-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] AJUDA PGMAIL

2010-03-22 Por tôpico Andre Fernandes
Boa tarde,

Já enviei email diversas vezes usando o postgreSQL, mas no meu caso utilizei
PL/Perl (meu conhecimento de TCL é bem básico, assim preferi usar perl).
Se quiseres, posso depois procurar se ainda tenho algum script que eu usava.


PS: eu usava no linux e no freeBSD, jamais tentei usar esses scripts no
windows, assim não sei se precisaria adapatar...

Abraços,

Em 22 de março de 2010 15:26, José Antônio (YMAIL) escreveu:

>  *
> *Alguém conseguiu enviar email pelo postgres.
>
>
>
> Estou usando:
>
>
>
> postgres 8.3.9
>
> tcl 8.4
>
> Windows 7
>
> Kaspersky 2010
>
>
>
>
>
>
>
> Atenciosamente,
>
> José Antônio Esteves Neto
>
> *Analista de Sistemas*
>
> * *
>
> MSN
>
> jaen...@hotmail.com
>
> Skype
>
> Jose.antonio.esteves.neto
>
> Email
>
> jaen...@ymail.com
>
> Site
>
> N/D
>
> Celular
>
> +55 34 8819-0413
>
>   ü* Antes de imprimir* pense em seu compromisso com o* **Meio ambiente* e
> o comprometimento com os* **Custos.*
>
>
>
> Esta mensagem pode conter informações confidenciais, somente podendo ser
> usada pelo indivíduo ou entidade a quem foi endereçada. A transmissão
> incorreta da mensagem não acarreta a perda de sua confidencialidade. Caso
> esta mensagem tenha sido recebida por engano, solicitamos que comunique o
> remetente e apague-a de seu sistema imediatamente. É vedado a qualquer
> pessoa que não seja o destinatário usar, revelar, distribuir ou copiar
> qualquer parte desta mensagem.
>
>
>
>
>
>
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Sistema de Login para site de Intranet

2010-03-20 Por tôpico Andre Fernandes
Em 20 de março de 2010 01:26, tiago gomes escreveu:

> Olá pessoal,
>
> Sou novo no Postgres e quero saber como se faz um sistema de login com
> níveis de acesso para um site intranet.
>
> Eu sei faser em MySQL mas quero entrar no mundo Postgres.
>
>
> Conforme já foi mencionado anteriormente, a regra do negócio não se altera.


Como não informaste detalhes de sua implementação em MySQL, fica difícil
dizer qual a melhor forma de migrar a mesma para postgresql.

Vou falar de modelos de login que já usei e talvez sejam de alguma ajuda
para ti.

1) se tiveres o controle do que o usuário pode fazer pelo aplicativo (usando
o banco apenas para verificar a senha e o login), bastaria uma tabela de
login
Tabela: login
campos: login varchar(20) pk,
  senha varchar(32) ou bytea ou ... - depende de como guardarás
tua senha
  demais dados relativos a teu site... (email, nome, etc...)
2) se tiveres o controle do que o usuário pode fazer pelo "grupo" ao qual
ele pertence (ou "papel", "role"), poderias ter duas ou três tabelas.
O modelo com duas tabelas é para o caso de um usuário somente poder
pertencer a um grupo
Tabela: grupo
campos: id serial pk,
  nome varchar(40)
Tabela: login
 campos: login varchar(20) pk,
  senha varchar(32) ou bytea ou ... - depende de como guardarás
tua senha
  grupo_id integer fk,
  demais dados relativos a teu site... (email, nome, etc...)

O modelo com três tabelas seria para o caso de teres a possibilidade de um
usuário pertencer a dois ou mais grupos (exemplo, usuário P é administrador
e também é vendedor). Neste caso precisas descobrir o que fazer quando
houver sobreposição de privilégios, se algum recurso é permitido para um
deles apenas (por exemplo, área de vendas é permitida ao vendedor mas não
para o administrador), precisas ver se teu sistema será otimista (dá a
permissão se pelo menos um deles tiver, no exemplo o usuário P veria) ou se
será pessimista (no exemplo, usuário P não veria).
Tabela: grupo
campos: id serial pk,
  nome varchar(40)
Tabela: login
 campos: login varchar(20) pk,
  senha varchar(32) ou bytea ou ... - depende de como guardarás
tua senha
  demais dados relativos a teu site... (email, nome, etc...)
Tabela: grupo_login
campos: grupo_id integer pk,
  login_login varchar(20) pk

3) se teu banco de dados também guardar as ações possíveis (recursos e ações
referentes a esses recursos), nesse caso precisarás de mais tabelas. Vou
mostrar apenas um modelo simplificado no qual cada usuário pertença a apenas
um grupo, podes expandir como desejares:
Tabela: grupo
campos: id serial pk,
  nome varchar(40)
Tabela: login
 campos: login varchar(20) pk,
  senha varchar(32) ou bytea ou ... - depende de como guardarás
tua senha
  grupo_id integer fk,
  demais dados relativos a teu site... (email, nome, etc...)
Tabela: recursos   -- nesta tabela terias, por exemplo, login, fóruns,
recursos humanos, etc...
campos:id serial,
 nome varchar(80)
Tabela: acoes   -- nesta tabela terias, por exemplo, leitura, escrita,
administração, etc... Sao as acoes associadas a um recurso
 campos: id serial,
   nome varchar(40)
Tabelas acoes_recursos_grupo   -- aqui da a cada grupo permissao a
uma acao em um determinado recurso do site, por exemplo, dar permissao de
"alterar" no recurso "endereço de cliente" para o administrador
 -- se nao houver
registro nesta tabela para uma associacao acoes recursos grupo,  entao não
tem permissão
campos: acoes_id integer pk
  recursos_id integer pk
  grupo_id  integer pk

 Nota, são exemplos de modelagens de login usando um banco de dados (tipos
são do postgreSQL, mas podem ser convertidos facilmente para outros bancos
de dados). Lembre-se há muitas formas de se fazer isso.

Atenciosamente,

Desde já Obrigado.
>
> --
> tiagotecno...@globo.com
> Tiago Gomes de Oliveira
> Designer Gráfico
> (62)81252423
> Uruaçu - GO
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] atualização de versão

2010-03-13 Por tôpico Andre Fernandes
Em 13 de março de 2010 18:12, Dario  escreveu:

> Olá, atualmente utilizo o Postgresql 8.2 + postgis rodando como bd de um
> sig.
>
> Gostaria de mudar para o postrgresql 8.4 + postgis 1.5.
>
> Tenho apenas um bd com algumas tabelas e ainda sou iniciante, por isso
> solicito o auxílio em relação a quais os procedimentos que devo executar
> para fazer atualização e também para que possa utilizar minhas tabelas
> existentes na versão nova?
>
> Boa tarde,

Você deu uma olhada no manual do postgresql? Ali há uma sessão
especificamente sobre atualização:
*http://www.postgresql.org/docs/8.4/interactive/install-upgrading.html

*abraços,
-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Usando CPF/CNPJ como PK

2010-03-04 Por tôpico Andre Fernandes
Em 4 de março de 2010 16:00, Alexsander Rosa
escreveu:

> Sim, na verdade eu editei o texto várias vezes e este detalhe passou
> despercebido. Este campo, "chave_extra", ficaria com um valor tipo 0 (se for
> inteiro) ou brancos (se for texto) na maioria dos casos. Mas tenho minhas
> dúvidas se esta é mesmo a melhor solução, acho que no fim vai ser melhor
> usar uma chave artificial, a famosa "código do cliente".
>
> Existe também o problema da replicação. Cada filial tem um servidor
> (replicado) e nenhuma loja pode parar por falta de Internet ou falta de
> comunicação com a Matriz. Sei que muitas empresas simplesmente param quando
> isso acontece, com a tradicional explicação de que "estamos sem sistema",
> mas nós nunca achamos isto aceitável -- especialmente no caso das redes de
> varejo. Além disso, a legislação praticamente exige que o software de PDV
> emita cupons mesmo com o cabo de rede cortado.
>
> Neste cenário, cada servidor tem suas (poucas) SEQUENCES independentes
> (estão fora da replicação) e as PK de algumas tabelas são chaves compostas
> que incluem a coluna "id_servidor". Os clientes acabam recebendo um código
> que costuma ser exibido no formato 9502/1 (código 9502 do servidor 1) e os
> JOINS precisam sempre considerar isto. Não chega a ser nada desesperador,
> mas nesta reforma vamos reduzir o uso de chaves artificiais ao mínimo
> necessário -- como, talvez, esta tabela de "pessoas".
>
> Por enquanto, sem ter ainda me aprofundado nesta reforma (são centenas de
> tabelas), acho difícil escapar de pelo menos três chaves artificiais: código
> da pessoa, código do produto e número do pedido.
>
> Às vezes, o que parece ser uma chave artificial acaba recebendo um
significado no negócio e, por isso, toma enlaces de chave natural. Por
exemplo, quanto temos um número do pedido, esse número é o que identifica o
mesmo, é usado pelo comprador ao se referir sobre seu pedido, vai para uma
nota fiscal, então ele possui significado, deixa de ser uma chave
artificial, no sentido restrito.

Abraços,

-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Usando CPF/CNPJ como PK

2010-03-04 Por tôpico Andre Fernandes
Vocês já precisaram mesclar umas 5 bases, cada uma com uns 150 GB de

> dados, aproximadamente 800 tabelas, com 90% delas contendo chaves
> artificiais? Isso sim que é dor de cabeça.
>
> Procurem evitar chaves artificiais, mas se não tiver jeito usem-nas.
> Mas evite-as.
>
> Sim, chaves artificiais podem ser um problema se forem abusadas. Há casos
não muito comuns nos quais são úteis ou mesmo necessárias, mas evite usar
excessivamente, conforme disse sr. Dickson.
Complementando, chaves compostas não são necessariamente problemas, desde
que sejam naturais e obedeçam as exigências para serem chaves primárias.
Tomem cuidado com o medo excessivo de de chaves compostas, tenham medo mesmo
de muitas chaves artificiais.

-- 
André de Camargo Fernandes
___
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

2010-02-25 Por tôpico Andre Fernandes
Bom dia,

Em 25 de fevereiro de 2010 08:16, omar antonio escreveu:

> Preciso de uma função (trigger) para fazer buscar (pesquisas) dentro de
> varias tabelas de meu banco, se alguem souber de alguma coisa.
>
> Exemplo:
> Tenho um banco com aproximadamente umas 150 tables e preciso de uma função
> que eu passe os parametros como string e me retorno tudo o que ele encontrar
> nas 150 tables,
>
> O que pedes não é uma trigger, mas sim uma função apenas (function).
Triggers são "gatilhos", ou seja, são "controladores de eventos" em um
banco. Por exemplo, se, ao inserir dados em uma tabela precisas copiar os
registros para uma tabela de log indicando o histórico, usarias uma trigger
e esta chamaria uma função para executar a cópia dos registros.

Para desenvolver o que desejas, imagino que tens duas opções:
1) criar uma função que explicitamente lê todas as tabelas seguidamente (bem
tedioso de escrever, pelo número de tabelas)
2) criar uma função que leia os metadados do banco postgreSQL e com eles
construa as instruções dinâmicas (SQL dinâmico). Tem sobre isso no link:
http://www.postgresql.org/docs/8.4/interactive/plpgsql-statements.html#PLPGSQL-STATEMENTS-EXECUTING-DYN




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

Atenciosamente,
-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] pesquisa nas colunas

2010-02-17 Por tôpico Andre Fernandes
Boa noite,

Se estás a usar a versão 8.4, dê uma procurada em WITH, no manual. Entre
outras coisas, serve exatamente para isso que desejas.

Abraços,

Em 17 de fevereiro de 2010 18:24, Leandro Müller  escreveu:

>  Ola turma.
>
> Como posso fazer a seguinte consulta.
>
>
>
> select tabela.nome, sum(coluna1) as c1, sum(coluna2) as c2, c1+c2 as total
> from tabela.
>
>
>
> Isso é um exemplo, mas o que preciso é não ficar repetindo funções e
> calculo em outra coluna, preciso pegar o resultado de colunas já prontas.
>
>
>
> Alguém sabe como faço isso?
>
>
>
> Abraços.
>
>
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] UPDATE

2010-02-17 Por tôpico Andre Fernandes
Boa tarde,

Crie uma tabela com a mesma estrutura dessa tabela, e execute o seguinte:

insert into tabela_nova
select rank() over (order by valor desc),
valor
from tabela_antiga;

Então apague a tabela antiga e renomeie a tabela nova para o nome da antiga.

Abraços,



Em 17 de fevereiro de 2010 17:52, Marcos Bernardelli <
marcos.fut...@yahoo.com.br> escreveu:

> Boa tarde senhores(as)!
> Preciso fazer um UPDATE da seguinte forma:
>
> Tenho uma tabela com dois campos (indice, valor). Exemplo:
>
> indice | valor
> --
> NULL   |   150
> NULL   |   400
> NULL   |   350
> NULL   |50
> NULL   |   135
>
>
> O update deverá atribuir um valor ao índice em ordem decrescente de valor,
> ou seja, a tabela acima ficaria assim:
>
> indice | valor
> --
> 3  |   150
> 1  |   400
> 2  |   350
> 5  |50
> 4  |   135
>
> Sugestões?
>
> Atenciosamente,
>
> Marcos Bernardelli
>
> --
> Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 
> 10-
> Celebridades-
> Música-
> Esportes
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Funções em C-Language acessando t abelas

2010-02-15 Por tôpico Andre Fernandes
Em 15 de fevereiro de 2010 20:56, Euler Taveira de Oliveira <
eu...@timbira.com> escreveu:

> Andre Fernandes escreveu:
> > Nesse caso eu usaria na função a SPI_execute_with_args(), certo? Mas
> > como escreveria a SQL (qual a sintaxe para mostrar o local
> > dos argumentos na mesma)? E como passaria os OIDs para os tipos dos
> dados?
> >
> É só seguir a API...
>
> ...
>
> Oid oids[2];
> Datum   values[2];
> charnulls[2];
>
> int ret;
>
> ...
>
> oids[0] = INT4OID;
> values[0] = meu_primeiro_param;
> nulls[0] = ' '; /* not null */
>
> oids[1] = TEXTOID;
> values[1] = meu_segundo_param;
> nulls[1] = ' '; /* not null */
>
> ...
>
> ret = SPI_execute_with_args(
>"SELECT a, b FROM foo WHERE x > $1 AND y = $2", /* comando SQL */
>2,  /* número de argumentos */
>oids,   /* tipos dos argumentos */
>values, /* valores dos argumentos */
>nulls,  /* quais valores são nulo */
>true,   /* somente leitura? */
>5); /* número de registro processados */
>
> ...
>
> Obrigado, agora entendi um pouco melhor. Estava antes tentando fazer um
select na visão de tipos para pegar os tipos dos
parâmetros, mas com teu exemplo ficou muito mais simples. Realmente é menos
complexo depois de ver um exemplo como
esse.


>
> --
>   Euler Taveira de Oliveira
>  http://www.timbira.com/
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>


-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] variável de sessão

2010-02-15 Por tôpico Andre Fernandes
Em 15 de fevereiro de 2010 19:07, Osvaldo Kussama  escreveu:

> Em 15 de fevereiro de 2010 18:58, Andre Fernandes
>  escreveu:
> >
> >
> > Em 15 de fevereiro de 2010 18:49, Osvaldo Kussama
> >  escreveu:
> >>
> >> Em 15 de fevereiro de 2010 18:29, Andre Fernandes
> >>  escreveu:
> >> > Boa tarde,
> >> >
> >> > É possível criar em PostgreSQL uma "variável" de sessão? Em um
> >> > aplicativo
> >> > temos alguns valores que são constantes para cada sessão logada, que
> >> > serão
> >> > buscados por algumas queries custosas (rodadas dentro de uma function
> no
> >> > postgresql) e eu gostaria de colocar esses valores em memória no
> >> > postgresql
> >> > para poder usar posteriormente em outras queries executadas sem ter de
> >> > ficar
> >> > passando esses valores para o programa e depois retornando a cada
> função
> >> > executada, mas algo que fosse acessível apenas para aquela sessão.
> Dessa
> >> > forma, fiquei imaginando fazer algo como uma variável de sessão que
> >> > pudesse
> >> > funcionar como USER (select USER), retornando os valores que haviam
> sido
> >> > selecionados no início, mas teriam de ter vida útil por toda a sessão
> de
> >> > conexão.
> >> > Existe algo semelhante a isso em postgreSQL? Alguma forma de fazer
> isso?
> >> >
> >>
> >>
> >> Dê uma olhada em:
> >>
> >>
> http://www.postgresql.org/docs/current/interactive/runtime-config-custom.html
> >> e verifique se atende.
> >>
> > Parece ser exatamente o que eu preciso (se valerem explicitamente para
> uma
> > sessão).
> >  Mas, sabes como uma função em C (preferencialmente) ou em PLpgSQL teria
> > acesso a esses valores?
> >
>
>
> Para consultar o conteúdo use a função current_setting [1] ou comando SHOW
> [2].
> Para modificar use a função set_config [1] ou o comando SET SESSION [3].
>
> Osvaldo
>
> [1]
> http://www.postgresql.org/docs/current/interactive/functions-admin.html
> [2] http://www.postgresql.org/docs/current/interactive/sql-show.html
> [3] http://www.postgresql.org/docs/current/interactive/sql-set.html
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>

nem sei como te agradecer, obrigado. É exatamente o que eu procurava e não
achava.
Salvaste o meu dia!

-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] variável de sessão

2010-02-15 Por tôpico Andre Fernandes
Em 15 de fevereiro de 2010 18:49, Osvaldo Kussama  escreveu:

> Em 15 de fevereiro de 2010 18:29, Andre Fernandes
>  escreveu:
> > Boa tarde,
> >
> > É possível criar em PostgreSQL uma "variável" de sessão? Em um aplicativo
> > temos alguns valores que são constantes para cada sessão logada, que
> serão
> > buscados por algumas queries custosas (rodadas dentro de uma function no
> > postgresql) e eu gostaria de colocar esses valores em memória no
> postgresql
> > para poder usar posteriormente em outras queries executadas sem ter de
> ficar
> > passando esses valores para o programa e depois retornando a cada função
> > executada, mas algo que fosse acessível apenas para aquela sessão. Dessa
> > forma, fiquei imaginando fazer algo como uma variável de sessão que
> pudesse
> > funcionar como USER (select USER), retornando os valores que haviam sido
> > selecionados no início, mas teriam de ter vida útil por toda a sessão de
> > conexão.
> > Existe algo semelhante a isso em postgreSQL? Alguma forma de fazer isso?
> >
>
>
> Dê uma olhada em:
>
> http://www.postgresql.org/docs/current/interactive/runtime-config-custom.html
> e verifique se atende.
>
> Parece ser exatamente o que eu preciso (se valerem explicitamente para uma
sessão).
 Mas, sabes como uma função em C (preferencialmente) ou em PLpgSQL teria
acesso a esses valores?


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

Obrigado,

-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Funções em C-Language acessando t abelas

2010-02-15 Por tôpico Andre Fernandes
Boa tarde, Euler,

Em 15 de fevereiro de 2010 18:33, Euler Taveira de Oliveira <
eu...@timbira.com> escreveu:

> Andre Fernandes escreveu:
>
> [Não precisa repetir a sua pergunta...]
>
> Desculpa-me.


> > ninguém tem algum exemplo de funções em linguagem C que execute SQLs
> > (com parâmetros) e depois trabalhe com os valores retornados?
> > Alguém já fez isso? A documentação quase só fala de triggers e não vi
> > muitos exemplos de uso de SQL nela.
> >
> Eu não entendi o que você quer fazer. Podes dar um exemplo? Algo como:
>
> Estou tentando converter uma external procedure em C escrita para Oracle
(ali usa Pro*C)
para rodar em postgreSQL.  A procedure do Oracle executa diversas queries
custosas (SELECTs) cujos resultados
serão armazenados em memória para serem usados mais tarde na mesma conexão
ao banco (chamados os valores usando
outras procedures em C).



> SELECT foo(a, b, 10) FROM bar WHERE x > 15;
>
> Você já leu as seções 34.9.8 a 34.9.11 em [1]? Talvez o que você queira é
> utilizar o SPI [2]. Sem mais detalhes fica difícil sugerir algo.
>
>

> [1] http://www.postgresql.org/docs/8.4/static/xfunc-c.html
> [2] http://www.postgresql.org/docs/8.4/static/spi.html
>
> Sim, eu olhei ambas as partes, e inclusive olhei os exemplos de uso de SPI
do contrib. Contudo,
quando tentei utilizar a função SPI_execute_with_args(), por exemplo, tive
dificuldade de descobrir
como fazer a chamada, não encontrei nenhum exemplo da função (como colocar
os parâmetros, onde indico onde na query ficarão os parâmetros,
por exemplo).

Eu preciso fazer diversos Selects no banco e guardar esses valores em
memória, aliás, na memória compartilhada daquela sessão do banco de dados,
para ser usada por outras chamadas (no caso outras procedures chamadas na
mesma sessão de conexão).
Por exemplo, digamos que eu quisesse fazer:

SELECT num_lock from documento where num_checagem = $0 and num_seq =
$1;  (onde $0 e $1 seriam os parâmetros recebidos pela
procedure).


(Nota: esse select não é um select real da aplicação, mas o meu problema é
como fazer a chamada, depois disso fica fácil).
Nesse caso eu usaria na função a SPI_execute_with_args(), certo? Mas como
escreveria a SQL (qual a sintaxe para mostrar o local
dos argumentos na mesma)? E como passaria os OIDs para os tipos dos dados?

Por isso pedi exemplos de funções que façam queries, não achei nada
parecido.




>
> --
>  Euler Taveira de Oliveira
>  http://www.timbira.com/
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>


Obrigado,
-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] variável de sessão

2010-02-15 Por tôpico Andre Fernandes
Boa tarde,

É possível criar em PostgreSQL uma "variável" de sessão? Em um aplicativo
temos alguns valores que são constantes para cada sessão logada, que serão
buscados por algumas queries custosas (rodadas dentro de uma function no
postgresql) e eu gostaria de colocar esses valores em memória no postgresql
para poder usar posteriormente em outras queries executadas sem ter de ficar
passando esses valores para o programa e depois retornando a cada função
executada, mas algo que fosse acessível apenas para aquela sessão. Dessa
forma, fiquei imaginando fazer algo como uma variável de sessão que pudesse
funcionar como USER (select USER), retornando os valores que haviam sido
selecionados no início, mas teriam de ter vida útil por toda a sessão de
conexão.
Existe algo semelhante a isso em postgreSQL? Alguma forma de fazer isso?

Agradeço antecipadamente,
-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Funções em C-Language acessando t abelas

2010-02-15 Por tôpico Andre Fernandes
Boa tarde,
ninguém tem algum exemplo de funções em linguagem C que execute SQLs (com
parâmetros) e depois trabalhe com os valores retornados?
Alguém já fez isso? A documentação quase só fala de triggers e não vi muitos
exemplos de uso de SQL nela.

Desde já agradeço qualquer ajuda,
-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Exemplos de uso de SPI_execute_with_args

2010-02-13 Por tôpico Andre Fernandes
Boa noite,

Estou portando uma procedure do oracle (feita em C) para o postgresql e nela
estou precisando usar as funções SPI do banco. Infelizmente, são poucos os
exemplos encontrados no manual e não vi nenhum exemplo usando a função
SPI_execute_with_args, que é para mim fundamental. Alguém possui exemplos de
uso da mesma? E, se tiverem exemplos das demais funções SPI, também ficarei
agradecido, em especial se não forem triggers (os únicos exemplos que
encontrei foram de triggers, mas o que desejo é montar funções tradicionais,
não triggers).

Obrigado,
-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] PHP X Postgresql

2010-02-08 Por tôpico Andre Fernandes
Em 8 de fevereiro de 2010 13:03, Moisés Paes Sena
escreveu:

>
>
> Em 8 de fevereiro de 2010 11:33, Roberto Mello 
> escreveu:
>
> 2010/2/5 Moisés Paes Sena 
>>
>>>
>>> - use os nomes das entidades em PORTUGUES, no SINGULAR (ex.: pessoa,
>>> fone, fonepessoa, email, emailpessoa, etc), em relacionamentos Muitos para
>>> Muitos use "r" + "entidade1" + "entidade2" => rgrupousuario;
>>>
>>
>> Isso é arbitrário não é?
>>
>
> o prefixo "r" é de relacionamento, fica fácil vc identicar que esta tabela
> é MxM.
> em views uso sempre o prefixo "v", exemplo: "vusuario"
>
>
>>
>>
>>> - em propriedades de chave primária com id use "id" + (3 letras da
>>> entidade) [ex.: pessoa.idpes, fone.idfon, email.idema, fonepessoa.idfop,
>>> etc];
>>>
>>
>> Fica feio não? E confuso também. Se já se vai se referir a pessoa.id,
>> qual é a vantagem de pessoa.idpes?
>>
>
> Se você criar uma view a partir de um select entre duas tabelas você terá o
> id das duas tabelas sem precisar criar um alias para os campos.
>
> Além disto, nos campos seriais voce pode criar a sequencia com o nome
> "seqidusu" ou "seqidgru" e por ai vai. As sequencias nao são apenas para
> campos de chave primária, portanto você pode ter mais de um campo serial na
> mesma tabela, e fica fácil identificar os que são de uso em chave primária.
>
>
> Isto facilita muito quando você utiliza softwares como pgadmin, você começa
> digitar e ele já vai localizando corretamente.
>
> Descrobri a importância destes padroes na empresa em que trabalho, temos um
> BD com 568 tabelas, se nao seguir o padrao fica muito difícil identicar as
> coisas.
>
>
Boa tarde,

Padrões são deveras importante, mas não há nenhum padrão ideal. Podes
preferir um e outro achar que esse padrão não serve para ele. Quando deres
sugestão de padrão, aconselho explicitar que é uma sugestão, fica parecendo
ser uma regra geral, mesmo sendo uma regra específica para alguns usuários e
não influi no aprender postgreSQL. Aliás, eu pessoalmente não uso teu padrão
de nomes para ids porque o considero desnecessário para mim (não vejo
problema em criar visões com alias, aliás considero o uso de alias uma boa
prática).
Mas isso são questões de um indivíduo a outro ou de uma empresa a outra (se
for regra empresarial).

Abraços,
André.


> --
> Moisés P. Sena
> (Programador WEB)
> http://blog.moisespsena.com
> http://www.moisespsena.com
>
> ___
>

-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Res: Falha em Oracle 11g libera pri vilégios a banco de dados - OFF TOPIC

2010-02-06 Por tôpico Andre Fernandes
Gente, por favor, vamos parar com esta discussão tola.
Todos os softwares existentes, incluindo os bancos de dados, possuem
imperfeições. Até mesmo o postgreSQL, de que gosto tanto.
Todos os bancos de dados possuem falhas de segurança. Algumas mais graves
que outras, e todo novo release e novo patch tenta diminuir os mesmos, mas
com certeza teremos bugs nunca sequer imaginados antes sendo encontrados
amanhã. Não vamos querer brigar devido a plataformas ou sistemas, isso não
nos leva a nada.
Por mais que eu seja fã do postgreSQL, ele também não é perfeito. Vamos
respeitar os demais, por favor.

André.

Em 6 de fevereiro de 2010 14:33, MARCIO CASTRO <
marciomouracas...@yahoo.com.br> escreveu:

> Não fui eu que abrí este tópico.
>
>
> --
> *De:* Willian Jhonnes L. dos Santos 
> *Para:* Comunidade PostgreSQL Brasileira <
> pgbr-geral@listas.postgresql.org.br>
> *Enviadas:* Sábado, 6 de Fevereiro de 2010 11:43:22
>
> *Assunto:* Re: [pgbr-geral] Falha em Oracle 11g libera privilégios a banco
> de dados - OFF TOPIC
>
> Em 6/2/2010 08:50, MARCIO CASTRO escreveu:
>
> Se tais membros se preocupassem em realmente promover e divulgar o
> PostgreSQL, ao invés de perder tempo criticando outras plataformas (que
> pagam o salário de muita gente), creio que este banco seria mais conhecido e
> mais utilizado.
>
>
> Marcio, me desculpe, mas a unica coisa sua que acompnhei na lista ate agora
> foi o envolvimento em flames envolvendo o Oracle (lugar errado pra fazer
> isso). Nao vi um comentario consrutivo, uma sugestao, nada!
>
> Voce defende a bandeira do Oracle, otimo, mas isso nao eh importante aqui.
> Voce tem certificacao OCA, OCP ou OCM??? E dai??? Em que, pelo amor de
> qualquer coisa, isso eh util aqui?
>
> A imensa maioria dos membros da lista esta, sim, preocupada com a
> divulgaçao do PostgreSQL (salvo as exceçoes que defendem bandeiras
> proprietarias em uma discussao sobre Software Livre). E pode ter certeza que
> nosso trabalho eh mais arduo, mas muito mais gratificante justamente por
> isso. Acompanho a lista ha quase 2 anos e posso dizer que aprendi muito com
> todos aqueles a quem voce chama de infantis e acusa de "falarem bobagens".
>
> Entao, caro Marcio, nao sao eles que estao desvirtuando o escopo da
> lista...
>
> Sem mais (e prometo nao responder qualquer outra mensagem sobre este
> topico)
>
> --
> ---
> Att.:
> Willian Jhonnes L. dos Santos
> Analista/Desenvolvedor Object/Free Pascal
> willianjhon...@yahoo.com.br
> ---
> Seja livre. Use Linux.
> Grupo de Usuários GNU/Linux de São José dos Pinhais
> Linux user number 449753
> ---
> Powered by Slackware Linux 13.0
> Kernel 2.6.32.6-i686-core2quad
> ---
>
>
> --
> Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 
> 10-
> Celebridades-
> Música-
> Esportes
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
André de Camargo Fernandes
___
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 no create

2010-02-01 Por tôpico Andre Fernandes
Em 1 de fevereiro de 2010 14:14, Jorge Luiz escreveu:

> Prezados,
>
>Como eu poderia fazer uma trigger (ou um processo paralelo) que
> fosse disparada após qualquer "create" no banco de dados (caso exista a
> possibilidade).
>
>Exemplo, depois de criada uma tabela, executasse a funcao que da
> permissao de acesso para essa tabela:
>   select pg_grant_grupo('desenvolvimento','select','%','public');
>   select
> pg_grant_grupo('sistemas','select,update,delete,insert','%','public');
>
> Boa tarde,

Não existe ainda em postgreSQL triggers para alterações em estrutura no
banco de dados (por exemplo, criação de tabelas).

Atenciosamente,
André.



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



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Pesquisar função por nome no banc o

2010-01-29 Por tôpico Andre Fernandes
Hã?

>
> Acho que vc quiz dizer:
> SELECT routine_schema, routine_name
>   FROM information_schema.routine
>  WHERE routine_name = $$sp_funcao$$;
>
> Desculpa-me, minha intenção foi essa mesma, infelizmente escrevi correndo e

escrevi rotina para achar tabelas no lugar de funções... Falha minha (quem
manda escrever
correndo, :-) )

Abraços


>
> -Leo
> --
> Leonardo Cezar
> http://www.aslid.org.br
> http://postgreslogia.wordpress.com
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Pesquisar função por nome no banc o

2010-01-29 Por tôpico Andre Fernandes
Bom dia,

Acho que a melhor maneira de fazer isso é usando o information_schema, use o
seguinte select:

select table_schema, table_name
from information_schema.tables
where table_name like '%sp_funcao%';


Abraços,

Em 29 de janeiro de 2010 09:14, Thiago  escreveu:

> Galera, bom dia.
>
> Recentemente fiz uma função e no meio de tantos esquemas não consigo
> encontra-la, tem como fazer uma busca nas funções que existem no banco
> atraves de um nome?
>
> Tipo, todas as funções de todos os esquemas que contenham o nome
> "sp_funcao".
>
> Obrigado.
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Res: Res: Res: Res: Performance

2010-01-25 Por tôpico Andre Fernandes
2010/1/25 MARCIO CASTRO 

>
>
> De qualquer forma, gostaria de realizar os meus próprios testes aquí, e da
> melhor forma possível, a fim de descobrir o porquê da diferença de
> performance do PostgreSQL versus Oracle.
>

Essa é uma boa pergunta, há algumas formas. Acho que um dos principais
requisitos é a leitura e a escrita em tabelas, correto?
Então eu faria um teste criando uma tabela parecida com alguma tabela que
uses (de preferência uma tabela com muitos diferentes campos, chave primária
e também índices), por exemplo, acrescentaria a esta alguns milhares ou
mesmo milhões de dados randômicos (massa ou carga de testes). Logo em
seguida faria algumas queries de obtenção de dados: select simples (sem
cláusula where), um select com clausula where que use a chave primária, um
select que use um campo indexado que não seja chave primária e alguns testes
que tenham clausulas where com condições binárias (usando índices, de
preferência).
Logo após, criaria uma segunda tabela que tenha um campo como chave
estrangeira para a primeira tabela. Novamente faria uma carga e então uma
sequência de selects, mas desta vez usando a união da duas tabelas. Primeiro
faria sem criar um índice no campo da chave estrangeira e, depois, criaria o
índice e refaria todos os selects anteriores.
Até aqui teríamos testes simples de select. Para um teste um pouquinho
melhor, acrescentaria testes que usassem agrupamentos (como count() e
sum()), e logo após queries recursivas, além de ordenação.
Isso já daria uma massa boa de testes para comparar desempenho em selects
com poucas tabelas em ambos os bancos.
Também faria em seguida testes de inserção e de criação de tabelas usando
CREATE TABLE AS SELECT. Os testes de inserção poderiam ser com insert
simples e inserts usando selects em alguns campos.

Até aqui terias um teste de inserts, selects e create table as select. Se
quiseres, um bom teste também seria fazer algo semelhante com updates.

Por fim, faria testes de acessos a tabelas com PL/pgSQL e PL/SQL. Um bom
teste inicial poderia ser um select bobo e a cada interação no mesmo fazer
alguma coisa com os dados, para então retorná-los. Outro teste poderia ser o
de ler os dados de uma tabela (com alguma cláusula where, por exemplo) e no
loop atualizar outra tabela, ou mesmo inserir em outra tabela alguns dos
campos encontrados. E quaisquer outros testes que dependam de acesso a dados
e/ou atualização e/ou atualização de dados em tabelas (lembre-se de que
PL/pgSQL tem função primária de acesso a dados, assim cálculos puros, sem
acesso a dados (como fatoriais, por exemplo) não seriam uma boa amostragem
do uso de functions em postgreSQL com PL/pgSQL pois não é algo para o qual
foi criada.

Acho que com um teste assim terias algo mais interessante e melhor para
comparar ambos os bancos e descobrir o melhor de cada um. Contudo um teste
assim demanda um pouquinho de trabalho, infelizmente. Quanto mais casos
distintos conseguires fazer, mais casos distintos conseguirias averiguar.
Como disse antes, não descepcionei-me até hoje com nenhum dos dois bancos,
são muito bons.

Não sei se esse modelo (bem rascunhado ainda) pode ajudar-te, espero que
sim. Qualquer coisa, podemos desenhá-lo melhor (escrevi-o correndo agora).



>
> Dito isso, quais testes eu DEVERIA aplicar no PostgreSQL a fim de me
> certificar que a performance está ok ou não, ou se os parãmetros de
> configuração estão mal configurados, ou se há algum outro problema não
> detectado?
>
>
Não existe uma regra fixa de como saber se está bem configurado. Parte da
configuração tem de ser testada e verificada na prática, não existe uma
fórmula matemática para achar a configuração perfeita, infelizmente. Um bom
método seria verificar se as consultas estão no tempo esperado ou se estão
muito distantes do esperado. Em geral, consultas costumam ter tempo de
resposta semelhante às equivalentes do Oracle, que imagino teres uma maior
vivência, assim podes usar esse tempo como referência. Pequenas diferenças
não são problema, mas distâncias grandes entre os desempenhos pode indicar
má configuração, falta ou excesso de índices ou mesmo consulta mal escrita.

Abraços e boa sorte,

-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Performance

2010-01-23 Por tôpico Andre Fernandes
Em 23 de janeiro de 2010 17:55, Leonardo Cezar  escreveu:

>
> Concordo com tudo o que disse, com exceção das conversas de bar que
> costumam ser muito construtivas... Participe e tire suas conclusões.
>
> Sem dúvida costumam ser, fui um pouco extremista em minha afirmação, peço
desculpas,
não foi esse o intento.


>

> Abraço!
>
> -Leo
> --
> Leonardo Cezar
> http://www.aslid.org.br
> http://postgreslogia.wordpress.com
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Performance

2010-01-23 Por tôpico Andre Fernandes
Em 23 de janeiro de 2010 18:06,  escreveu:

> Concordo, no entanto se você foi DBA Oracle deveria saber que o tal
> "estudo" não poderá ser divulgado e talvez nem realizado sem a autorização
> da Oracle!
>
> Abraço,
> Fabiano Machado Dias
>
> Como quando fui DBA de Oracle não me preocupava com isso, não tinha sequer
olhado para esse
aspecto jurídico. Falha minha (por isso disse que não sabia se era
possível).
Aliás, isso foi antes de eu conhecer o postgreSQL (na época conhecia apenas
Oracle, MySQL e MS SQL Server).


Abraços,
-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Performance

2010-01-23 Por tôpico Andre Fernandes
Boa tarde,

Há uma discussão sobre desempenho de Oracle vs. PostgreSQL ocorrendo em
outro tópico, mas estamos indo em uma discussão complicada e com argumentos
complicados de ambos os lados.
Honestamente, Oracle é um ótimo banco, assim como é o PostgreSQL (que é meu
banco de dados predileto). Se vamos fazer um comparativo entre ambos,
precisamos primeiro fazer um modelo coerente de testes e executá-los.
E também precisamos levar em consideração o design e a função de cada
linguagem de cada banco de dados. Eu gostaria muito de ver um comparativo
bem montado, mas não tenho hardware nem tempo necessário para executar o
mesmo.
Por experiência própria, imagino ver um desempenho próximo entre os dois
(obviamente ambos os bancos bem configurados), sendo que um brilharia mais
em alguns pontos e o outro em outros. Já fui DBA de Oracle (na versão 8) e
sou hoje de PostgreSQL (desde a versão 8.0), em nenhum dos dois casos
descepcionei-me.
Na realidade, ambos os bancos continuam a me surpreender regularmente.
Se houver quem deseje elaborar um estudo desses, acho que seria de grande
valia.
Contudo, peço encarecidamente que não façamos afirmações amadoras do tipo
"Oracle é melhor que PostgreSQL" ou "PostgreSQL é melhor de Oracle" sem
dados reais ou apenas baseados em um caso específico, a não ser em conversas
"de bar". Um estudo bem montado poderia inclusive diminuir a incidência de
afirmações amadoras como essas.

Abraços,
-- 
André de Camargo Fernandes

PS: Não sei se seria possível fazer um estudo desses e publicar pois não sei
se a Oracle permitiria a divulgação do mesmo (desconheço a licensa da
Oracle, não sei se tem alguma cláusula referente a isso).
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Microsiga Prrotheus 10 - Stored Procedure

2010-01-22 Por tôpico Andre Fernandes
2010/1/22 Osvaldo Kussama 

> 2010/1/22 Andre Fernandes :
> > Bom dia,
> >
> > Seja bem vindo à lista!
> > Quanto a não possuir Stored Procedures, o postgreSQL não possui mesmo,
> ele
> > apenas possui funções. Qual a diferença? Funções sempre têm um retorno,
> > mesmo que seja um simples booleano TRUE. Dessa forma, isso não é uma
> grande
> > limitação do banco, pode ficar despreocupado.
>
> Se não desejar qualquer tipo de retorno é só declarar na definição da
> função "RETURNS void" [1].
>
> Verdade. Tinha esquecido do void.

-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Microsiga Prrotheus 10 - Stored Procedure

2010-01-22 Por tôpico Andre Fernandes
Bom dia,

Seja bem vindo à lista!
Quanto a não possuir Stored Procedures, o postgreSQL não possui mesmo, ele
apenas possui funções. Qual a diferença? Funções sempre têm um retorno,
mesmo que seja um simples booleano TRUE. Dessa forma, isso não é uma grande
limitação do banco, pode ficar despreocupado.
Com relação a usar o postgreSQL com o Microsiga Protheus, não conheço
grandes problemas, já vi algumas implantações do mesmo sem problemas
maiores. Obviamente, não é o carro chefe da Totvs, mas ainda assim, usando a
versão homologada do banco pela Totvs, não deve haver grandes empecílios.
E para tranquilizá-lo um pouco mais, há bancos grandes e com alta requisição
de usuários em postgreSQL no mercado. Há inclusive bancos (caixa econômica
federal, por exemplo) migrando parte de seus sistemas para postgreSQL.

Quanto à dextra, é uma empresa conceituada em postgreSQL, todos os
profissionais que trabalharam em projetos comigo e eram da Dextra foram
muito competentes. Se o curso deles for tão bom quanto os profissionais que
conheci, vale muito a pena.

Abraços,
André.

2010/1/22 Informática GMAIL 

>  Bom dia pessoal tudo bem?
>
>
>
> Essa é o meu primeiro e-mail para a lista, mas já acompanha a algum tempo e
> agora surgiu uma necessidade e preciso da ajuda da comunidade.
>
> Hoje aqui na empresa que trabalho, tenho ERP Microsiga Protheus 8.11 R4 e
> a partir de fevereiro/2010 estou migrando para o Protheus 10 R3 com banco
> de dados DB2 (que foi nos vendido na época como sendo o melhor banco de
> dados e por falta de conhecimento acabamos aceitando), mas venceu a
> “validade” do DB2 e estamos tendo de ou comprar a versão nova do DB2 ou MS
> SQL Server ou partir para algum banco FREE, ai que surgiu a idéia de colocar
> PostgreSQL que pelo que vi é muito bom.
>
>
>
> É isso que quero pedir a opinião de vocês, pelos testes que fiz aqui, o
> Protheus 10 rodou legal com o PostgreSQL, mas tem a historia de que a
> Microsiga homologa para apenas 10 usuarios, mas aqui utilizamos mais e
> ficou muito bom.
>
> Foi nos dito também que o PostgreSQL não tem Stored Procedure isso é
> verdade?
>
>
>
> Como surgiu essa idéia, também surgiu a idéia de se fazer um curso de
> PostgreSQL aqui em Campinas-SP (moro em Valinhos-SP) na Dextra, alguém
> conhece essa escola? É boa? Vale a pena fazer esse curso de PostgreSQL?
>
>
>
> Se alguém puder comentar sobre esse assunto, ou se tem PostgreSQL rodando
> com o Protheus 10 eu agradeço antecipadamente.
>
>
>
> Meu MSN é alm...@hotmail.com e skype andre-valinhos.
>
>
>
> Obrigado a todos
>
>
>
> * *
>
> *Atenciosamente*
>
>
>
> *André Luiz Moro*
>
> *Analista de Informática*
>
> *É** ** **19-3881-8000*
>
> *Ê** ** **19-3881-8009*
>
> *È** 19-9684-8644*
>
> *skype: andre-valinhos*
>
> *MSN messenger: alm...@hotmail.com*
>
> *www.filtracom.com.br* 
>
> *QUALIDADE GERA QUALIDADE*
>
>
>
>
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Acesso a base de dados física

2010-01-21 Por tôpico Andre Fernandes
Caramba! Que solução comercial impede um super-usuário de fazer alguma
coisa? (que eu saiba, super usuário é quase "Deus" na máquina, certo?)
Não pensaste em tirar esse role do usuário? E verificar quem deve ser
super-usuário?

Parece-me problema de administração de permissões simplesmente, conforme já
falaram antes de mim. Tome cuidado com situações onde o super-usuário não
deveria sê-lo, esse é um dos piores cenários imagináveis de futuros
problemas.

Abraços,

2010/1/20 Vinicius Santos 

> > Sim. Basta que esse usuário *não* seja super-usuário do SO e nem o
> usuário que
> > executa o PostgreSQL (senão ele pode modificar o pg_hba.conf). Além
> disso,
> > certifique-se que *não* esteja utilizando ident (caso haja um usuário no
> SO
> > com mesmo nome de um usuário no PostgreSQL) e que as conexões do tipo
> 'local'
> > estejam utilizando um método de autenticação diferente de 'trust',
> 'ident' e
> > 'password'.
>
> Esse é o problema, o usuário é super-usuário do SO e tem acesso ao
> pg_hba.conf.
>
> Acho que teremos que resolver isso com soluções comerciais. =(
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Qual o melhor Sistema Operacional?

2010-01-21 Por tôpico Andre Fernandes
$ SET flame TO ON;

Várias distribuições linux são bacanas e rodam bem com o PostgreSQL, tive
boas respostas com Slackware, Debian e até mesmo Ubuntu Server. Apenas
fiquei triste com algumas coisas no Fedora ao trabalhar com o postgreSQL
ali, mas deve ser por eu já ter uma certa ressalva quanto a essa
distribuição anteriormente.
Também gosto muito de usar FreeBSD com postgreSQL, é uma combinação
poderosa! E no Solaris, temos outra combinação fantástica!
Qual a melhor? Depende de ti. Eu optaria por um BSD (FreeBSD, por exemplo)
ou por Solaris, mas lembre-se de que estes dependem um pouco mais de
conhecimento de quem for administrar. Mas também não é nada absurdo.

$  no available time for disabling flame... WAR...

Abraços,


2010/1/21 Marcos André 

> Olá Srs.,
>
>   Estou para criar um servidor de banco de dados PostgreSQL e neste momento
> nos veio a seguinte dúvida "Qual o melhor Sistema Operacional?" e para isto
> estou fazendo um estudo e através da experiencia da comunidade eu preciso
> saber quais as melhores opções para este tópico.
>
>
> --
> At.
> Marcos André
> Analista de Sistemas
> Cel.: (11) 9103-4350
>
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Documentação automática (ou q uase) de "bando" de dados PostgreSQL

2010-01-20 Por tôpico Andre Fernandes
Há vários, tente o ModelRight 3.5 for postgresql, versão comunity, por
exemplo...

2010/1/20 Welington R. Braga 

> Salve todos,
>
> Estou precisando documentar um "bando" de dados em PostgreSQL com
> centenas de tabelas e que ninguém sabe quem liga a quem e nem há
> documentação de campos nem nada. Será um trabalho hercúleo e que
> gostaria de automatizar um pouco pra adiantar.
>
> Alguém sabe um programa - preferivelmente para Linux - que consiga me
> gerar de forma  automática um diagrama ER, UML ou algo do gênero?
>
> 
>  Se souberem algum que possa fazer o mesmo com bases MySQL será muito
> bem-vindo também
> 
>
>
> Grato.
>
> --
> Welington Rodrigues Braga
> --
> Web: http://www.welrbraga.eti.br
> MSN: welrbraga[*]msn·com
> Gtalk: welrbraga[*]gmail·com
> Yahoo / Skype:  welrbraga
> PGP Key: 0x6C7654EB
> Linux User #253605
>
> "Em tudo somos atribulados, porém não angustiados; perplexos, porém
> não desanimados; perseguidos, porém não desamparados; abatidos, porém
> não destruídos;" - 2Co 4:8,9
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] ERP em Postgres

2010-01-18 Por tôpico Andre Fernandes
Eu uso a kinghost e gostei muito do serviços deles.

Abraços.

2010/1/18 Tarcísio Sassara 

> Entra em contato com a locaweb. Eles oferecem o PostgreSQL.
>
> Dependendo das circunstâncias, vale mais a pena servidores dedicados
> ou virtuais.
>
> 2010/1/18 Celso Jose Salustiano 
> >
> > Na empresa onde eu trabalho utilizamos um ERP com banco de dados
> Postgres. Pretendemos hospedar o banco de dados em um DC que ofereça suporte
> a este banco. O Google não listou nenhuma empresa. Alguém poderia indicar
> alguma?
> >
> > CJS
> > 
> > Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 10 -
> Celebridades - Música - Esportes
> > ___
> > pgbr-geral mailing list
> > pgbr-geral@listas.postgresql.org.br
> > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
> >
>
>
>
> --
> Tarcisio F. Sassara
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Ordem de Execução PostgreSQL

2010-01-12 Por tôpico Andre Fernandes
Boa tarde,

É necessário realmente ter duas triggers?
Quase sempre que tenho casos assim, crio apenas uma trigger e em uma das
funções  (a primeira a ser chamada) coloco uma chamada para a outra função.
Assim a trigger chama a primeira função e esta, antes de finalizar, chama a
outra função.

Atenciosamente,
André.

2010/1/12 Rodrigo Justina 

> Olá pessoal uma dúvida.
>
> Alguns "triggers" para ser disparado no mesmo evento BEFORE UPDATE, até
> pelo que sei
> o PostgreSQL não possui algo que determine a ordem de disparo dos
> "triggers" a não ser pela ordem alfabética ou seja:
>
> no exemplo abaixo existem dois triggers o primeiro a atualizar neste caso
> será (tr_atua_ano) pois em ordem alfabética ela vêem antes da (tr_atua_mes)
>
> tr_atua_mes
> tr_atua_ano
>
> No Oracle sei que existe claúsula *Follows* ou seja ela força que a
> trigger seja disparada apenas após a trigger "x" ser disparada exemplo:
>
>
> Create or replace trigger tr_atua_ano
> Before Update
> on teste
> Follows tr_atua_mes
> 
>
>
> existe alguma forma ou alguém conhece algum jeito de fazer isso no
> PostgreSQL ?
>
> att
> Rodrigo Della Justina
> rodrigodellajust...@gmail.com
>
>
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Qual estrutura utilizar?

2010-01-07 Por tôpico Andre Fernandes
> Pelo contrário, estou aqui com o livro do Codd, _The Relational Model
> for Database Management: Version 2_.  Não existe outro modelo
> relacional, nem aplicação fora de bases de dados.  Aliás, a teoria não
> é somente matemática: fundamenta-se na lógica dos predicados /e/ na
> teoria dos conjuntos.
>
>
>
Boa tarde,
Lógica de predicados e teoria dos conjuntos são parte da matemática.
No restante, não discordo muito de ti, apenas devo dizer que modelo
relacional tem aplicação em qualquer armazenamento, até mesmo em bibliotecas
ou estoques,
não somente em bancos de dados. Infelizmente não é comum vermos o uso
explícito fora de bancos de dados, mas existe aplicação fora deste. A não
ser que consideremos
bibliotecas ou estoques de uma empresa como sendo bancos de dados (há um
professor alemão que menciona muito essa forma de se tratar banco de dados,
extendendo o conceito para qualquer "agrupamento" organizado de objetos e/ou
dados - todos os objetos podem ser considerados dados).


Abraços,
-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Qual estrutura utilizar?

2010-01-04 Por tôpico Andre Fernandes
Sobre o código INEP, usar o código INEP no lugar de CNPJ...

Abraços,

2010/1/4 Leonardo Cezar 

> 2010/1/4 Andre Fernandes :
> > Boa tarde,
> > Eu tinha perguntado a mesma coisa há pouco... :-)
> >
> > Mas também já vi a resposta, abraços, desculpa por ter mencionado a mesma
> > coisa...
>
> Afe ...
> Boiei!
>
> -Leo
> --
> Leonardo Cezar
> http://www.aslid.org.br
> http://postgreslogia.wordpress.com
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Qual estrutura utilizar?

2010-01-04 Por tôpico Andre Fernandes
Boa tarde,
Eu tinha perguntado a mesma coisa há pouco... :-)

Mas também já vi a resposta, abraços, desculpa por ter mencionado a mesma
coisa...


Utilize o código INEP [1] ... ;-) que naturalmente deveria ser a chave
> de instituição educional.
>
> 1) inep.gov.br
>
> 
>
> -Leo
> --
> Leonardo Cezar
> http://www.aslid.org.br
> http://postgreslogia.wordpress.com
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Qual estrutura utilizar?

2010-01-04 Por tôpico Andre Fernandes
Boa tarde,
Pessoalmente, após analisar um pouco mais o assunto, sou a favor de chaves
artificiais em muitas tabelas, salvo algumas poucas exceções. Isso não
significa que a chave artificial precise estar desprovida de significado.
Uma chave primária tem de ser a forma de buscar na tabela usada
primariamente e que identifica o registro. Isso significa que criar uma
chave artificial numa tabela de pedidos pode ter um sentido, é a
identificação de qual o pedido do cliente e quando o mesmo ligar, será
solicitada essa chave (número do pedido) para achar o mesmo. Por outro lado,
se formos olhar a tabela de clientes, quando um cliente ligar, o que
pediremos dele? O CPF/CNPJ, nome, etc., ou o seu número de cadastro (Id)?
Nesse caso a chave artificial perde o sentido (meaningless), e precisamos
avaliar se haveria razão para usá-la.
Antes que mencionem que podemos ter alguma alteração em chaves primárias
naturais (mudanças de regras de negócio, por exemplo), essa não seria uma
boa justificativa para não usá-las visto a teoria Relacional não proibir
alterações de chaves primárias. Por outro lado, no caso de um cliente, qual
seria uma boa alternativa? Eu diria que o CPF/CNPJ pois é único, identifica
o registro. Contudo nesse caso temos de analisar outro aspecto, tamanho
ocupado. Supondo que não guardamos os dígitos nem traços, teremos um campo
com tamanho 14. Na tabela de clientes temos esse registro e em todas as
tabelas que possuam chave estrangeira para ela.
Se usássemos um inteiro longo, teríamos na tabela de clientes adicionado 8
bytes por linha, e em todas as tabelas que possuam chave estrangeira para
com ela adicionaríamos 8 bytes e tiraríamos o tamanho da string (15 bytes).
Ou seja, diminuiríamos em cada linha de cada tabela 7 bytes.
Colocando valores para teste, imaginemos que tenhamos 1 clientes
cadastrados, 120 pedidos (incluindo cancelados), 22000 telefones
cadastrados (a tabela telefone teria uma chave estrangeira para indicar qual
o cliente dono do mesmo) e 12400 endereços cadastrados (a tabela de
endereços teria uma chave estrangeira para indicar qual o cliente dono do
mesmo).
Nota: os valores são de um período de uma base na qual trabalhei
(arredondados), somente não posso mencionar o nome da empresa.
Voltando ao caso, temos adicionados 8*1 bytes na tabela clientes com
relação a não termos essa chave artificial, e ganhamos 7 *
(120+22000+12400) bytes, ou seja, neste caso o ganho de espaço (sem nem
considerar as chaves em si, que também ocupam espaço em disco) seria
considerável.
Vários casos assim podem ter vantagem de chaves artificiais, mas precisamos
tomar cuidado, isso não é lei, há exceções. Ainda não há provas concretas e
irrefutáveis de que usar chaves naturais ou artificiais seja a melhor
alternativa, talvez por nem ser possível isso, mas muitas vezes chaves
artificiais são uma ótima adição.
Recomendo que verifiquem se vale a pena o uso de chaves artificiais.

Atenciosamente,
André.


PS: a teoria relacional não trata de chaves artificiais ou naturais, não
especifica nenhuma delas, trata de normalizações e relações entre conjuntos.
Aliás, nem trata de banco de dados, banco de dados apenas usam a mesma, mas
não são as únicas coisas que usam essa teoria matemática.

PS2: No exemplo apresentado, por quê não usas o código INEP?

2010/1/4 Alexsander Rosa 

> Isso me lembra aquela velha discussão sobre usar CPF/CNPJ como chave
> natural, o que é impossível porque inúmeros órgãos públicos compartilham o
> mesmo CNPJ. Aqui no RS, por exemplo, simplesmente TODAS as escolas estaduais
> usam o CNPJ da Secretaria da Educação, não apenas a raiz, o CNPJ inteiro.
> Para o pagamento de empenhos os nomes das escolas precisam estar corretos
> até a última vírgula, não dá pra emitir a NF em nome da Secretaria e depois
> mandar entregar na escola. É muito mais simples usar um SERIAL para código
> de cliente do que tentar achar uma chave natural viável.
>
> Sou totalmente a favor de chaves naturais, uso sempre que possível, mas há
> casos em que simplesmente não dá.
>
> 2010/1/4 Leandro DUTRA 
>
>>
>> Não.  Nunca falei isso.  Falei que geralmente chave artificial é
>> desnecessária; não que é sempre desnecessária.  E, aliás, que o que
>> menos me importa é qual seja a chave primária, ou qual chave será
>> ‘exportada’ (não nesta discussão, talvez).
>> (...)
>> O problema não é a existência do SERIAL, é seu uso — e abuso.
>>
>> Para bom entendedor… fica claro que o que exijo é chave natural,
>> independente de ser primária ou alternativa, e que prefiro que não
>> haja artificial a não ser que o desempenho exija.
>>
>>
>>
> --
> Atenciosamente,
> Alexsander da Rosa
> Linux User #113925
>
> "Extremismo na defesa da liberdade não é defeito.
> Moderação na busca por justiça não é virtude."
> -- Barry Goldwater
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
A

Re: [pgbr-geral] Res: Uso de Campos Padrões

2010-01-02 Por tôpico Andre Fernandes
2010/1/2 Tarcísio Sassara 

> 2010/1/2 Leonardo Cezar :
> > 2010/1/1 Tarcísio Sassara :
> >> Ainda não conheço uma biblioteca/framework ORM que faz uso adequado de
> >> chaves naturais compostas.
> >
> > php: doctrine, propel;
> > python: SQLAlchemy;
> > ruby: DataMapper;
> > java: qualquer framework baseado na porcaria do JPA, por exemplo
> hibernate;
> >
> > Abraço!
> >
>
> Opá,
> Da lista conheço o SQLAlchemy, o Propel e o Doctrine.
>
> Acho que o Doctrine superou o Propel.
> E no site do Doctrine diz: "Avoid composite keys"
>
>
> http://www.doctrine-project.org/documentation/manual/2_0/en/best-practices#avoid-composite-keys
>
> Se da o suporte mas não recomenda o uso, não é legal.
>
> O ORM provido pelo Django também não faz direito (faz tempo que não
> dou uma olhada).
>
>
> Para novas aplicações criadas isso não é muito problemático. É só
> seguir as convenções, mas quando é preciso migrar deve dar uma dor de
> cabeça.
>
>
>
Boa tarde,

Honestamente, o uso de ORMs é um assunto deveras polêmico.

Eu, pessoalmente, sou contra. Não considero boa prática ter a estrutura do
banco na aplicação, não vejo razão de transportar a mesma para a aplicação,
ela não precisa saber quais são as tabelas que se usa no banco. A modelagem
do banco de dados pertence ao banco de dados.
E também já vi muitos problemas de desempenho e más implementações quanto a
muitos aspectos referentes ao banco em diversos ORMs de mercado. Incluindo
Doctrine, Propel, Hibernate, entre outros. Mas isso é minha visão pessoal.

Por outro lado, tenho amigos que são excelentes desenvolvedores (eu sou
analista de dados, mesmo sabendo programar não tenho visão de programador)
que adoram o uso de ORMs. Muitos deles gostam de doctrine para PHP e
Hibernate para Java. Mesmo ao apontar os problemas que encontrei nessas
ferramentas, eles consideram que esses ORMs são ótimas alternativas e ajudam
muito. Mesmo discordando tenho de aceitar a opnião deles pois assim é o
mundo do desenvolvimento de software: há diversas frentes, e quase nunca
apenas uma está correta.

Eu, pessoalmente, considero melhor prática usar visões e procedures para
acessar dados do banco ou mesmo alterá-los, com poucas excessões. O programa
não precisa saber o que está em cada tabela, precisa apenas solicitar que,
por exemplo, insira um novo cliente e mandar os dados dele. E depois precisa
ler os dados do mesmo, não se preocupando se tem 1, 2, 3, ou mais tabelas
que compooem essa informação.
Essa é a minha visão, é como faria. Mas se entrarmos em discussão quanto a
isso a coisa vai longe, é um assunto muito polêmico.

Abraços,
André.

PS: o hibernate não é baseado no JPA, pelo que me recordo é o contrário.




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



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Uso de Campos Padrões

2009-12-30 Por tôpico Andre Fernandes
> Não evita duplicidade? Me de um exemplo ou um case por favor, porque

> > então a documentação está errada e tudo o que li tb.
>
> Sim, escreve-se muita bobagem.
>
> Por exemplo, imagine um cadastro qualquer, com um código incremental e
> um nome que tem de ser único.  É um exemplo simplérrimo, só para
> mostrar o problema.
>
> 1 José
> 2 José
> 3 José
>
>
> Bom dia,

Desculpa-me entrar nesta discussão, contudo neste exemplo mencionado há um
possível erro de modelagem, o problema não é a chave artificial
explicitamente.

Chaves artificiais não são um mal por si só, mas também não salvam sempre a
pátria. Temos de tomar cuidado para que não destruam uma modelagem. Concordo
que chaves artificiais podem ser problema quando o modelo está errado, mas
nem sempre chaves naturais são adequadas ou mesmo possuem bom desempenho
(imagine uma chave composta onde todos os campos são strings, pode ser muito
ruim para um bom desempenho de consultas).
Além do mais, um id interno para o usuário, para a empresa, etc., pode ser
facilmente entendido, não é um monstro que complica tudo.

Óbvio que precisamos tomar cuidado e cada caso é um caso, há tabelas onde
não temos necessidade alguma de criar chaves artificiais.

(lembre-se que nem as regras de normalização sempre devem ser seguidas, há
momentos em que precisamos ferir uma delas para que o desempenho não seja
ínfimo).

-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Gatilho de comandos DDL no Postgres

2009-12-28 Por tôpico Andre Fernandes
Olá,

Ainda não existe em postgreSQL gatilhos disparados por alteração de
estruturas (DDL), apenas por alteração de dados (DML).

Não sei se há previsão de surgir essa funcionabilidade no banco, já li
outras pessoas procurando por esse recurso porém desconheço o
desenvolvimento dessa funcionabilidade.

Abraços,

2009/12/28 emerson hermann 

> Olá Pessoal,
>
> Gatilho de comandos DDL no Postgres, alguém tem material ou site, dica
> sobre este assunto.
>
> A idéia é monitorar toda criação/alteração de estrutura no banco
> gravando em tabela os seguintes dados usuário, data e hora, comando
> DDL executado.
>
> Exemplo:
> usuario data_horacomando_ddl
> bug   2009-12-28 11:08DROP table financeiro.contas_a_receber;
>
> Já vi um artigo falando sobre gatilho de comandos DDL em SQL Server
> 2005, na revista Sql Magazine.
>
> Estou tentando fazer algo semelhante com Postgres, alguém tem alguma dica ?
>
>
> Desde já agradeço.
>
> Cordialmente,
>
> Emerson Hermann
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Tabela de mensagens

2009-12-22 Por tôpico Andre Fernandes
Boa tarde,

Se é previsto um aumento substancial de número de registros nessa tabela,
talvez tudo o que tenhas a fazer seja criar um índice na coluna "recebida".
Não vejo a necessidade de escrever novamente em outra tabela.
Mas teste se realmente a criação do índice auxilia ou atrapalha o
desempenho. Se o número de registros se tornar grande, essa pode ser uma boa
ajuda. Nota: como nada neste mundo é de graça, índices podem afetar outras
operações, como escrita (inserção e atualização de registros), assim se faz
necessária um teste antes de colocar isso em produção.

Abraços,

2009/12/22 Alisson Viegas 

>  Boa tarde, pessoal.
>
> Tenho uma tabela de mensagens que gravo as comunicações internas dos
> usuários.
>
> Ex: Notificações de compras, reposição de estoque, expedição, faturamento,
> etc.
>
> Em um intervalo de tempo, o front-end busca nesta tabela se o usuário tem
> mensagens.
>
> Ao abrir a mensagem ela é marcada como recebida. Tudo funciona 100%.
>
> Ainda não tenho uma base muito grande para notar baixa de performance, mas
> tenho uma questão:
>
> Penso em gravar as mensagem recebidas em outra tabela (mensagens
> arquivadas) para melhorar a consulta na tabela ativa quando esta crescer.
>
> O que vocês me dizer? É um bom caminho ou não vai fazer diferença, já que o
> escopo da consulta filtra somente mensagens não lidas de um determinado
> usuário.
>
>
>
> At.te,
> Alisson Viegas
> Acsiv Sistemas
>
>
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Ferramenta para modelagem

2009-12-18 Por tôpico Andre Fernandes
Claro,

Depois de instalar o programa, é necessário copiar todos os arquivos Dll da
pasta bin do postgresql para o programa. Eu também apanhei quanto a isso
antes, tinha copiado o arquivo libpq.dll e somente isso não era suficiente,
ai li que precisava copiar todas as dlls da instalação do postgresql e
finalmente tudo funcionou!

Espero que também funcione direito contigo,
Abraços,

2009/12/18 Tiago Valério 

> Andre
>
> Instalei o modelright  apresenta o seguinte erro apresentou, 'Database
> libary not found', to fazendo um conexão remota.Existe a configuração da
> libpq.Poderia me dar um auxilio na resolução deste problema?
>
>
> Valeu.
>
> 2009/12/16 Andre Fernandes 
>
>> Há algumas bacanas, a de que mais gosto é ModelRight for PostgreSQL
>> (community edition).
>>
>> www.modelright.com
>> Mas há outras também interessantes, mas não me recordo os nomes no
>> momento.
>>
>> Minha dica fica para o ModelRight, tanto a versão gratuita é muito boa,
>> quanto a paga que não é absurdamente cara como muitos concorrentes.
>>
>> Abraços,
>>
>> 2009/12/16 Janderson Matos 
>>
>>>  Olá PessoALL,
>>>
>>> Alguém conhece uma ferramenta para modelagem (for Win), que seja
>>> free e que se aproxime ao máximo do MySQL Workbench (para quem
>>> conhece), ou poderia recomendar uma que tenha uma boa interface gráfica ?
>>>
>>> Janderson
>>>
>>>
>>> ___
>>> pgbr-geral mailing list
>>> pgbr-geral@listas.postgresql.org.br
>>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>>
>>>
>>
>>
>> --
>> André de Camargo Fernandes
>>
>>
>>
>> ___
>> 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
>
>


-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Ferramenta para modelagem

2009-12-16 Por tôpico Andre Fernandes
Há algumas bacanas, a de que mais gosto é ModelRight for PostgreSQL
(community edition).
www.modelright.com
Mas há outras também interessantes, mas não me recordo os nomes no momento.

Minha dica fica para o ModelRight, tanto a versão gratuita é muito boa,
quanto a paga que não é absurdamente cara como muitos concorrentes.

Abraços,

2009/12/16 Janderson Matos 

> Olá PessoALL,
>
> Alguém conhece uma ferramenta para modelagem (for Win), que seja
> free e que se aproxime ao máximo do MySQL Workbench (para quem
> conhece), ou poderia recomendar uma que tenha uma boa interface gráfica ?
>
> Janderson
>
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] REF. Duplicar Tabelas e Acrescentar Colunas.

2009-12-14 Por tôpico Andre Fernandes
Bom dia,
Parece que o que desejas é um sistema de logs em tabelas, certo?
Por quê não dás uma olhada neste pacote para o postgreSQL:

http://pgfoundry.org/projects/tablelog/

é muito bem escrito e até onde usei, estável e confiável.

Abraços,


2009/12/14 VisualP Sistemas 

>  Olá Pessoal,
>
> Terminei um sistema com 46 tabelas.
> Agora vou precisar duplicar o nome destas tabelas
> acrescentando* _log. Ex: aluno -> alugo_log*, etc;
> e também preciso acrescentar no inicio destas tabelas tres novas colunas:
>
> *operacao char
> usuario varchar
> data timestamp*
>
> Ex: se tabela aluno tem duas colunas:
> *id char
> aluno varchar*
>
> apos rodar trigger ficaria: aluno_log
>
> *operacao char
> usuario varchar
> data timestamp
> id char
> aluno varchar*
>
> Alguem conhece algum trigger ou tem alguma dica ?
>
> Obrigado.
>
> Paulo.
>
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Como fazer um sistema de auditoria para DELETE's?

2009-12-12 Por tôpico Andre Fernandes
Respeitosamente,

Triggers bem implementadas podem ser uma grande coisa ao sistema. Claro que
precisas tomar cuidado com situações de chamadas cíclicas ou mesmo de
encadeamento de chamada de triggers, pois nesse caso poderias ter
performance reduzida ou mesmo deadlocks.  Já implementei sistemas robustos
que usavam triggers para logs internos e não tive perda de performance
alguma.

Gravar em uma tabela separada (específica para logs) que não tenha triggers
pode ser viável.
Em alguns sistemas que modelei, criei um schema para os logs (dentro do
mesmo banco de dados) e nele criei uma tabela de log correspondente à tabela
específica. Então criei uma trigger na tabela a ser vistoriada para que
gravasse na tabela de log.

Há várias formas de montar uma tabela de log, precisas encontrar a melhor
para si, eu gostava de utilizar uma que possuisse todos os campos da tabela
original (ou talvez sem algum campo que possua data de atualização, se
houver) mais dois campos, um timestamp que tenha a data e hora da gravação
nessa tabela (valor default: now()) e outro campo indicando o tipo de
alteração: I (inserção), U (atualização) ou D (delete).

Abraços,


2009/12/11 Wolak Sistemas - Fabiano Machado Dias <
fabi...@wolaksistemas.com.br>

>  Na minha opinião é meio complicado você trabalhar com triggers pois além
> do desempenho você pode acabar com um grande problema na mão quando uma
> dessas triggers der algum problema e você não souber mais quem está chamando
> quem.
>
> Não sei como você fez o seu sistema, no nosso caso existe um função que
> controla os comando DML, se você tem algo parecido, ou seja um ponto central
> (seja uma classe, procedure, pl) que controle os comandos para você é mais
> fácil por exemplo criar uma tabela de parâmetro onde você diria qual tabela
> iria ter auditoria e a que nível, e a partir daí programar o seu sistema de
> controle de escrita para daí sim disparar os seus Inserts, Updates e
> Deletes.
>
> Existem outras maneiras de se fazer é claro e triggers até pode ser uma
> solução, mas tenha MUITO cuidado com elas.
>
> Abraço,
> Fabiano Machado Dias
>
> Andre Lopes escreveu:
>
> Desde já obrigado a ambos, pois deram-me duas ideias.
>
> Realmente não sei muito bem o que adoptar, por agora. Já tenho a base de
> dados terminada e não me apetecia mexer muito mais nela, em relação á
> auditoria tenho os 3 campos que referi em todas as tabelas.
>
> Com a solução da tabela única fica tudo centralizado, tem o senão de ser
> mais difícil fazer SELECT's ao campo DADOS, com a solução de espelhar todas
> as tabelas é mais fácil fazer SELECT's, mas vai-me dar mais um dia de
> trabalho espelhar todas as tabelas...
>
> Vou pensar neste assunto seriamente enquanto durmo...
>
> Mais uma vez obrigado.
>
>
> Cumprimentos,
>
>
> On Sat, Dec 12, 2009 at 12:24 AM, Lucas Souza 
> wrote:
>
>>
>>
>> 2009/12/11 Tiago Adami 
>>
>>> 2009/12/11 Andre Lopes :
>>>  > Boas,
>>> >
>>>
>>> ...
>>> >
>>> > A minha pergunta... Como fazem auditoria a DELETE's?
>>>
>>
>>
>> Oi Andre, vou te passar um exemplo da faculdade :) (foi feito para o
>> Oracle, mas espero que te de uma ideia e te ajude ;)
>>
>>
>> CREATE TABLE AUDITORIA (
>> TABELA VARCHAR2(50) NOT NULL,
>> DATA DATE NOT NULL,
>> OPERACAO CHAR(1) NOT NULL,
>> USUARIO VARCHAR2(50) NOT NULL,
>> DADOS VARCHAR2(2000) NOT NULL
>> );
>>
>>
>> CREATE TRIGGER TRG_AUDIT_EMPREGADO
>> AFTER DELETE OR INSERT OR UPDATE
>> ON EMPREGADO
>> FOR EACH ROW
>> DECLARE
>>   DADOS VARCHAR2(2000);
>>   BEGIN
>>IF DELETING THEN
>>  DADOS := 'CÓDIGO : '|| :OLD.CODEMP || ‘ NOME : '|| :OLD.NOME ||
>> ‘ SALÁRIO : '|| :OLD.SALARIO;
>>  INSERT INTO AUDITORIA VALUES('EMPREGADO',SYSDATE,'D',USER,DADOS);
>>END IF;
>>
>>   IF INSERTING THEN
>> DADOS := 'CÓDIGO : '|| :NEW.CODEMP ||   ‘ NOME : '|| :NEW.NOME
>> ||   ‘ SALÁRIO : '|| :NEW.SALARIO;
>> INSERT INTO AUDITORIA VALUES('EMPREGADO',SYSDATE,'I',USER,DADOS);
>>END IF;
>>
>>   IF UPDATING THEN
>> DADOS := 'CÓDIGO OLD: '|| :OLD.CODEMP ||  ‘ NOME OLD: '||
>> :OLD.NOME || ‘ SALÁRIO OLD: '|| :OLD.SALARIO ||
>>'CÓDIGO NEW: '|| :NEW.CODEMP || ‘ NOME NEW: '|| :NEW.NOME
>> || ‘ SALÁRIO NEW: '|| :NEW.SALARIO;
>> INSERT INTO AUDITORIA VALUES('EMPREGADO',SYSDATE,'U',USER,DADOS);
>>END
>> IF;
>> 32
>> END;
>>
>>
>> --
>> Lucas de Souza D'Ávila
>> Graduando em Sistemas de Informação - CV Lattes:
>> http://lattes.cnpq.br/9245658982061645
>>
>> http://twitter.com/lucasdsd
>>
>> ___
>> pgbr-geral mailing list
>> pgbr-geral@listas.postgresql.org.br
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>>
> --
>
> ___
> pgbr-geral mailing 
> listpgbr-ge...@listas.postgresql.org.brhttps://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.or

Re: [pgbr-geral] Windows 7

2009-12-11 Por tôpico Andre Fernandes
Bom dia,

Tudo indica que seja um problema com as permissões de teu firewall ou então
a máquina onde está sendo instalado não tem acesso à internet.

André.


2009/12/11 ocxy 

> Pessoal, alguem já conseguio instalar o PostGreSQL 8.4.1.1 em Windows 7.
> Esta ocorrendo o seguinte erro já no final da instalação.
>
> Loading additional SQL modules...
> Executing cscript //NoLogo
> "D:\PostgreSQL\8.4\installer\server\loadmodules.vbs" "postgres" "postgres"
> "D:\PostgreSQL\8.4" "D:\PostgreSQL\8.4\data" 6000 "1"
> Script exit code: 2
>
> Script output:
>  Installing pl/pgsql in the template1 databases...
> psql: nÆo p“de conectar ao servidor: Connection refused (0x274D/10061)
> O servidor est  executando na m quina "???" e aceitando
> conexäes TCP/IP na porta 6000?
> nÆo p“de conectar ao servidor: Connection refused (0x274D/10061)
> O servidor est  executando na m quina "???" e aceitando
> conexäes TCP/IP na porta 6000?
>
> Failed to install pl/pgsql in the 'template1' database
> Installing the adminpack module in the postgres database...
> psql: nÆo p“de conectar ao servidor: Connection refused (0x274D/10061)
> O servidor est  executando na m quina "???" e aceitando
> conexäes TCP/IP na porta 6000?
> nÆo p“de conectar ao servidor: Connection refused (0x274D/10061)
> O servidor est  executando na m quina "???" e aceitando
> conexäes TCP/IP na porta 6000?
>
> Failed to install the 'adminpack' module in the 'postgres' database
> loadmodules.vbs ran to completion
>
> Script stderr:
>  Program ended with an error exit code
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] O que é uma view? Dúvida concei tual

2009-12-08 Por tôpico Andre Fernandes
Boa tarde,

Na view não é costumeiro colocar funções de agregação. Pense na view como se
fosse uma tabela com todos os dados prontos para seu usuário, mas sem
funções de agregação.
Quando precisares de uma função de agregação, podes fazer um select de tua
view e então nesse select usar a função agregadora (como sum() )

Exemplo:
Se tiveres uma view chamada vendas com os campos id, valor, valida,
data_venda
Poderias fazer um select nela para ter os totais (sum(valor)) de venda
válida num período:

select sum(valor) from vendas where valida=TRUE and data_venda between ...
AND ...

Na view não colocarias os totais (os valores de sum()), salvo raríssimas
excessões.

Espero que tenha ficado bem explicado, qualquer dúvida é só perguntar,
Abraços,


2009/12/8 Bruno Carneiro 

>
>
>
> andrecf wrote:
> >
> > Se um dado a
> > ser buscado pode ser obtido sem uso de cálculos externos a ele, pode ser
> > uma
> > boa idéia usar views.
> >
> >
>
> O que seriam esses dados externos? Por exemplo, se eu faço um SELECT com
> SUM
> eu faço cálculo, mas este não é externo e pode estar dentro de uma view.
> Certo?
>
>
>
> Obrigado a todos. De um modo geral acho que peguei a idéia.
>
> --
> View this message in context:
> http://old.nabble.com/O-que-%C3%A9-uma-view--D%C3%BAvida-conceitual-tp26692992p26693763.html
> Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com.
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] O que é uma view? Dúvida concei tual

2009-12-08 Por tôpico Andre Fernandes
Bom dia,
Uma view é um select pré-armazenado dentro do banco de dados. Se um dado a
ser buscado pode ser obtido sem uso de cálculos externos a ele, pode ser uma
boa idéia usar views.
Um bom uso de views é também para restringir acessos a dados no banco. Por
exemplo, se tens uma tabela onde tens todos os dados da venda, inclusive os
dados do cartão de crédito (este é um exemplo, raramente guardarias esse
dado sem criptografia, etc...), mas não queres correr o risco que esse dado
seja visto ao mostrar um relatório de vendas, então fazes uma view que não
traga esse valor. Poderias até trazer os últimos 4 caracteres do cartão de
crédito, por exemplo. Logo em seguida negarias o acesso do usuário da
aplicação à tabela e somente daria a ele permissão de acesso à visão (view).
Pronto, ele pode ver todos os dados que são de interesse dele, mas não o
número de cartão de crédito.
Funções que retornam dados poderiam fazer a mesma coisa, mas seria mais
lento (em teoria pelo menos) pois teria mais etapas para retornar os mesmos
registros. Contudo funções podem efetuar cálculos, inserir ou alterar dados,
navegar entre os registros um a um, entre outras coisas.

Espero ter ajudado,
Abraços,

2009/12/8 Bruno Carneiro 

>
> Sou estudante, estou tentando fazer o projeto de um sistema.
>
> Na hora de projetar o banco de dados fiquei com dúvida sobre o que era uma
> view ou não.
>
> Porque no meu sistema, em vários momentos eu vou requisitar dados, de
> diversas formas diferentes.
>
> Quando eu devo usar uma view e quando eu devo usar uma função, por exemplo?
>
> A minha dúvida não é tecnica, é conceitual. Qual a diferença entre uma view
> e uma função que retorna dados?
>
> Informações técnicas também são bem vindas, mas a minha dúvida é mesmo
> conceitual.
>
> Dentro do meu schema, eu tenho separado as funções e as views.
>
> Eu sei quais são todos os dados que devo pedir ao banco, só não sei como
> devo classificá-los, se como view ou como função.
>
> Conjecturei que view é quando você pega dados diretos do banco, sem
> computá-los. Já quando você faz calculos em cima deles e os combina para
> gerar novos dados, seria uma função.
>
> Ok, alguém poderia me ajudar?
> --
> View this message in context:
> http://old.nabble.com/O-que-%C3%A9-uma-view--D%C3%BAvida-conceitual-tp26692992p26692992.html
> Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com.
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Res: lentidão versao 8.4

2009-12-07 Por tôpico Andre Fernandes
Bom dia,

No quesito aumento de performance, acho que todos estão citados nos "release
notes" da versão. Nos demais casos é previsto que o desempenho se mantenha.
Obviamente, para tanto, ao migrar é necessário que se faça uma analyse de
todo o banco para que suas estatísticas estejam atualizadas e assim o
otimizador do banco possa trabalhar de forma correta. E também é importante
analisar mudanças na configuração do banco, isso também pode afetar muito a
performance (de uma versão para outra podemos ter novos parâmetros ou
retirada de parâmetros que antes existiam e agora não se fazem necessários).
Quanto a perda de performance, não conheço nenhum caso no qual isso ocorra,
mas é possível que haja algum. Como partes do motor do banco de dados foram
atualizados, em algum caso muito particular o desempenho pode ter sido
prejudicado. Mas volto a dizer que não conheço nenhuma situação na qual isso
ocorreu.

Resumindo, o ideal é ler as alterações ocorridas na nova versão (release
notes), rodar uma análise de todo o banco de dados (analyse) e, por fim,
verificar os arquivos de configuração do banco. Se após tudo isso ainda
houver uma queda de desempenho, precisamos ver o que ocorre - pode ser que
tenhas sido "premiado" e pegado um raro caso no qual houve perda de
desempenho devido a uma melhoria do banco de dados.

Release notes:
http://www.postgresql.org/docs/current/interactive/release-8-4.html

Abraços,
André.

2009/12/5 MARCIO CASTRO 

> Caro André:
>
>   Você escreveu o seguinte:
>
>
> "Em geral, o desempenho de consultas com o postgreSQL 8.4 é superior ao com
> o 8.3, mas sempre pode haver uma exceção."
>
>   Gostaria que você me explicasse o porque dessa diferença de performance,
> e também das exceções.
>
>
> No aguardo,
>
> Márcio de Figueiredo Moura e Castro
>
>
>
> --
> *De:* Andre Fernandes 
> *Para:* Comunidade PostgreSQL Brasileira <
> pgbr-geral@listas.postgresql.org.br>
> *Enviadas:* Sexta-feira, 4 de Dezembro de 2009 9:31:51
>
> *Assunto:* Re: [pgbr-geral] lentidão versao 8.4
>
> Bom dia,
>
> Estranha essa queda em desempenho. Para ajudar-te precisamos de um pouco
> mais de dados: todas as queries estão mais lentas ou apenas alguma
> especificamente?
> Além do tempo, também estás com problema de consumo de processamento,
> certo? Tem maior consumo de memória utilizada também ou não?
> O config do postgreSQL foi alterado ou está o padrão?
>
> Se puderes, dê mais detalhes de teu banco de dados, o que for possível,
> para entendermos o que pode estar ocorrendo. Em geral, o desempenho de
> consultas com o postgreSQL 8.4 é superior ao com o 8.3, mas sempre pode
> haver uma exceção. Mesmo assim sempre há como voltar a um desempenho
> otimizado.
>
> Abraços,
>
> 2009/12/4 Leandro Müller 
>
>>
>>
>> Ola turma.
>>
>> Fiz a migração ontem para vesão 8.4 do postgresql e reparei que esta muito
>> lento as querys, vejo o processamento no Linux e todas as consultas
>> utilizando muito processamento, coisa que não ocorria na 8.3.
>>
>> É normal, alguém já passou por isso.
>> Existe alguma forma de melhorar o desempenho nas consultas?
>>
>> Abraços.
>>
>> At.
>>
>> Leandro Müller
>>
>> ___
>> pgbr-geral mailing list
>> pgbr-geral@listas.postgresql.org.br
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>
>
>
> --
> André de Camargo Fernandes
>
>
>
> --
> Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 
> 10<http://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/>-
> Celebridades<http://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/celebridades/>-
> Música<http://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/m%C3%BAsica/>-
> Esportes<http://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/esportes/>
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] lentidão versao 8.4

2009-12-04 Por tôpico Andre Fernandes
Bom dia,

Estranha essa queda em desempenho. Para ajudar-te precisamos de um pouco
mais de dados: todas as queries estão mais lentas ou apenas alguma
especificamente?
Além do tempo, também estás com problema de consumo de processamento, certo?
Tem maior consumo de memória utilizada também ou não?
O config do postgreSQL foi alterado ou está o padrão?

Se puderes, dê mais detalhes de teu banco de dados, o que for possível, para
entendermos o que pode estar ocorrendo. Em geral, o desempenho de consultas
com o postgreSQL 8.4 é superior ao com o 8.3, mas sempre pode haver uma
exceção. Mesmo assim sempre há como voltar a um desempenho otimizado.

Abraços,

2009/12/4 Leandro Müller 

>
>
> Ola turma.
>
> Fiz a migração ontem para vesão 8.4 do postgresql e reparei que esta muito
> lento as querys, vejo o processamento no Linux e todas as consultas
> utilizando muito processamento, coisa que não ocorria na 8.3.
>
> É normal, alguém já passou por isso.
> Existe alguma forma de melhorar o desempenho nas consultas?
>
> Abraços.
>
> At.
>
> Leandro Müller
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Dúvida em script PostgreSQL

2009-12-01 Por tôpico Andre Fernandes
Um comentário: esta é a pgbr-geral !

2009/12/1 Osvaldo Kussama 

> Só para lembrar: esta *não* é a lista adequada para este tipo de
> dúvida. Utilize a pgbr-geral.
>
> Osvaldo
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Conversão de Data s

2009-11-23 Por tôpico Andre Fernandes
Renato,
Dê uma olhada no manual, verás muita coisa ali. Por exemplo, para concatenar
strings em postgreSQL use o operador ||
Para pegar uma parte de uma data use a função date_part().

Para as demais, dê uma olhada no manual do postgreSQL, vais aprender muita
coisa ali.

http://www.postgresql.org/docs/8.4/interactive/functions-datetime.html
(as funções de data e hora)

http://www.postgresql.org/docs/8.4/interactive/functions-string.html
(funções e operadores para strings)

PS: lembre-se de que '2008-9-18' é uma string, assim poderás precisar
transformar a mesma para tipo data antes de usar algumas funções. A
conversão pode ser feita, por exemplo, usando a função to_date()

Exemplo de conversão:
select to_date('2008-09-12','-MM-DD')

Antes de postar uma dúvida procure no manual para ver se encontra a
resposta, não achando, teremos imenso prazer em ajudar.

Atenciosamente,

2009/11/23 Renato Oliveira 

> Luiz,
>
> Tá correto sim, pedi a ajuda pq não tenho habilidade nenhuma com banco
> PostGRE.
>
> Aliás, estou engatinhando em banco de dados.
>
>
> Atenciosamente
> Renato S. Oliveira
> Sincronica Sistemas Integrados
> +55 11 2539 0544 / 0545
>
>
>
>
>
> Mon, 23 Nov 2009 13:36:36 -0200 (BRST), l...@xharbour.com.br escreveu:
>
> > Ola
> >
> > vc pegou o binario correto para sua versao do gcc?
> >
> > []s
> > Luiz
> >
> > > Boa tarde,
> > > Viste no manual do postgreSQL as funções para datas e números? Basta
> > > converter o que tens no mysql para que use as funções do postgreSQL.
> > >
> > > Abraços,
> > >
> > > 2009/11/23 Renato Oliveira 
> > >
> > >> Boa Tarde,
> > >>
> > >> Preciso de uma ajuda,
> > >>
> > >> Alguém poderia me passar uma função que faça a conversão de um UINT
> para
> > >> DATE e outra função que faça o contrário ?
> > >>
> > >> no mysql tenho esta aqui:
> > >>
> > >> UINT -> DATA
> > >>
> > >> SELECT
> > >>
> CONCAT(ROUND(((14652&65024)/512)+1980),'-',ROUND((14652&480)/32),'-',ROUND(14652&31))
> > >> AS DATA;
> > >>
> > >>
> > >> DATA -> UINT
> > >>
> > >> SELECT
> > >> DAY('2008-9-28')|(MONTH('2008-9-28')*32)|(YEAR('2008-9-28')-1980)*512
> AS
> > >> UINT;
> > >>
> > >>
> > >> Atenciosamente
> > >> Renato S. Oliveira
> > >> Sincronica Sistemas Integrados
> > >> +55 11 2539 0544 / 0545
> > >>
> > >> ___
> > >> pgbr-geral mailing list
> > >> pgbr-geral@listas.postgresql.org.br
> > >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
> > >>
> > >
> > >
> > >
> > > --
> > > André de Camargo Fernandes
> > > ___
> > > 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 mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Conversão de Datas

2009-11-23 Por tôpico Andre Fernandes
Olá,
binário correto para a versão do gcc?



2009/11/23 

> Ola
>
> vc pegou o binario correto para sua versao do gcc?
>
> []s
> Luiz
>
> > Boa tarde,
> > Viste no manual do postgreSQL as funções para datas e números? Basta
> > converter o que tens no mysql para que use as funções do postgreSQL.
> >
> > Abraços,
> >
> > 2009/11/23 Renato Oliveira 
> >
> >> Boa Tarde,
> >>
> >> Preciso de uma ajuda,
> >>
> >> Alguém poderia me passar uma função que faça a conversão de um UINT para
> >> DATE e outra função que faça o contrário ?
> >>
> >> no mysql tenho esta aqui:
> >>
> >> UINT -> DATA
> >>
> >> SELECT
> >>
> CONCAT(ROUND(((14652&65024)/512)+1980),'-',ROUND((14652&480)/32),'-',ROUND(14652&31))
> >> AS DATA;
> >>
> >>
> >> DATA -> UINT
> >>
> >> SELECT
> >> DAY('2008-9-28')|(MONTH('2008-9-28')*32)|(YEAR('2008-9-28')-1980)*512 AS
> >> UINT;
> >>
> >>
> >> Atenciosamente
> >> Renato S. Oliveira
> >> Sincronica Sistemas Integrados
> >> +55 11 2539 0544 / 0545
> >>
> >> ___
> >> pgbr-geral mailing list
> >> pgbr-geral@listas.postgresql.org.br
> >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
> >>
> >
> >
> >
> > --
> > André de Camargo Fernandes
> > ___
> > 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
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Conversão de Datas

2009-11-23 Por tôpico Andre Fernandes
Boa tarde,
Viste no manual do postgreSQL as funções para datas e números? Basta
converter o que tens no mysql para que use as funções do postgreSQL.

Abraços,

2009/11/23 Renato Oliveira 

> Boa Tarde,
>
> Preciso de uma ajuda,
>
> Alguém poderia me passar uma função que faça a conversão de um UINT para
> DATE e outra função que faça o contrário ?
>
> no mysql tenho esta aqui:
>
> UINT -> DATA
>
> SELECT
> CONCAT(ROUND(((14652&65024)/512)+1980),'-',ROUND((14652&480)/32),'-',ROUND(14652&31))
> AS DATA;
>
>
> DATA -> UINT
>
> SELECT
> DAY('2008-9-28')|(MONTH('2008-9-28')*32)|(YEAR('2008-9-28')-1980)*512 AS
> UINT;
>
>
> Atenciosamente
> Renato S. Oliveira
> Sincronica Sistemas Integrados
> +55 11 2539 0544 / 0545
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Intervalo de Datas

2009-11-20 Por tôpico Andre Fernandes
Boa tarde,

Usa

select cast('2008-11-15' as date) + interval '90 days'

e terás um resultado no formato timestamp, ou usa

select cast((cast('2008-11-15' as date) + interval '90 days') as date)

e terás um resultado no formato date (sem horário).

Atenciosamente,


2009/11/20 Renato Oliveira 

> Olá,
>
> Sou novato em PostGreSQL, tenho uma função no MySQL (SELECT
> date_add('2008-11-15', INTERVAL +90 DAY) FROM DUAL;) e gostaria de saber
> qual é a função no PostGRE que retorna o mesmo resultado,
>
>
> Atenciosamente
> Renato S. Oliveira
> Sincronica Sistemas Integrados
> +55 11 2539 0544 / 0545
>
>
>
>
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Backup via comando SQL

2009-11-18 Por tôpico Andre Fernandes
>
> Além disso, tem que ser um processo muito bem estruturado pois se for
> necessário restaurar o backup tem que executar em uma certa ordem devido a
> existências das FKs.
>
> Sim, isso é verdade, teria de ser muito bem estruturado. Pelo menos foi uma
idéia de como fazer, acho se eu precisasse disso, tentaria por ai.

Abraços,
-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Backup via comando SQL

2009-11-18 Por tôpico Andre Fernandes
Posso estar errado, mas não poderias ler as tabelas de sistema (simples
selects) e usar essas informações para fazer uma espécie de dump? Como
muitos programas que fazem engenharia reversa em um banco de dados
postgreSQL...
Ou mesmo poderias dar uma olhada no código fonte do pg_dump. Imagino que
seja em C.

Abraços,


> Tiago Adami escreveu:
>> > Desculpem se este assunto já foi abordado, mas tenho uma vaga lembrança
>> > de ter lido alguma coisa na internet sobre um script ou função em C para
>> > fazer backup do banco de dados com a estrutura completa (dados e
>> > metadados) via comando SQL, sem usar o pg_dump.
>> >
>> Enquanto o pg_dump não for reescrito para ser uma biblioteca (já foi
>> discutido
>> no passado), acho pouco provável você ver outro programa que prometa fazer
>> o
>> que ele faz.
>>
>> Qual a dificuldade de agendar um pg_dump no cron? Se queres fazer via SQL
>> você
>> pode criar um função em PL/PerlU, por exemplo, que invoque o pg_dump.
>>
>>
>> --
>>  Euler Taveira de Oliveira
>>  http://www.timbira.com/
>> ___
>> pgbr-geral mailing list
>> pgbr-geral@listas.postgresql.org.br
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>
>
>
> --
> Rodrigo F. Lang
> Amd. de Redes em Telecom
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
> 2009/11/18 Euler Taveira de Oliveira 



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Ref: System error 193 has ocurred (Ao rodar o banco)

2009-11-14 Por tôpico Andre Fernandes
Bom dia,
Qual o sistema operacional onde instalaste o postgreSQL? Como tentaste dar
start no banco e qual a mensagem de erro (se tem alguma)?



2009/11/14 Humberto Reis 

> Pessoal, bom dia
>
> Sou novo no PG e estou tentando migrar do Firebird para o PostGreSql. Vamos
> ao ocorrido:
>
> 1) Instalei o banco da primeira vez, só que esquecí a senha do banco;
> 2) Desinstalei o banco, apaguei a pasta, o usuário;
> 3) Reinstalei tudo
>
> Não consegui mais dar o start no banco. Alguem pode me ajudar?
>
> Grato,
>
> Humberto
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Tabela com valores Acumulados?

2009-11-11 Por tôpico Andre Fernandes
Não entendi o que desejas fazer.

2009/11/11 Eder Sousa 

> Boa tarde!!
>
> Preciso criar uma tabela da seguinte maneira:
>
> valor 2 100,00 50 % 50%
> valor 1  50,00 25 %  75%
> valor 1  50,00 25 %100%
> ...
>
> Alguém tem uma forma de como montar um SQL (função) que resolva este tipo
> de Problema?
>
> Abraços
> 
> Eder Sousa
> skype:softpira?chat
> edersousa-at-gmail.com
> gescla-postgresql-ubuntu-php
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Postgre + linguagem

2009-11-09 Por tôpico Andre Fernandes
Então é bem provável que sim...
Embora o anterior tenha uma sintaxe do Lisp do Emacs e esse seja o Scheme,
ambos continuam sendo Lisp... :-)


2009/11/9 Leandro DUTRA 

> 2009/11/9 Andre Fernandes :
> > Não cheguei a usar PL/Scheme, assim não sei se teria ligação com ele.
>
> Nem precisa ter — basta ser usado pelas mesmas pessoas que usariam o PL/el.
>
>
> --
> skype:leandro.gfc.dutra?chat  Yahoo!: ymsgr:sendIM?lgcdutra
> +55 (11) 3854 7191  gTalk: 
> xmpp:leand...@jabber.org
> +55 (11) 9406 7191ICQ/AIM: aim:GoIM?screenname=61287803
> BRAZIL GMT-3  MSN: msnim:chat?contact=lean...@dutra.fastmail.fm
> Sent from Sao Paulo, SP, Brazil
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Postgre + linguagem

2009-11-09 Por tôpico Andre Fernandes
>> > PL/el (um achado muito bacana, um dos

> >> > desenvolvedores conhecia e foi uma boa adição).
> >>
> >> Que é isso?  Nem o Google me ajudou, nessa.
> >
> > É uma conversão do PL.el (interface lisp do emacs para postgresql) como
> > linguagem procedural dentro do banco de dados. Não cheguei a procurar
> nada a
> > mais sobre o mesmo, assim não tenho idéia de como esteja esse projeto.
>
> Talvez tenha sido superado pelo PL/Scheme... mas vou procurar um pouco
> mais a respeito.
>

Bem possível. Como apenas vi a mesma naquele projeto, não sei que fim levou.
Era interessante, mas faltava muita coisa a ser implementada ainda.
Não cheguei a usar PL/Scheme, assim não sei se teria ligação com ele.



> --
> skype:leandro.gfc.dutra?chat  Yahoo!: ymsgr:sendIM?lgcdutra
> +55 (11) 3854 7191  gTalk: 
> xmpp:leand...@jabber.org
> +55 (11) 9406 7191ICQ/AIM: aim:GoIM?screenname=61287803
> BRAZIL GMT-3  MSN: msnim:chat?contact=lean...@dutra.fastmail.fm
> Sent from Sao Paulo, SP, Brazil
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Postgre + linguagem

2009-11-09 Por tôpico Andre Fernandes
> > Como banco de dados para as informações, podíamos escolher quase qualquer
> um
> > (salvo DB2).
>
> Curioso, por quê?
>
> Especificação do cliente, nenhuma razão técnica apresentada.


>
> > PL/el (um achado muito bacana, um dos
> > desenvolvedores conhecia e foi uma boa adição).
>
> Que é isso?  Nem o Google me ajudou, nessa.
>
>
É uma conversão do PL.el (interface lisp do emacs para postgresql) como
linguagem procedural dentro do banco de dados. Não cheguei a procurar nada a
mais sobre o mesmo, assim não tenho idéia de como esteja esse projeto.

Abraços,


>
> --
> skype:leandro.gfc.dutra?chat  Yahoo!: ymsgr:sendIM?lgcdutra
> +55 (11) 3854 7191  gTalk: 
> xmpp:leand...@jabber.org
> +55 (11) 9406 7191ICQ/AIM: aim:GoIM?screenname=61287803
> BRAZIL GMT-3  MSN: msnim:chat?contact=lean...@dutra.fastmail.fm
> Sent from Sao Paulo, SP, Brazil
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Postgre + linguagem

2009-11-08 Por tôpico Andre Fernandes
Foi um sistema bem interessante, onde faziamos análises dinâmicas de mercado
e bolsas de valores - a grande complicação neste caso foi o tempo de
resposta, que era muito pequeno e as matrizes de valores eram enormes (havia
matrizes com mais de 3000 colunas por alguns milhões de linhas), com muitos
cálculos sobre as mesmas. Originalmente foi solicitado que se fizesse em
Prolog (por ser funcional), mas como meu know-how de Prolog é pequeno,
escolhi Lisp. A vantagem de lisp num caso desses foi o fato de simplificar
muito a codificação de tarefas complexas devido a sua sintaxe. O problema é
acostumar-se a uma sintaxe totalmente diferente de C e seus derivados.
Como banco de dados para as informações, podíamos escolher quase qualquer um
(salvo DB2). Analisando algumas facilidades do PostgreSQL (principalmente o
fato de poder utilizar diversas linguagens internas), pareceu-nos a melhor
opção (vendo custo e benefício). Usamos nele o tradicional PL/pgSQL, muitas
procedures e triggers em C (por desempenho), alguma coisa em PL/Perl
(particularmente sou fã de Perl) e PL/el (um achado muito bacana, um dos
desenvolvedores conhecia e foi uma boa adição).
A interface entre o Lisp e o PostgreSQL é simples, temos diversas
bibliotecas para isso, mas como faz tempo não me recordo qual foi a
escolhida.
A plataforma era Solaris (honestamente não lembro a versão), PostgreSQL 8.0
(na época foi um sufoco fazer funcionar corretamente e com bom desempenho no
solaris, talvez por inexperiencia minha com a plataforma) e o dialeto usado
do Lisp foi o Common Lisp (GCL).

Foi uma boa experiência, mas bem estressante, é o tipo de sistema que exige
tudo que eu podia imaginar do programador, do analista de dados e,
principalmente, do matemático (sem ele não conseguiríamos nem pensar em
trabalhar com as matrizes geradas - eu ainda não era matemático (nem
estudante de matemática) na época).


2009/11/7 Leandro DUTRA 

> 2009/11/2 Andre Fernandes :
> > Outra linguagem que usei com postgreSQL para web foi
> > Lisp, para um sistema financeiro de alta complexidade
>
> Uau!  Essa me deixou curioso.
>
>
> --
> skype:leandro.gfc.dutra?chat  Yahoo!: ymsgr:sendIM?lgcdutra
> +55 (11) 3854 7191  gTalk: 
> xmpp:leand...@jabber.org
> +55 (11) 9406 7191ICQ/AIM: aim:GoIM?screenname=61287803
> BRAZIL GMT-3  MSN: msnim:chat?contact=lean...@dutra.fastmail.fm
> Sent from Sao Paulo, SP, Brazil
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Ter uma tabela com ordem sempre mantida

2009-11-07 Por tôpico Andre Fernandes
Euler,
Desculpa a ignorância, mas o que é o _fillfactor_?

2009/11/7 Euler Taveira de Oliveira 

> Tiago Adami escreveu:
> > Mas continuando, a questão que me veio à cabeça inicialmente é de
> > quantos registros existem no universo deste problema, e em qual
> > intervalo de tempo a fila recebe ou perde registros que exijam uma nova
> > reorganização.
> >
> Por que não utilizar simplesmente o _fillfactor_? Manter uma tabela
> ordenada é
> uma tarefa árdua (principalmente se essa tabela sofre muitas modificações).
>
>
> --
>  Euler Taveira de Oliveira
>  http://www.timbira.com/
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Tutoriais Rapidos

2009-11-02 Por tôpico Andre Fernandes
Acho que um dos melhores materiais é a documentação do postgreSQL, ele
ensina o básico de PL/pgSql (uma das linguagens de programação dentro do
postgresql) e mostra como fazer triggers e procedures.
Além de PL/pgSQL tem também um pouco de programação em C (outro material
sobre isso encontra-se na página do encontro de postgreSQL que ocorreu este
ano, um texto muito bem escrito), entre outros.

Abraços,

2009/11/2 Wellyngton cesar 

>  Olá pessoal
> gostaria de tutoriais rapidos, sobre functions e triggers,  com exemplo,
> que com códigos de amostra , etc...
>
> Estou começando com Postgres, tenho algum conhecimento com Mysql básico (
> select insert, delete, update )
>
> Obrigado
>
> Wellyngton Wolter
>
>
>
>
> --
> Novo Internet Explorer 8: faça tudo com menos cliques. Baixe agora, é
> gratis!
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Postgre + linguagem

2009-11-02 Por tôpico Andre Fernandes
Boa noite,
Uma das grandes coisas sobre o postgreSQL é o fato de que ele possui
interfaces para diversas linguagens de programação.
Atualmente trabalho com PHP usando e, sendo uma aplicação bem escrita, tenho
escalabilidade e desempenho. Já trabalhei com Coldfusion (uma linguagem
proprietária, cujo servidor está sobre um servidor Java) com excelente
desempenho também. Outra linguagem que usei com postgreSQL para web foi
Lisp, para um sistema financeiro de alta complexidade, e também não tive
problema algum na interface entre banco e aplicação.
Use aquela que melhor se adequa a seu negócio.
A propósito, isso vale para aplicativos client-server também, desde
linguagens .Net (não somente Delphi, como também C#, VB.Net) até linguagens
como C++ podem ser integradas com postgreSQL e possuirem alto desempenho.

Abraços,

2009/11/1 André Nass - REQUEST 

>  Boa noite.
>
>Gostaria de saber qual a linguagem de programação mais recomendada ou
> mais compatível com o Postgre para desenvolver aplicações para:
>
>- Cliente/Servidor
>- Web
>
>Pelas informações que tenho recebido, para cliente/servidor é o Delphi e
> para web, PHP. Isto procede? Qual a opinião dos srs.?
>
>Att.
>
>   André.
>
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Programa Modelagem de Banco

2009-11-01 Por tôpico Andre Fernandes
Diagramação de banco de dados faz parte da modelagem do mesmo, inclusive da
documentação final do mesmo.
É possível modelar sem o mesmo? Sim, contudo além de facilitar encontrar
algum erro na estrutura do banco, também facilita depois para mostrar o
banco a uma outra equipe (é mais simples entender um banco por seu diagrama
de que pela sequencia de instruções de criação de tabelas).
Temos excelentes programas de modelagem e diagramação no mercado, e nem
todos geram modelos simpes e pobres.

André.

2009/11/1 Leandro DUTRA 

> 2009/10/30 Rafael Kaminski :
> > Gostaria de saber um bom programa pra modelagem de banco pra Ubuntu...
>
> Existe.  Chama-se 'qualquer editor de textos'.
>
> Modelagem não é diagramação, embora os programas de diagramação se
> digam de modelagem.
>
> Isso dito, se quiseres um programa de diagramação que faça modelos bem
> simples e pobres (como todos os outros programas de diagramação
> fazem), o mais indicado, hoje, que eu conheço, para PostgreSQL, é o
> PgDesigner.
>
> Eu prefiro escrever o SQL e gerar diagramas com AutoDoc ou SQL Fairy.
>
>
> --
> skype:leandro.gfc.dutra?chat  Yahoo!: ymsgr:sendIM?lgcdutra
> +55 (11) 3854 7191  gTalk: 
> xmpp:leand...@jabber.org
> +55 (11) 9406 7191ICQ/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
>
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Problema com campo do tipo timestamp without time zone

2009-10-29 Por tôpico Andre Fernandes
Use a função to_timestamp.

Ficaria algo assim

INSERT INTO minha_tabela(campo_data) values
(to_timestamp('string','formato'));

Onde formato indica como está formatada tua string.

Os formatos estão na página:
http://www.postgresql.org/docs/8.4/interactive/functions-formatting.html


Abraços,



2009/10/29 Giuliani Deon Sanches 

> Ontem tentei dar um insert (via psql) em uma tabela que possui um
> campo do tipo timestamp without time zone e recebi o seguinte erro:
>
> "operator does not exist: timestamp without time zone => timestamp
> without time zone"
>
> O comando executado foi:
>
> INSERT INTO minha_tabela(campo_data) values ('string');
>
> Na 'string' eu tentei utilizar o formato mdy, ymd, dmy separados por
> '-' ou '/', utilizando ou não a informação de hora (com e sem segundo
> e milisegundos). Testei também utilizando com timestamp da seguinte
> forma:
>
> (timestamp 'string')
>
> Porém sempre recebi o erro acima.
>
> Qual a forma correta de trabalhar com esse tipo de dado ?
>
> []'s
>
> --
> twitter.com/giulianisanches
> giulianisanches.blogspot.com
> github.com/khaoz
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] problema com acentos no UTF8

2009-10-27 Por tôpico Andre Fernandes
> >
> >
> >> A questão é: o que são caracteres acentuados em línguas diferentes
> >> daquelas representadas pelos latin-x (mas representadas no utf-8)?
> >
> > Creio que cada língua teria de ter suas tabelas, e, na ausência,
> > retornar o caracter original ou dar erro.
> >
> >
> >> Será que existe nestas línguas algum tipo de correspondência
> >> "acentuado - não acentuado"?
> >
> > Alguma sim, outras não… hebraico, por exemplo, tem, mas duvido que
> chines.
>
> Pois é, foge ao meu conhecimento.


Como curiosidade, já que foi mencionado, em chinês não existem caracteres
acentuados, visto ser um idioma de ideogramas. Os mesmos não possuem
correspondência direta com um som, apenas com um significado. (chinês na
realidade são diversos idiomas, não apenas um, cada qual ininteligível para
o outro, mas todos com a mesma escrita. Assim quem fala Mandarim e quem fala
Cantonês somente consegue entender o outro se for de forma escrita, pois a
fala não tem nada semelhante.)
Assim, tirar acentos em chinês não faria sentido algum. Mas nesse caso,
bastaria retornar o próprio ideograma ao executar uma função que tire
acentos.

Imagino que haja outros idiomas com característica semelhante (infelizmente
o chinês é o único idioma que conheço baseado em ideogramas).

Mas o problema surge quando pensamos em sinais gráficos que em um idioma é
acento, em outro é marca de uma letra adicional do idioma. Não me recordo de
nenhum caso no momento (faz tempo que fiz linguistica), mas sei que existem
casos assim.

-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] [pgbr-dev] Transmissão ao vivo do PGCon Brasil agora!!!

2009-10-26 Por tôpico Andre Fernandes
Infelizmente não pude ir nem assistir ao vivo. Será disponibilizado no site,
conforme mencionado pelo Benedito?
Apesar de não ter conseguido aproveitar da disponibilização ao vivo,
parabéns pela mesma, foi uma proposta excelente e muito bem vinda!
Espero que seja realmente disponibilizado no site, seria muito bacana poder
assistir a esse evento.

2009/10/26 Benedito A. Cruz 

>
>
> Parabéns a todos pelo evento. Assisti parte ao vivo e parte pela web,
> foi muito bom.
> Vocês teriam previsão de quando as palestras vão ser disponibilizadas no
> site?
>
>
> []s
>
>  Bene
>
>
> cristiano escreveu:
> > Participei dos anos anteriores e infelizmente esse não pude.
> >
> > Parabéns a comunidade a 4linux pela iniciativa.
> >
> > Cristiano Jacobsen
> >
> > 2009/10/23 Marcelo Gomes  > >
> >
> > Muito bom mesmo... parabéns e muito obrigado pela oportunidade de
> > participar virtualmente.
> >
> > Obrigado,
> >
> > Marcelo Gomes
> >
> > 2009/10/23 Jorge Vilela  > @gmail.com >:
> > > Fantástico!²
> > > Vou passar o dia assistindo, já que não pude ir à SP again.
> > > Parabéns!!!
> > >
> > > Jorge Vilela
> > >
> > >
> > > 2009/10/23 Marcelo Costa  > >
> > >>
> > >> Fantástico.
> > >>
> > >> 2009/10/23 Fábio Telles Rodriguez  > >
> > >>>
> > >>> Acompanhem!!!
> > >>>
> > >>>
> > >>>
> >
> http://www.4linux.com.br/empresa/acompanhe-ao-vivo-as-palestras-pgcon-brasil-2009.html
> > >>>
> > >>>
> > >>> blog: 
> > http://www.midstorm.org/~telles/
> > 
> > >>> e-mail / jabber: fabio.tel...@gmail.com
> > 
> > >>> ___
> > >>> pgbr-dev mailing list
> > >>> pgbr-...@listas.postgresql.org.br
> > 
> > >>>
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-dev
> > >>
> > >>
> > >>
> > >> --
> > >> Marcelo Costa
> > >> www.marcelocosta.net 
> > >> -
> > >> “You can't always get what want”,
> > >>
> > >> Doctor House in apology to Mike Jagger
> > >>
> > >> ___
> > >> 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 mailing list
> > pgbr-geral@listas.postgresql.org.br
> > 
> > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
> >
> >
> >
> > --
> > This message has been scanned for viruses and
> > dangerous content by *MailScanner* , and
> is
> > believed to be clean.
> > 
> >
> > ___
> > pgbr-geral mailing list
> > pgbr-geral@listas.postgresql.org.br
> > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
> >
>
>
>
> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Config servidor postgres

2009-10-24 Por tôpico Andre Fernandes
Boa noite,
Não existe configuração ideal para um banco de dados, isso varia muito de
caso a caso. Depende do uso do banco, das configurações da máquina, dos
links existentes entre banco e servidor, se haverá replicação (e qual tipo
de replicação será feita), entre outras coisas.

Abraços,

2009/10/24 paulo matadr 

> Boa tarde a todos,
>
> Alguem  sabe as configuracoes ideais para o servidor postgres...
> tais com limits.conf ,semaforos, ulimit 
>
> SO:red hat  5
>
> Agradeco desde ja
>
> --
> Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 
> 10-
> Celebridades-
> Música-
> Esportes
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Não repedir dados do campo...

2009-10-21 Por tôpico Andre Fernandes
Muito bom lembrares desse detalhe de modelagem, infelizmente poucos conhecem
os problemas de usar NULL. Ficou bem didático (quem me dera quando estudei
em banco de dados tivessem tido essa didática... Teria sido muito mais
simples :-))!

Abraços

2009/10/21 Leonardo Cezar 

> 2009/10/21 Joao Cosme de Oliveira Junior 
> >
> > Só para complementar .
> > Null significa indeterminado ou não se aplica 
>
> Só pra complementar++, ao utilizar NULL você estará assumindo
> armazenar valores fora do domínio daquela coluna e portanto não
> conseguirá armazenar requisitos sequer para alcançar 1FN
> (desconsiderando as controvérsias).
>
> Resultado disso são anomalias (tratamento especial) com agregação,
> agrupameto, concatenação, ordenação, *ção.
>
> Devido a falta de tipos nulos (aplicáveis e não-aplicáveis) no
> SQL-ANSI torna-se impossível manter um modelo de dados consistente
> utilizando atributos que permitam nulos.
>
> De preferência por normalizar essa relação, por exemplo:
>
> PESSOA { #CPF, NOME, PROFISSAO }
>
> O atributo PROFISSAO pode ser "Nulo, mas aplicável", então:
>
> PESSOA { #CPF, NOME }-- Tabela de pessoas
> PROFISSAO { #CBO, TITULO, TIPO, ATIVO } -- Tabela de profissões
> segundo ministério do trabalho;
> OCUPACAO {#CPF, #CBO, DESDE, ... }-- Tabela de profissões de uma
> PESSOA;
>
> De acordo com o modelo acima, o atributo PROFISSAO só seria preenchido
> quando uma PESSOA de fato possuir uma ocupação.
>
> Desta forma eliminamos os NULLs da variável de relação PESSOA ->
> PROFISSAO e obecedemos a 1FN.
>
> Abraço!
>
> -Leo
> --
> Leonardo Cezar
> http://www.aslid.org.br
> http://postgreslogia.wordpress.com
> http://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
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Dúvida de modelagem de contas de ba ncos

2009-10-10 Por tôpico Andre Fernandes
Nesse caso o melhor, penso eu, seria realmente re-calcular os saldos de
todos os dias posteriores a essa movimentação.

Atenciosamente,

2009/10/10 Bruno Carneiro 

>
> Então, minha única dúvida ai seria se no futuro, o usuário modificasse
> movimentações do passado, neste caso teria que re-calcular o saldo daquele
> dia.
>
> E se o saldo desse dia muda, todos os saldos dos dias posteriores teriam
> que
> mudar também...
>
> Opções
>
> 1- Quando modificar o saldo de um dia, re-calcular os dias posteriores
>
> ou
>
> 2- Na tabela de saldo_diário, armazenar somente o saldo DAQUELE DIA, quando
> quiser saber o saldo, fazer um sum de todos os dias até aquele.
>
> Creio que a primeira idéia seja melhor, já que não será muito comum
> modificar saldos de dias anteriores... afinal uma vez passada a data, não
> tem como mais fazer movimentação nela ( teoricamente ), a não ser que tenha
> havido algum engano que precise ser corrigido.
>
>
> Andre Fernandes-2 wrote:
> >
> > Bom dia,
> >
> > Uma abordagem possível é guardar o saldo em uma tabela (por exemplo, uma
> > tabela contendo o saldo diário, no início do dia referente) e então somar
> > (ou subtrair) apenas as movimentações do dia referido. Muitos bancos
> > utilizam essa abordagem, pois não se perde histórico nem usa todo o
> > histórico para cálculos de saldo.
> >
> > Exemplo:
> > create table saldo_diario
> > (numero_conta bigint,
> > dia_referencia date,
> > valor numeric(18,3)
> > );
> >
> > create table movimentacao
> > (numero_conta bigint,
> > tipo_movimentacao bigint,  -- supondo ser chave estrangeira, isto é um
> > exemplo apenas
> > valor numeric(18,3)
> > );
> >
> > cria-se então uma função que calcula o saldo referente ao dia anterior e
> > grava o valor em saldo_diario. Essa função seria rodada à 00h10 de todo
> > dia,
> > por exemplo.
> >
> >
> >
> > Espero que esteja compreensível a idéia que passei, qualquer dúvida (se
> > algo
> > ficou confuso) é só perguntar.
> >
> > Atenciosamente,
> > André.
> >
> > 2009/10/10 Bruno Carneiro 
> >
> >
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/D%C3%BAvida-de-modelagem-de-contas-de-bancos-tp25834706p25835162.html
> Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com.
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Dúvida de modelagem de contas de ba ncos

2009-10-10 Por tôpico Andre Fernandes
Bom dia,

Uma abordagem possível é guardar o saldo em uma tabela (por exemplo, uma
tabela contendo o saldo diário, no início do dia referente) e então somar
(ou subtrair) apenas as movimentações do dia referido. Muitos bancos
utilizam essa abordagem, pois não se perde histórico nem usa todo o
histórico para cálculos de saldo.

Exemplo:
create table saldo_diario
(numero_conta bigint,
dia_referencia date,
valor numeric(18,3)
);

create table movimentacao
(numero_conta bigint,
tipo_movimentacao bigint,  -- supondo ser chave estrangeira, isto é um
exemplo apenas
valor numeric(18,3)
);

cria-se então uma função que calcula o saldo referente ao dia anterior e
grava o valor em saldo_diario. Essa função seria rodada à 00h10 de todo dia,
por exemplo.



Espero que esteja compreensível a idéia que passei, qualquer dúvida (se algo
ficou confuso) é só perguntar.

Atenciosamente,
André.

2009/10/10 Bruno Carneiro 

>
> Então, mas sempre que eu quiser saber o saldo vou ter que fazer esse
> calculo
> desde a data de criação da conta??
>
> E no futuro, não vai ficar pesado depois de muito tempo com muitas
> movimentações?
>
>
> Tarcísio Sassara wrote:
> >
> > Você não pode recalcular um campo com o saldo porque você perderá o
> > histórico das movimentações.
> >
> > Você deve criar uma tabela que armazena as movimentações e inserir
> > todas estas, seja positivas ou negativas.
> > Fica algo como:
> > cliente  valor  data
> > 1 100.00   2009-09-09
> > 1 -50.002009-09-09
> >
> > Quando você fizer quiser pegar o saldo, você faz um soma(SUM) na coluna
> > valor.
> >
> > select cliente, sum(valor)
> > from movimentacoes
> > where cliente = 1
> > group by 1
> >
> > Então é só adaptar esta idéia ao seu modelo.
> >
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/D%C3%BAvida-de-modelagem-de-contas-de-bancos-tp25834706p25834956.html
> Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com.
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Alteração na mesma tabela com tri gger

2009-10-08 Por tôpico Andre Fernandes
Quando tentavas com updates ali, ele executava outra instrução sql e essa
instrução gerava nova chamada ao gatilho (trigger), virando um círculo
infinito (ou até que exceda os limites da pilha, como aconteceu contigo).

Fico feliz que tenha ajudado,
Abraços,

2009/10/8 Daniel Julião 

> André,
>
> Valeu! É isso mesmo. Eu estava tentando com update e sempre dava o erro
> 'stack depth limit exceeded'.
>
> Abraço,
> Daniel
>
> 2009/10/8 Andre Fernandes 
>
> Sim, é possível, basta fazer a trigger ser do tipo "before" e nela executar
>> um comando semelhante a:
>>
>> new coluna = 'valor teste';
>> ...
>> return new;
>>
>>
>> Abraços,
>> André.
>>
>>
>> 2009/10/8 Daniel Julião 
>>
>>>  Boa tarde!
>>>
>>> Eu estou precisando de uma trigger que no momento em que faço um insert
>>> ou update da tabela, ela grave uma informação numa outra coluna da mesma
>>> tabela.
>>> Isso é possível?
>>>
>>> Obrigado pela ajuda.
>>>
>>> Daniel
>>>
>>> ___
>>> pgbr-geral mailing list
>>> pgbr-geral@listas.postgresql.org.br
>>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>>
>>>
>>
>>
>> --
>> André de Camargo Fernandes
>>
>>
>>
>> ___
>> 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
>
>


-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Alteração na mesma tabela com tri gger

2009-10-08 Por tôpico Andre Fernandes
Sim, é possível, basta fazer a trigger ser do tipo "before" e nela executar
um comando semelhante a:

new coluna = 'valor teste';
...
return new;


Abraços,
André.


2009/10/8 Daniel Julião 

> Boa tarde!
>
> Eu estou precisando de uma trigger que no momento em que faço um insert ou
> update da tabela, ela grave uma informação numa outra coluna da mesma
> tabela.
> Isso é possível?
>
> Obrigado pela ajuda.
>
> Daniel
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Aumentar Número de Indices por Tabe la

2009-10-02 Por tôpico Andre Fernandes
Antes de mais nada, sr. Mozart, peço que o tom nestas mensagens que tens
enviado seja menos agressivo. Não estamos aqui na lista para ler emails
agressivos.

Quanto a ter mais de 10 registros, isso para um banco de dados não é
muita coisa. Não conheço teu aplicativo para dizer se realmente há algo de
errado ou não, assim não entrarei nesse mérito. Contudo nem sempre criar
tantos índices ajuda na busca (independente do SGBD utilizado), pelo
contrário, pode até atrapalhar. Imagino que o que foi pensado foi avisar-te
para analisar a necessidade real de tantos índices.

Lembre-se de que muitos nesta lista trabalham ou já trabalham com
datawarehouses e ERPs também, assim talvez possam ajudar a adequar teu
modelo com o postgresql (caso desejes essa ajuda).

E quanto ao sr. Euler, ele é uma das pessoas que mais conhece postgreSQL no
Brasil, não menospreze os dizeres dele; pode ser até que em algum ponto erre
(ele é humano como todos nós), mas sabe muito mais de que possa parecer e
nunca o vi negar passar conhecimento.

Atenciosamente,

consultar, meteria os dados num arquivo TXT, não num banco de dados.
> Já que você acha que conhece jeitos menos "errados" de modelar uma tabela
> que você nem sabe para que serve, nem quantos registros tem, nem a que
> consultas é submetida, manda lá sua sugestão sobre o que faço para tornar
> mais rápidas as gravações sem tornar imprestáveis as consultas à minha
> "tabelinha" de 89 campos, 20 chaves estrangeiras, 44 índices e não menos do
> que 10 registros.
>
> Isso, claro, se você achar que tem argumentos para discordar do que eu
> disse
> anteriormente:
>
> > Esquartejar essa tabela em duas ou mais considerando que eu quase sempre
> > uso todos os 89 campos juntos soa não só como um contra-senso como
> > prejudica muito qualquer esperança de desempenho.
>
>
> Mozart Hasse
>
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
Se eu quisesse gravar mais rápido do que



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Ajuda com trigger

2009-09-25 Por tôpico Andre Fernandes
Tem sim,
Basta verificar a variável TG_OP, ela pode ter 3 valores: DELETE, UPDATE,
INSERT.

Veja no manual do postgresql, há inclusive exemplos usando essa variável.

http://www.postgresql.org/docs/8.4/interactive/plpgsql-trigger.html

Abraços,

2009/9/25 Thiago 

> Galera ...
>
> Pelo que vi esse passo "(old.nome <> new.nome)" só da problema quando a
> trigger é no insert mas a minha trigger serve para ambos, tem como saber
> se a trigger veio por insert ou update assim faço esse verificação
> apenas no update.
>
> Obrigado !!!
>
> Thiago escreveu:
>  > Galera é o seguinte ...
> >
> > Tenho uma tabela e uma trigger que dispara tanto no update quanto no
> > before e o for each está como row ...
> >
> > O que quero fazer é o seguinte ...
> >
> > Sempre que for incluir um novo registro quero saber se o valor que está
> > sendo colocado é diferente do antigo, ou seja, quero comparar o old com
> > o new ... por acaso isso funciona apenas para trigger que dispara em
> > update ???
> >
> > Essa é a trigger ...
> >
> > ---verificando se trocou o nome da maquina
> > vsig := '';
> > if (old.nome <> new.nome) and (new.filial = 99) then
> >if strpos('-',new.nome) > 0 then
> >   vsig := substring(new.nome,1,strpos('-',new.nome));
> >end if;
> > else
> >return new;
> >exit;
> > end if;
> >
> > Ela compila normalmente mas quando executo um insert aparece o seguinte
> > erro:
> >
> > ERROR:  record "old" is not assigned yet
> > DETAIL:  The tuple structure of a not-yet-assigned record is
> indeterminate.
> > CONTEXT:  PL/pgSQL function "tg_inffiliais_depart" line 7 at if
> >
> > Alguém sabe o que estou fazendo de errado.
> >
> > Obrigado !!!
> >
> > ___
> > 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
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Res: Res: Res: Memory (heap)

2009-09-25 Por tôpico Andre Fernandes
Concordo com o Euler, não podemos dizer muito da velocidade de uma linguagem
de acesso a dados a partir de teu teste, o mais importante deve ser
realmente o acesso a dados, e esse mecanismo não está sendo visto pelo teu
teste.
Não digo que não haja momentos nos quais Pl/SQL não seja mais rápido, mas em
postgresql já fiz mais de uma migração (tanto oriundas de MySQL quanto de
Oracle) e em nenhum caso tivemos perda de performance - contudo vale
ressaltar que foi utilizado Pl/Perl em alguns casos, C em outros, além de
muita coisa em Pl/pgSQL (uma grande vantagem do PostgreSQL (a meu ver) é
essa: poder escolher a linguagem procedural ideal para cada caso).
Meu conselho: refaça os testes com acesso a dados e veja qual o resultado -
não acredito que o PL/pgSQL descepcionará nesses testes.

Abraços,

 Acho que você *não* está fazendo um comparação justa. Digo isso porque a
> principal vantagem de ter funções no SGBD é justamente tirar proveito do
> acesso aos dados. Sugiro que realize testes mais sérios antes de ficar
> tirar
> conclusões utilizando apenas um caso que está muito longe de fazer parte de
> qualquer tipo de aplicação real.
>
>
> --
>  Euler Taveira de Oliveira
>  http://www.timbira.com/
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
>  https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] RES: ER

2009-09-23 Por tôpico Andre Fernandes
Realmente o Toad data modeler é excelente!
Faz algum tempo que não uso porque é bem caro, infelizmente. Mas é uma
excelente ferramenta!

2009/9/23 Kauí Aires Oliveira 

> Boa Tarde,
>
> Olha gosto muito, do CASE-Studio Uso para modelar já tem uns 6 anos...
> Embora agora a quest comprou e se chama Toad data modeler... Recomendo,
> muito prático, ótimas ferramentas de reversas... E muito bom os
> relatórios...
>
> Abraços,
>
> Kaui Aires
>
>
> -Mensagem original-
> De: pgbr-geral-boun...@listas.postgresql.org.br
> [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Benedito
> A.
> Cruz
> Enviada em: quarta-feira, 23 de setembro de 2009 14:50
> Para: Comunidade PostgreSQL Brasileira
> Assunto: [pgbr-geral] ER
>
>
>
> Pegando o gancho da discussão anterior, surgiu uma dúvida: qual o
> software que vocês costumam usar para mapear o projeto lógico (Diagrama
> ER) para um esquema do BD em SQL?
> Já usei Mogwai e dia + er2sql mas queria saber quais as outras opções,
> inclusive as mais "didáticas" (para exemplificar em sala de aula).
>
> Bene
>
>
> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
>
> ___
> 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
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] ER

2009-09-23 Por tôpico Andre Fernandes
estou usando o "ModelRight 3.5 for PostgreSQL (Community Edition)" e gosto
muito dele.

Abraços,

2009/9/23 Benedito A. Cruz 

>
>
> Pegando o gancho da discussão anterior, surgiu uma dúvida: qual o
> software que vocês costumam usar para mapear o projeto lógico (Diagrama
> ER) para um esquema do BD em SQL?
> Já usei Mogwai e dia + er2sql mas queria saber quais as outras opções,
> inclusive as mais "didáticas" (para exemplificar em sala de aula).
>
> Bene
>
>
> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Dicas em desabilitar chaves e indices , melhor solução para conversão?

2009-09-16 Por tôpico Andre Fernandes
Bom dia,
Por não usas o DBI-Link para importar os dados? Primeiro desabilite todas as
constrains (no postgresql), importe pelo DBI-Link e então, finalizado tudo,
re-abilite as constrains.
Fiz o mesmo há um ano mais ou menos, estava importando uma base do mysql,
mas o princípio é o mesmo.

Espero que essa idéia possa ser de valia,

Atenciosamente,
André.



2009/9/16 Stefan Horochovec 

> Ola pessoal.
>
> Estou precisando de uma dica, estou convertendo um banco de dados para
> PostgreSQL
>
> O banco original é Firebird, porem, o banco destino é exatamente igual ao
> PostgreSQL. Só que com a conversão com todas as constraints e indices eu
> perco muito tempo criando regras de conversão.
>
> Nenhuma chave esta violada, desta forma não ocorrerá de forma alguma uma
> violação de chaves.
>
> A ideia é a seguinte:
>
> 1 - Iniciar uma transação;
> 2 - SET CONSTRAINTS ALL DEFERRED;
> 3 - Fazer todos os INSERT's;
> 4 - SET CONSTRAINTS ALL IMMEDIATE;
> 5 - Fechar transação;
>
> Essa idéia é baseada no que eu li na documentação -
> http://www.postgresql.org/docs/8.4/static/sql-set-constraints.html
>
> Alguem tem alguma outra idéia ? Prós? Contras? Estou sujeito a sugestões
> para melhorar este processo.
>
> Obrigado desde já
>
> Stefan Horochovec
> Engenheiro de Software
> Adobe User Group Manager - FlexDuck
> Blog: http://www.horochovec.com.br/
> Use Java, Flex e Linux
>
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Experiências com PostgreSQL 8.4

2009-09-04 Por tôpico Andre Fernandes
Eu gostei muito do desempenho da versão. Além disso, as window functions são
muito práticas, ajudaram-me  imensamente em alguns relatórios.

Abraços,
André.

2009/9/4 Alcione Benacchio 

> Olá,
>
> Estou trabalhando na migração de alguns servidores e gostaria de saber dos
> colegas o
> que estão achando do PostgreSQL 8.4 (deixando de lado o type casting),
> tiveram algum problema?
> Alguma indicação ou contraindicação?
> Não estou sendo muito específico, porque acredito que tema é amplo e se
> alguém.
>
> Abraços
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Autovacuum desabilitado mas ainda assim aparecendo na lista de processos.

2009-09-04 Por tôpico Andre Fernandes
Bom dia,

Olhando teu arquivo de configuração, o autovacuum não está desabilitado.
Veja esta linha:
 #autovacuum = off # Enable autovacuum subprocess?  'on'

Ela está comentada, assim precisas descomentar essa linha e recarregar as
configurações do Pg para que ele fique realmente desabilitado.

Abraços,
André.

2009/9/4 Rubens José Rodrigues 

>  Olá Pessoal,
>
>
>
> Estou com uma dúvida, por opção nossa resolvemos não deixar o autovacuum no
> automático e sim no manual (cron nas madrugadas), porém percebemos que ainda
> assim vemos com frequencia vários processos com o autovacuum, será que
> fizemos algo em desacordo?
>
> Estamos enfrentando uma dificuldade (antes não tinha) de quando estes
> processos estarem “rodando” as tabelas envolvidas estarem “locadas” e assim
> fica, até que um de nós “mata” o pid da operação (autovacuum).
>
>
>
> *NOSSO CENÁRIO*
>
> PostgreSQL 8.3.7 on x86_64-pc-linux-gnu, compiled by GCC gcc-4.3.real
> (Ubuntu 4.3.2-1ubuntu11) 4.3.2
>
> * *
>
> *PS AUX|GREP POSTGRES*
>
> postgres  5262  0.0  0.0  72168  1368 ?Ss   Aug16   1:08 postgres:
> logger process
>
> root 25377  0.0  0.0  70124  3136 ?Ss   07:09   0:00 sshd:
> postgres [priv]
>
> postgres 25379  0.0  0.0  70124  1896 ?S07:09   0:00 sshd:
> postg...@pts/0
>
> postgres 25380  0.0  0.0  19480  2272 pts/0Ss   07:09   0:00 -bash
>
> root 25385  0.0  0.0  70124  3140 ?Ss   07:09   0:00 sshd:
> postgres [priv]
>
> postgres 25387  0.0  0.0  70124  1900 ?S07:09   0:00 sshd:
> postg...@pts/1
>
> postgres 25388  0.0  0.0  19480  2288 pts/1Ss   07:09   0:00 -bash
>
> postgres 25407  0.0  0.0  21016  1804 pts/0S+   07:10   0:00 vim
> teste.py
>
> postgres 25587  0.0  0.1 703176  7752 ?Ss   07:25   0:00 postgres:
> writer process
>
> postgres 25588  0.0  0.0 703176  1568 ?Ss   07:25   0:00 postgres:
> wal writer process
>
> postgres 25589  0.0  0.0 703176  1712 ?Ss   07:25   0:00 postgres:
> autovacuum launcher process
>
> postgres 25590  0.0  0.0  72296  1300 ?Ss   07:25   0:00 postgres:
> archiver process
>
> postgres 25591  0.0  0.0  72296  1432 ?Ss   07:25   0:00 postgres:
> stats collector process
>
> postgres 25595  0.1  0.3 710820 15052 ?Ss   07:27   0:02 postgres:
> postgres apoiorh 10.4.1.42(3856) idle in transaction
>
> postgres 25684  0.0  0.0  16152  1144 pts/1R+   07:54   0:00 ps aux
>
> postgres 25685  0.0  0.0   7500   816 pts/1R+   07:54   0:00 grep
> postgres
>
>
>
> *POSTGRESQL.CONF*
>
> *
> #--
> *
>
> *383 # AUTOVACUUM PARAMETERS*
>
> *384
> #--
> *
>
> *385*
>
> *386 #autovacuum = off # Enable autovacuum subprocess?  'on'*
>
> *387   # requires track_counts to also be on.*
>
> *388 #log_autovacuum_min_duration = -1 # -1 disables, 0 logs all
> actions and*
>
> *389   # their durations, > 0 logs only*
>
> *390   # actions running at least that time.*
>
> *391 #autovacuum_max_workers = 3   # max number of autovacuum
> subprocesses*
>
> *392 #autovacuum_naptime = 1min# time between autovacuum runs*
>
> *393 #autovacuum_vacuum_threshold = 500  # min number of row updates
> before*
>
> *394   # vacuum*
>
> *395 #autovacuum_analyze_threshold = 500 # min number of row updates
> before*
>
> *396   # analyze*
>
> *397 #autovacuum_vacuum_scale_factor = 0.2 # fraction of table size
> before vacuum*
>
> *398 #autovacuum_analyze_scale_factor = 0.1  # fraction of table size
> before analyze*
>
> *399 #autovacuum_freeze_max_age = 2  # maximum XID age before
> forced vacuum*
>
> *400   # (change requires restart)*
>
> *401 #autovacuum_vacuum_cost_delay = 20  # default vacuum cost delay
> for*
>
> *402   # autovacuum, -1 means use*
>
> *403   # vacuum_cost_delay*
>
> *404 #autovacuum_vacuum_cost_limit = -1  # default vacuum cost limit
> for*
>
> *405   # autovacuum, -1 means use*
>
> *406   # vacuum_cost_limit*
>
> *407*
>
> *408*
>
> *409
> #--
> *
>
> * *
>
>
>
> Att.
>
>
> 
>
> Rubens José Rodrigues
>
> *" **Falta de tempo é desculpa daqueles que perdem tempo por falta de
> métodos**"*
>
>
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Tipo sequencial

2009-09-01 Por tôpico Andre Fernandes
Olá, Jota,

Ao listar os tipos possíveis para atribuir a uma coluna de uma tabela, por
exemplo, vemos que temos ali as sequences também.

(para buscar basta rodar
SELECT nspname,typname FROM pg_namespace JOIN pg_type ON
pg_namespace.oid=pg_type.typnamespace;
)

Embora os tipos de dados iguais a uma tabela sejam de uso conhecido (como
por exemplo, em uma procedure retornar uma linha dessa tabela), não consegui
imaginar qual o uso do tipo "sequence" (exemplo se tenho a sequence
'address_id_seq', posso criar uma coluna ou uma variável em uma procedure
com o tipo 'address_id_seq'. Qual seria o uso para isso?).
[]s,
2009/9/1 JotaComm 

> Olá, André
>
> Fique confuso com a sua pergunta e não conseguei compreende-la.
>
>  2009/9/1 Andre Fernandes 
>
>> Olá a todos,
>>
>> Qual a função de usar um tipo sequencia para uma coluna em uma tabela ou
>> como retorno de uma função? O tipo de uma tabela para mim é bem simples de
>> se visualizar, contudo um tipo igual a uma sequence não consegui imaginar
>> como ou porque utilizar.
>>
>> Obrigado pelas respostas,
>> --
>> André de Camargo Fernandes
>>
>>
>>
>> ___
>> pgbr-geral mailing list
>> pgbr-geral@listas.postgresql.org.br
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>>
>
> []s
> --
> JotaComm
> http://jotacomm.wordpress.com
> http://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
>
>


-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Tipo sequencial

2009-09-01 Por tôpico Andre Fernandes
Olá a todos,

Qual a função de usar um tipo sequencia para uma coluna em uma tabela ou
como retorno de uma função? O tipo de uma tabela para mim é bem simples de
se visualizar, contudo um tipo igual a uma sequence não consegui imaginar
como ou porque utilizar.

Obrigado pelas respostas,
-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] ORDER BY

2009-09-01 Por tôpico Andre Fernandes
Boa tarde,
Realmente o que teu gerente quer é o correto gramaticalmente, no entanto, o
banco ordena (pelo que me lembro) ignorando os espaços, como se fosse uma
única string contínua.
Uma forma de minimizar esse problema poderia ser separar nome e sobrenome em
colunas diferentes, assim ordena-se primeiro pelo nome, depois pelo
sobrenome (order by first_name, last_name ).
Infelizmente essa solução ainda não resolve problemas com nomes compostos,
mas ameniza um pouco a dificuldade encontrada em ordenar os termos
alfabeticamente e ficaria mais próximo do que teu gerente deseja.

Abraços,
André.

2009/9/1 sergio santos 

> Pessoal
> eu escrevi errado... coloquei o "h" no lugar errado
>
> ignorem o exemplo anterior e avaliem esse que está mais completo:
>
>
> Meu lc_collate
>
> bdteste=# SELECT version();
> PostgreSQL 8.3.3 on x86_64-pc-linux-gnu, compiled by GCC cc (GCC) 4.2.3
> (Ubuntu 4.2.3-2ubuntu7)
>
> bdteste=# SHOW lc_collate;
>  pt_BR
>
> VALUES ('Thaisa Soares de Araujo'),('Thais Alves Soares'), ('Thais Cotta de
> Almeida Tripoli'), ('Thaís dos Santos');
> Thaisa Soares de Araujo
> Thais Alves Soares
> Thais Cotta de Almeida Tripoli
> Thaís dos Santos
>
> bdteste=# VALUES ('Thaisa Soares de Araujo'),('Thais Alves Soares'),
> ('Thais Cotta de Almeida Tripoli'), ('Thaís dos Santos') ORDER BY 1;
> Thais Alves Soares
> Thaisa Soares de Araujo
> Thais Cotta de Almeida Tripoli
> Thaís dos Santos
>
>
> segundo o meu gerente de RH "Thaisa Soares de Araujo" deve ser o últimon
> nome
>
> obrigado
>
>
> --
> Sérgio Antônio dos Santos
> Bacharel em Sistemas de Informação
> (31) 8573-7004
> http://serginhosant.wordpress.com/
> http://www.rccvicosa.com
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] ORDER BY

2009-08-31 Por tôpico Andre Fernandes
Boa noite,

Não é achismo, a regra de ordenação em língua portuguesa (não mencionei nada
sobre banco de dados ou colates, apenas gramática) explicita que toda
ordenação alfabética deve comparar inicialmente nomes simples. Se estes
forem compostos, então o primeiro nome de cada um dos nomes compostos deve
ser comparado. No caso de igualdade, compara-se os demais sequencialmente,
até encontrar diferença.
Se um texto terminar antes de outro e, até sua última letra possuem a mesma
sequencia, então este será considerado anterior ao outro alfabeticamente.
Essa norma de ordenação foi a aceita pela academia brasileira de letras há
muito tempo, preciso procurar a referência para passar-te pois já faz tempo
que a estudei.

Numa listagem alfabética, por exemplo, todos os «André» virão antes de
«Andreia»:
1. André Filipe; 2. André Pires; 3. Andreia
Em termos práticos, é como se o fim de uma palavra tivesse precedência sobre
qualquer letra presente.

Atenciosamente,

PS: Na gramática do português, os acentos não intereferem na ordenação, o
que não precisa ser verdade em um banco de dados ou outro programa qualquer.

2009/8/31 Osvaldo Kussama 

> 2009/8/31 Andre Fernandes :
> > Boa tarde,
> >
> > Na ordenação alfabética oficial do Brasil,
> > Thais Alves Soares
> >
> > vem antes de
> > Thaisa Soares de Araujo
> > A ordenação de nomes em português leva em conta primeiro o primeiro nome,
> > independente dos sobrenomes, e depois os sobrenomes, sequencialmente.
>
> Você "acha" que é dessa forma ou pode comprovar que existe uma norma
> oficial determinando tal comportamento?
>
> --
> André de Camargo Fernandes
>
>
>
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] ORDER BY

2009-08-31 Por tôpico Andre Fernandes
Boa tarde,

Na ordenação alfabética oficial do Brasil,
Thais Alves Soares

vem antes de
Thaisa Soares de Araujo
A ordenação de nomes em português leva em conta primeiro o primeiro nome,
independente dos sobrenomes, e depois os sobrenomes, sequencialmente.

Como Thais vem antes de Thaisa, o primeiro nome vem antes do outro, o que é
exatamente o que dita a gramática do português.

Atenciosamente,


2009/8/31 Osvaldo Kussama 

> 2009/8/31 sergio santos :
> > Pessoal,
> > o gerente do RH aqui da empresa tá reclamando da forma que o postgres
> está
> > ordenando o nome dos funcionários na lista de pagamento.
> >
> > No relatório aparece assim:
> > Tahisa Soares de Araujo
> > Thais Alves Soares
> >
> > Ele precisa que fique assim
> > Thais Alves Soares
> > Tahisa Soares de Araujo
> >
> > vejam que o postgres entende que o "a" precede o "espaço"...
> >
> > alguém já passou por algo parecido?
> >
>
>
> Qual o seu lc_collate?
>
> bdteste=# SELECT version();
>  version
>
> ---
>  PostgreSQL 8.3.7 on i486-pc-linux-gnu, compiled by GCC gcc-4.3.real
> (Ubuntu 4.3.3-5ubuntu4) 4.3.3
> (1 registro)
>
> bdteste=# SHOW lc_collate;
>  lc_collate
> -
>  pt_BR.UTF-8
> (1 registro)
>
> bdteste=# VALUES ('Thaisa Soares de Araujo'),('Thais Alves Soares');
> column1
> -
>  Thaisa Soares de Araujo
>  Thais Alves Soares
> (2 registros)
>
> bdteste=# VALUES ('Thaisa Soares de Araujo'),('Thais Alves Soares') ORDER
> BY 1;
> column1
> -
>  Thais Alves Soares
>  Thaisa Soares de Araujo
> (2 registros)
>
> Osvaldo
>  ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
André de Camargo Fernandes
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


  1   2   >