Re: [pgbr-geral] Desabilitar Case Sensitive no Banco de Dados

2009-06-18 Por tôpico Marco Aurelio V. da Silva
Caro Jota,

É o seguinte, verifiquei os dois bancos de dados, alias instalei um novo no 
meu computador para verificar o locale, no servidor freebsd com a versão 8.1 
do postgresql o locale esta com C, no servidor postgresql 8.3 que instalei 
no meu computador com windows xp a diferença é o seguinte, na instalação do 
windows eu marquei para instalar o suporte a idiomas, no locale foi colocado 
Portugues do Brasil, que presumo seja o pt_BR (não encontrei o comando 
locale no windows), e no Encoding esta UTF8.
Nestas condições fiz o seguinte teste, criei uma tabela cliente com o campo 
nome do tipo character varyng com tamanho 50, sem nenhum indice. Adicionei 
os valores aa e BBB, ao dar o comando select * from cliente 
order by nome, ai vem o seguinte resultado:
aa
BB
Ignorando as letras maiusculas e minusculas. Logo pelo que percebi, se criar 
o banco com o locale pt_BR e o encoding UTF8 o case sensitive fica 
desabilitado para a ordenação. Mas para os wheres das consultas continua 
valendo.
Será que deu pra entender a confusão ?

Desde já agradeço a atenção recebida.

Marco Aurélio V. da Silva
Prodata Inf. e Cadastro Ltda.
Fone: (33) 3322-3082
email: ma...@prodatanet.com.br
msn: ma...@prodatanet.com.br
- Original Message - 
From: JotaComm jota.c...@gmail.com
To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br
Sent: Wednesday, June 17, 2009 9:48 AM
Subject: Re: [pgbr-geral] Desabilitar Case Sensitive no Banco de Dados


Olá,

2009/6/17 Marco Aurelio V. da Silva marcoprod...@gmail.com

 Caros Colegas,

 Gostaria da ajuda no seguinte sentido, precisava desabilitar o case
 sensitive do banco de dados, para que os indices e as buscas ignorassem o
 case sensitive.


Como assim desabilitar o case sensitive? Você quer armazenar as informações
tanto em maiúsculas e minúsculas e no momento de fazer uma pesquisa usando
índice isso não seja levando em conta?

Como estão criados os índices? Pode mandar a definição de um índice para a
gente?


 O estranho é que funcionou automaticamente instalando a versão 8.3 em um
 windows xp, e com a codificação do banco como UTF8 e em um servidor 8.1 em
 freebsd com a codificação UTF8 tb, naum funcionou.
 Ao adicionar no campo nome exemplo os valores: aaa e BB, no
 servidor 8.3 que esta no windows xp o aa aparece antes, mas no 8.1 
 no
 Freebsd aparece o BB primeiro.


Fiquei confuso. Qual a relação disso com a questão que você mencionou antes
de desabilitar o case sensitive? Se a for conveniente o otimizador irá
analisar e ver se é melhor a utilização do índice ou não se uma leitura
sequencial é mais conveniente.

Esse problema do B aparecer antes do aa me parece um problema de
locale.

Você verificou se os locales dos dois servidores são iguais?

Como fazer para ficar igual a este comportamento do 8.3 no windows xp ?
 Pesquisei a respeito e só encontrei formas de funcionar mandando gravar
 sempre maiusculo ou minusculo no banco, e utilizando o mesmo artificio 
 para
 as consultas e testes.



 Desde já agradeço a atenção recebida.

 Marco Aurélio V. da Silva
 Prodata Inf. e Cadastro Ltda.
 Fone: (33) 3322-3082
 email: ma...@prodatanet.com.br
 msn: ma...@prodatanet.com.br

 ___
 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

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


Re: [pgbr-geral] Desabilitar Case Sensitive no Banco de Dados

2009-06-18 Por tôpico JotaComm
Olá,

2009/6/18 Marco Aurelio V. da Silva marcoprod...@gmail.com

 Caro Jota,

 É o seguinte, verifiquei os dois bancos de dados, alias instalei um novo no
 meu computador para verificar o locale, no servidor freebsd com a versão
 8.1
 do postgresql o locale esta com C, no servidor postgresql 8.3 que
 instalei
 no meu computador com windows xp a diferença é o seguinte, na instalação do
 windows eu marquei para instalar o suporte a idiomas, no locale foi
 colocado
 Portugues do Brasil, que presumo seja o pt_BR (não encontrei o comando
 locale no windows), e no Encoding esta UTF8.


Você pode fazer pelo PostgreSQL:

SHOW lc_collate;


 Nestas condições fiz o seguinte teste, criei uma tabela cliente com o campo
 nome do tipo character varyng com tamanho 50, sem nenhum indice. Adicionei
 os valores aa e BBB, ao dar o comando select * from cliente
 order by nome, ai vem o seguinte resultado:
 aa
 BB


Correto. Certo?


 Ignorando as letras maiusculas e minusculas. Logo pelo que percebi, se
 criar
 o banco com o locale pt_BR e o encoding UTF8 o case sensitive fica
 desabilitado para a ordenação. Mas para os wheres das consultas continua
 valendo.


Como assim ignorando maiúsculas e minúsculas? Isso que não consegui entender
o que você considera que o case senstivie fica desabilitado?

Este problema está relacionado ao locale C(Posix) que você está utilizando?
Se você modificar o locale da versão 8.1 você terá o mesmo comportamento da
sua versão 8.3.

É isso sua dúvida?


 Será que deu pra entender a confusão ?

 Desde já agradeço a atenção recebida.

 Marco Aurélio V. da Silva
 Prodata Inf. e Cadastro Ltda.
 Fone: (33) 3322-3082
 email: ma...@prodatanet.com.br
 msn: ma...@prodatanet.com.br
 - Original Message -
 From: JotaComm jota.c...@gmail.com
 To: Comunidade PostgreSQL Brasileira 
 pgbr-geral@listas.postgresql.org.br
 Sent: Wednesday, June 17, 2009 9:48 AM
 Subject: Re: [pgbr-geral] Desabilitar Case Sensitive no Banco de Dados


 Olá,

 2009/6/17 Marco Aurelio V. da Silva marcoprod...@gmail.com

  Caros Colegas,
 
  Gostaria da ajuda no seguinte sentido, precisava desabilitar o case
  sensitive do banco de dados, para que os indices e as buscas ignorassem o
  case sensitive.


 Como assim desabilitar o case sensitive? Você quer armazenar as informações
 tanto em maiúsculas e minúsculas e no momento de fazer uma pesquisa usando
 índice isso não seja levando em conta?

 Como estão criados os índices? Pode mandar a definição de um índice para a
 gente?

 
  O estranho é que funcionou automaticamente instalando a versão 8.3 em um
  windows xp, e com a codificação do banco como UTF8 e em um servidor 8.1
 em
  freebsd com a codificação UTF8 tb, naum funcionou.
  Ao adicionar no campo nome exemplo os valores: aaa e BB, no
  servidor 8.3 que esta no windows xp o aa aparece antes, mas no 8.1
  no
  Freebsd aparece o BB primeiro.


 Fiquei confuso. Qual a relação disso com a questão que você mencionou antes
 de desabilitar o case sensitive? Se a for conveniente o otimizador irá
 analisar e ver se é melhor a utilização do índice ou não se uma leitura
 sequencial é mais conveniente.

 Esse problema do B aparecer antes do aa me parece um problema
 de
 locale.

 Você verificou se os locales dos dois servidores são iguais?

 Como fazer para ficar igual a este comportamento do 8.3 no windows xp ?
  Pesquisei a respeito e só encontrei formas de funcionar mandando gravar
  sempre maiusculo ou minusculo no banco, e utilizando o mesmo artificio
  para
  as consultas e testes.
 

 
  Desde já agradeço a atenção recebida.
 
  Marco Aurélio V. da Silva
  Prodata Inf. e Cadastro Ltda.
  Fone: (33) 3322-3082
  email: ma...@prodatanet.com.br
  msn: ma...@prodatanet.com.br
 
  ___
  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

 ___
 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


Re: [pgbr-geral] Desabilitar Case Sensitive no Banco de Dados

2009-06-18 Por tôpico Shairon Toledo
não seria só


select * from foo order by lower(campo)



2009/6/18 JotaComm jota.c...@gmail.com

 Olá,

 2009/6/18 Marco Aurelio V. da Silva marcoprod...@gmail.com

 Caro Jota,

 É o seguinte, verifiquei os dois bancos de dados, alias instalei um novo
 no
 meu computador para verificar o locale, no servidor freebsd com a versão
 8.1
 do postgresql o locale esta com C, no servidor postgresql 8.3 que
 instalei
 no meu computador com windows xp a diferença é o seguinte, na instalação
 do
 windows eu marquei para instalar o suporte a idiomas, no locale foi
 colocado
 Portugues do Brasil, que presumo seja o pt_BR (não encontrei o comando
 locale no windows), e no Encoding esta UTF8.


 Você pode fazer pelo PostgreSQL:

 SHOW lc_collate;


 Nestas condições fiz o seguinte teste, criei uma tabela cliente com o
 campo
 nome do tipo character varyng com tamanho 50, sem nenhum indice. Adicionei
 os valores aa e BBB, ao dar o comando select * from cliente
 order by nome, ai vem o seguinte resultado:
 aa
 BB


 Correto. Certo?


 Ignorando as letras maiusculas e minusculas. Logo pelo que percebi, se
 criar
 o banco com o locale pt_BR e o encoding UTF8 o case sensitive fica
 desabilitado para a ordenação. Mas para os wheres das consultas continua
 valendo.


 Como assim ignorando maiúsculas e minúsculas? Isso que não consegui
 entender o que você considera que o case senstivie fica desabilitado?

 Este problema está relacionado ao locale C(Posix) que você está utilizando?
 Se você modificar o locale da versão 8.1 você terá o mesmo comportamento da
 sua versão 8.3.

 É isso sua dúvida?


 Será que deu pra entender a confusão ?

 Desde já agradeço a atenção recebida.

 Marco Aurélio V. da Silva
 Prodata Inf. e Cadastro Ltda.
 Fone: (33) 3322-3082
 email: ma...@prodatanet.com.br
 msn: ma...@prodatanet.com.br
 - Original Message -
 From: JotaComm jota.c...@gmail.com
 To: Comunidade PostgreSQL Brasileira 
 pgbr-geral@listas.postgresql.org.br
 Sent: Wednesday, June 17, 2009 9:48 AM
 Subject: Re: [pgbr-geral] Desabilitar Case Sensitive no Banco de Dados


 Olá,

 2009/6/17 Marco Aurelio V. da Silva marcoprod...@gmail.com

  Caros Colegas,
 
  Gostaria da ajuda no seguinte sentido, precisava desabilitar o case
  sensitive do banco de dados, para que os indices e as buscas ignorassem
 o
  case sensitive.


 Como assim desabilitar o case sensitive? Você quer armazenar as
 informações
 tanto em maiúsculas e minúsculas e no momento de fazer uma pesquisa usando
 índice isso não seja levando em conta?

 Como estão criados os índices? Pode mandar a definição de um índice para a
 gente?

 
  O estranho é que funcionou automaticamente instalando a versão 8.3 em um
  windows xp, e com a codificação do banco como UTF8 e em um servidor 8.1
 em
  freebsd com a codificação UTF8 tb, naum funcionou.
  Ao adicionar no campo nome exemplo os valores: aaa e BB, no
  servidor 8.3 que esta no windows xp o aa aparece antes, mas no 8.1
  no
  Freebsd aparece o BB primeiro.


 Fiquei confuso. Qual a relação disso com a questão que você mencionou
 antes
 de desabilitar o case sensitive? Se a for conveniente o otimizador irá
 analisar e ver se é melhor a utilização do índice ou não se uma leitura
 sequencial é mais conveniente.

 Esse problema do B aparecer antes do aa me parece um problema
 de
 locale.

 Você verificou se os locales dos dois servidores são iguais?

 Como fazer para ficar igual a este comportamento do 8.3 no windows xp ?
  Pesquisei a respeito e só encontrei formas de funcionar mandando gravar
  sempre maiusculo ou minusculo no banco, e utilizando o mesmo artificio
  para
  as consultas e testes.
 

 
  Desde já agradeço a atenção recebida.
 
  Marco Aurélio V. da Silva
  Prodata Inf. e Cadastro Ltda.
  Fone: (33) 3322-3082
  email: ma...@prodatanet.com.br
  msn: ma...@prodatanet.com.br
 
  ___
  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

 ___
 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




-- 
[ ]'s
Shairon Toledo
http://www.hashcode.eti.br
___
pgbr-geral mailing 

[pgbr-geral] Otimizar sql - Reutilizar resultado de subselect

2009-06-18 Por tôpico Newton Teixeira do Nascimento Júnior

Olá comunidade,

 

Tenho o seguinte SELECT e gostaria de otimizá-lo. Eis o mesmo:

 

SELECT A.eq, B.id_eq, B.unidade, B.tensao_equip, B.nominal, 

(SELECT MAX(Y.VALOR) FROM PAS_R X, bhpas_h_2009_05_01 Y WHERE 
X.BH_CHAVE=Y.BH_CHAVE AND Y.BH_CHAVE = (SELECT BH_CHAVE FROM PAS_R WHERE ID = 
B.id_eq AND bh_dthr_fim IS NULL))  AS maximo, 

(SELECT MAX(Y.VALOR) FROM PAS_R X, bhpas_h_2009_05_01 Y WHERE 
X.BH_CHAVE=Y.BH_CHAVE AND Y.BH_CHAVE = (SELECT BH_CHAVE FROM PAS_R WHERE ID = 
B.id_eq AND bh_dthr_fim IS NULL))/B.nominal)*100 AS AS Percent, 

CAST('2009_05_01' as DATE) as Data

FROM EQUIPAMENTOS AS A, IDS_EQUIPAMENTOS AS B, RELATORIOS_EQUIPAMENTOS AS 
C WHERE A.eq = B.eq AND A.eq=C.eq AND C.nome_relatorio='ICE' ORDER BY percent 
DESC;

 

 (SELECT MAX(Y.VALOR) FROM PAS_R X, bhpas_h_2009_05_01 Y WHERE 
X.BH_CHAVE=Y.BH_CHAVE AND Y.BH_CHAVE = (SELECT BH_CHAVE FROM PAS_R WHERE ID = 
B.id_eq AND bh_dthr_fim IS NULL))  AS Maximo

O sub-select acimal calcula um determinado valor Maximo; tenho também que 
mostrar em outra coluna o percentual obtido, o qual é o (Maximo/nominal)*100; 
Para rodar, estou tendo que executar duas vezes o mesmo sub-select que retorna 
o mesmo resultado para mostrar os dados que são necessários e isso tem deixado 
a consulta lenta.

 

Gostaria de ficasse assim: 

 

SELECT A.eq, B.id_eq, B.unidade, B.tensao_equip, B.nominal, 

(SELECT MAX(Y.VALOR) FROM PAS_R X, bhpas_h_2009_05_01 Y WHERE 
X.BH_CHAVE=Y.BH_CHAVE AND Y.BH_CHAVE = (SELECT BH_CHAVE FROM PAS_R WHERE ID = 
B.id_eq AND bh_dthr_fim IS NULL))  AS maximo, 

(maximo/B.nominal)*100 AS AS Percent,  

CAST('2009_05_01' as DATE) as Data

FROM EQUIPAMENTOS AS A, IDS_EQUIPAMENTOS AS B, RELATORIOS_EQUIPAMENTOS AS 
C WHERE A.eq = B.eq AND A.eq=C.eq AND C.nome_relatorio='ICE' ORDER BY percent 
DESC;

 

Porém quando eu executo dessa forma o seguinte erro é exibido:

ERRO:  coluna maximo não existe

LINE 5: (maximo/B.nominal)*100 AS Percent,  

 ^

 

Fico no aguardo.

Newton Teixeira do Nascimento Junior Analista de Sistemas - CMAO
e-mail: newton.jun...@eletronorte.gov.br

 



html
body
font face = arial size = 1 color = #80Aviso:brO emitente desta 
mensagem eacute; responsaacute;vel por seu conteuacute;do e 
endereccedil;amento. Cabe ao destinataacute;rio cuidar quanto ao tratamento 
adequado. Sem a devida autorizaccedil;atilde;o, a divulgaccedil;atilde;o, a 
reproduccedil;atilde;o, a distribuiccedil;atilde;o ou qualquer outra 
accedil;atilde;o em desconformidade com as normas internas da ELETRONORTE S/A 
satilde;o proibidas e passiacute;veis de sanccedil;atilde;o disciplinar, 
ciacute;vel e criminal. Esta mensagem pode ser monitorada.
/font
/body
/html___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Desabilitar Case Sensitive no Banco de Dados

2009-06-18 Por tôpico Marco Aurelio V. da Silva
Caro Jota,

Verificando o collate, no postgresql 8.1 o collate esta C, e no postgresql 
8.3 que instalei no windows xp esta Portuguese Brasil.1252.
Com os dados como falei, no campo nome tendo dois registros aa e 
BB, no servidor que esta com o collate C o select com order by nome 
retorna:
BBB
aaa
pq na tabela asc o B maiusculo tem um valor menor que o a minusculo, por 
isto disse que precisava desabilitar o case sensitive de forma que o banco 
considerasse que A tivesse o mesmo valor que o a, e no servidor que está 
com o collate Portuguese Brasil.1252 isto acontece, no select retorna o 
seguinte:
aa
BB
Logo consegui o que queria, que era na ordenação ele ignorar se esta escrito 
em maiusculo ou minusculo. Usando o collate C letras maiusculas tem valor 
menor que letras minusculas assim como a tabela asc, e no Collate 
Postgresql Brasil.1252 isto não acontece na ordenação, mas nos testes com 
where nas querys acontece.

Obrigado pela atenção recebida. Consegui o que queria.

Marco Aurélio V. da Silva
Prodata Inf. e Cadastro Ltda.
Fone: (33) 3322-3082
email: ma...@prodatanet.com.br
msn: ma...@prodatanet.com.br
- Original Message - 
From: JotaComm jota.c...@gmail.com
To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br
Sent: Thursday, June 18, 2009 10:18 AM
Subject: Re: [pgbr-geral] Desabilitar Case Sensitive no Banco de Dados


Olá,

2009/6/18 Marco Aurelio V. da Silva marcoprod...@gmail.com

 Caro Jota,

 É o seguinte, verifiquei os dois bancos de dados, alias instalei um novo 
 no
 meu computador para verificar o locale, no servidor freebsd com a versão
 8.1
 do postgresql o locale esta com C, no servidor postgresql 8.3 que
 instalei
 no meu computador com windows xp a diferença é o seguinte, na instalação 
 do
 windows eu marquei para instalar o suporte a idiomas, no locale foi
 colocado
 Portugues do Brasil, que presumo seja o pt_BR (não encontrei o comando
 locale no windows), e no Encoding esta UTF8.


Você pode fazer pelo PostgreSQL:

SHOW lc_collate;


 Nestas condições fiz o seguinte teste, criei uma tabela cliente com o 
 campo
 nome do tipo character varyng com tamanho 50, sem nenhum indice. Adicionei
 os valores aa e BBB, ao dar o comando select * from cliente
 order by nome, ai vem o seguinte resultado:
 aa
 BB


Correto. Certo?


 Ignorando as letras maiusculas e minusculas. Logo pelo que percebi, se
 criar
 o banco com o locale pt_BR e o encoding UTF8 o case sensitive fica
 desabilitado para a ordenação. Mas para os wheres das consultas continua
 valendo.


Como assim ignorando maiúsculas e minúsculas? Isso que não consegui entender
o que você considera que o case senstivie fica desabilitado?

Este problema está relacionado ao locale C(Posix) que você está utilizando?
Se você modificar o locale da versão 8.1 você terá o mesmo comportamento da
sua versão 8.3.

É isso sua dúvida?


 Será que deu pra entender a confusão ?

 Desde já agradeço a atenção recebida.

 Marco Aurélio V. da Silva
 Prodata Inf. e Cadastro Ltda.
 Fone: (33) 3322-3082
 email: ma...@prodatanet.com.br
 msn: ma...@prodatanet.com.br
 - Original Message -
 From: JotaComm jota.c...@gmail.com
 To: Comunidade PostgreSQL Brasileira 
 pgbr-geral@listas.postgresql.org.br
 Sent: Wednesday, June 17, 2009 9:48 AM
 Subject: Re: [pgbr-geral] Desabilitar Case Sensitive no Banco de Dados


 Olá,

 2009/6/17 Marco Aurelio V. da Silva marcoprod...@gmail.com

  Caros Colegas,
 
  Gostaria da ajuda no seguinte sentido, precisava desabilitar o case
  sensitive do banco de dados, para que os indices e as buscas ignorassem 
  o
  case sensitive.


 Como assim desabilitar o case sensitive? Você quer armazenar as 
 informações
 tanto em maiúsculas e minúsculas e no momento de fazer uma pesquisa usando
 índice isso não seja levando em conta?

 Como estão criados os índices? Pode mandar a definição de um índice para a
 gente?

 
  O estranho é que funcionou automaticamente instalando a versão 8.3 em um
  windows xp, e com a codificação do banco como UTF8 e em um servidor 8.1
 em
  freebsd com a codificação UTF8 tb, naum funcionou.
  Ao adicionar no campo nome exemplo os valores: aaa e BB, no
  servidor 8.3 que esta no windows xp o aa aparece antes, mas no 8.1
  no
  Freebsd aparece o BB primeiro.


 Fiquei confuso. Qual a relação disso com a questão que você mencionou 
 antes
 de desabilitar o case sensitive? Se a for conveniente o otimizador irá
 analisar e ver se é melhor a utilização do índice ou não se uma leitura
 sequencial é mais conveniente.

 Esse problema do B aparecer antes do aa me parece um problema
 de
 locale.

 Você verificou se os locales dos dois servidores são iguais?

 Como fazer para ficar igual a este comportamento do 8.3 no windows xp ?
  Pesquisei a respeito e só encontrei formas de funcionar mandando gravar
  sempre maiusculo ou minusculo no banco, e utilizando o mesmo artificio
  para
  as consultas e testes.
 

 
  Desde já 

Re: [pgbr-geral] Otimizar sql - Reutilizar resultado de subselect

2009-06-18 Por tôpico Lucas Souza
Newton,

para evitar duvidas deste nivel, você pode organizar melhor o codigo e dar
nomes melhores aos apelidos...

SELECT A.eq, B.id_eq, B.unidade, B.tensao_equip, B.nominal,

 (SELECT MAX(Y.VALOR) FROM PAS_R X, bhpas_h_2009_05_01 Y WHERE
 X.BH_CHAVE=Y.BH_CHAVE AND Y.BH_CHAVE = (SELECT BH_CHAVE FROM PAS_R WHERE ID
 = B.id_eq AND bh_dthr_fim IS NULL))  AS maximo,

 (maximo/B.nominal)*100 *AS* AS Percent,

*Parece ter 2 vezes a palavra reservada AS*


 *Newton Teixeira do Nascimento Junior Analista de Sistemas – CMAO
 **e-mail: newton.jun...@eletronorte.gov.br*


-- 
Lucas de Souza D'Ávila
Graduando em Sistemas de Informação - CV Lattes:
http://lattes.cnpq.br/9245658982061645

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


[pgbr-geral] Php + PostgreSQL

2009-06-18 Por tôpico Ralf Schlindwein
Alguem usa o PostgreSQL com PHP ???



Sds

Ralf
___
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 + PostgreSQL

2009-06-18 Por tôpico Leonardo Cezar
On Thu, Jun 18, 2009 at 4:04 PM, Ralf Schlindweinralfoa...@gmail.com wrote:
 Alguem usa o PostgreSQL com PHP ???

Sim.

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


Re: [pgbr-geral] Php + PostgreSQL

2009-06-18 Por tôpico JotaComm
Sim. Assim como o Léo respondeu, eu também uso PHP com PostgreSQL.



2009/6/18 Ralf Schlindwein ralfoa...@gmail.com

 Alguem usa o PostgreSQL com PHP ???



 Sds

 Ralf

 ___
 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


Re: [pgbr-geral] Php + PostgreSQL

2009-06-18 Por tôpico Ralf Schlindwein
Tens algum tutorial de como eu inicio as configuraçoes?

Abraço

2009/6/18 Leonardo Cezar lhce...@gmail.com

 On Thu, Jun 18, 2009 at 4:04 PM, Ralf Schlindweinralfoa...@gmail.com
 wrote:
  Alguem usa o PostgreSQL com PHP ???

 Sim.

 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

___
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 + PostgreSQL

2009-06-18 Por tôpico Nilson Chagas
On Thu, Jun 18, 2009 at 4:04 PM, Ralf Schlindweinralfoa...@gmail.com wrote:
 Alguem usa o PostgreSQL com PHP ???

Sim




 Sds

 Ralf

-- 
[]s
Nilson Chagas - Ubuntu User 25794
---
Visite:
http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico
http://tempodesalvacao.blogspot.com/
http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico
___
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 + PostgreSQL

2009-06-18 Por tôpico Nilson Chagas
On Thu, Jun 18, 2009 at 4:16 PM, Ralf Schlindweinralfoa...@gmail.com wrote:
 Tens algum tutorial de como eu inicio as configuraçoes?

 Abraço

Entre os milhões da net, segue um
http://imasters.uol.com.br/artigo/2099/postgresql/integrando_postgresql_com_php/

Se vocẽ quer realmente ser ajudado, poderia ser mais objetivo, tipo o
que vc já fez, ou qual erro esta tendo.

-- 
[]s
Nilson Chagas - Ubuntu User 25794
---
Visite:
http://www.amados.com.br/podcast - Peça gratuitamente um curso Bíblico
http://tempodesalvacao.blogspot.com/
http://bbnradio.org/ - Ouça a rádio e faça gratuitamente um Curso Biblico
___
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 + PostgreSQL

2009-06-18 Por tôpico Leonardo Cezar
On Thu, Jun 18, 2009 at 4:16 PM, Ralf Schlindweinralfoa...@gmail.com wrote:
 Tens algum tutorial de como eu inicio as configuraçoes?

www.postgresql.org
www.php.net
www.apache.org (???)

Tens alguma dúvida um pouco mais específica?

-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


Re: [pgbr-geral] Php + PostgreSQL

2009-06-18 Por tôpico JotaComm
Olá,

Que tipo de configuração você se refere?

Função de conexão do PostgreSQL com o PHP, como por exemplo, pg_connect ou
pg_pconnect?

2009/6/18 Ralf Schlindwein ralfoa...@gmail.com

 Tens algum tutorial de como eu inicio as configuraçoes?

 Abraço

 2009/6/18 Leonardo Cezar lhce...@gmail.com

 On Thu, Jun 18, 2009 at 4:04 PM, Ralf Schlindweinralfoa...@gmail.com
 wrote:
  Alguem usa o PostgreSQL com PHP ???

 Sim.

 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



 ___
 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


Re: [pgbr-geral] Otimizar sql - Reutilizar resultado de subselect

2009-06-18 Por tôpico Osvaldo Kussama
2009/6/18 Newton Teixeira do Nascimento Júnior 
newton.jun...@eletronorte.gov.br

  Olá comunidade,



 Tenho o seguinte SELECT e gostaria de otimizá-lo. Eis o mesmo:



 SELECT A.eq, B.id_eq, B.unidade, B.tensao_equip, B.nominal,

 (SELECT MAX(Y.VALOR) FROM PAS_R X, bhpas_h_2009_05_01 Y WHERE
 X.BH_CHAVE=Y.BH_CHAVE AND Y.BH_CHAVE = (SELECT BH_CHAVE FROM PAS_R WHERE ID
 = B.id_eq AND bh_dthr_fim IS NULL))  AS maximo,

 (SELECT MAX(Y.VALOR) FROM PAS_R X, bhpas_h_2009_05_01 Y WHERE
 X.BH_CHAVE=Y.BH_CHAVE AND Y.BH_CHAVE = (SELECT BH_CHAVE FROM PAS_R WHERE ID
 = B.id_eq AND bh_dthr_fim IS NULL))/B.nominal)*100 AS AS Percent,

 CAST('2009_05_01' as DATE) as Data

 FROM EQUIPAMENTOS AS A, IDS_EQUIPAMENTOS AS B,
 RELATORIOS_EQUIPAMENTOS AS C WHERE A.eq = B.eq AND A.eq=C.eq AND
 C.nome_relatorio='ICE' ORDER BY percent DESC;



  (SELECT MAX(Y.VALOR) FROM PAS_R X, bhpas_h_2009_05_01 Y WHERE
 X.BH_CHAVE=Y.BH_CHAVE AND Y.BH_CHAVE = (SELECT BH_CHAVE FROM PAS_R WHERE ID
 = B.id_eq AND bh_dthr_fim IS NULL))  AS Maximo

 O sub-select acimal calcula um determinado valor Maximo; tenho também que
 mostrar em outra coluna o percentual obtido, o qual é o
 (Maximo/nominal)*100; Para rodar, estou tendo que executar duas vezes o
 mesmo sub-select que retorna o mesmo resultado para mostrar os dados que são
 necessários e isso tem deixado a consulta lenta.



 Gostaria de ficasse assim:



 SELECT A.eq, B.id_eq, B.unidade, B.tensao_equip, B.nominal,

 (SELECT MAX(Y.VALOR) FROM PAS_R X, bhpas_h_2009_05_01 Y WHERE
 X.BH_CHAVE=Y.BH_CHAVE AND Y.BH_CHAVE = (SELECT BH_CHAVE FROM PAS_R WHERE ID
 = B.id_eq AND bh_dthr_fim IS NULL))  AS maximo,

 (maximo/B.nominal)*100 AS AS Percent,

 CAST('2009_05_01' as DATE) as Data

 FROM EQUIPAMENTOS AS A, IDS_EQUIPAMENTOS AS B,
 RELATORIOS_EQUIPAMENTOS AS C WHERE A.eq = B.eq AND A.eq=C.eq AND
 C.nome_relatorio='ICE' ORDER BY percent DESC;



 Porém quando eu executo dessa forma o seguinte erro é exibido:

 ERRO:  coluna maximo não existe

 LINE 5: (maximo/B.nominal)*100 AS Percent,

  ^





Creio que na versão 8.4 você poderá utilizar a cláusula WITH para
simplificar queries deste tipo.

Osvaldo
___
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 + PostgreSQL

2009-06-18 Por tôpico Osvaldo Kussama
2009/6/18 Leonardo Cezar lhce...@gmail.com

 On Thu, Jun 18, 2009 at 4:16 PM, Ralf Schlindweinralfoa...@gmail.com
 wrote:
  Tens algum tutorial de como eu inicio as configuraçoes?

 www.postgresql.org
 www.php.net
 www.apache.org (???)

 Tens alguma dúvida um pouco mais específica?



Existe até uma lista específica, a pgsql-php:
http://archives.postgresql.org/pgsql-php/

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


[pgbr-geral] Otimizar sql - Reutilizar resultado de subselect

2009-06-18 Por tôpico Newton Teixeira do Nascimento Júnior

Olá comunidade, vamos vê se consigo demonstrar o que estou querendo:
 
Tenho um select com a seguinte estrutura:
 
SELECT campo1 AS X, campo2 AS Y, campo3 AS Z, (campo3/campo2)*100 AS W  
FROM TABELA1, TABELA2 where pk_tabela1 = fk_tabela2.
 
O campo3 é obtido através de um sub-select. Este eu apresento abaixo 
(novamente):
(SELECT MAX(Y.VALOR) FROM PAS_R X, bhpas_h_2009_05_01 Y WHERE 
X.BH_CHAVE=Y.BH_CHAVE AND 
Y.BH_CHAVE = (SELECT BH_CHAVE FROM PAS_R WHERE ID = B.id_eq AND bh_dthr_fim IS 
NULL))  
 
Observem que para exibir o campo de apelido W, eu preciso fazer uma conta com 
os campos *campo2* (um campo normal de uma das tabelas envolvidas) 
e *campo3* (obtido através de um sub-select).
 
O problema é que não sei como reutilizar o resultado de campo3 para calcular o 
valor do campo W. 
Para rodar a consulta estou tendo que calcular o sub-select acima duas vezes. 
Quando eu programava com SQL Server eu fazia isso normalmente, porém não estou 
sabendo fazer isso com o postgres. 
Queria que o SQL fosse como está abaixo:
 
 
SELECT A.eq, B.id_eq, B.unidade, B.tensao_equip, B.nominal, 
(SELECT MAX(Y.VALOR) FROM PAS_R X,b hpas_h_2009_05_01 Y WHERE 
X.BH_CHAVE=Y.BH_CHAVE AND 
Y.BH_CHAVE = (SELECT BH_CHAVE FROM PAS_R WHERE ID = B.id_eq AND bh_dthr_fim IS 
NULL))  AS apelido_maximo, 
(apelido_maximo/B.nominal)*100 AS Percent, CAST('2009_05_01' as DATE) as Data
FROM EQUIPAMENTOS AS A, IDS_EQUIPAMENTOS AS B, RELATORIOS_EQUIPAMENTOS AS 
C WHERE A.eq = B.eq 
AND A.eq=C.eq AND C.nome_relatorio='ICE' ORDER BY percent DESC;
 
Mas atualmente estou fazendo assim (executando o mesmo sub-select duas vezes):
 
SELECT A.eq, B.id_eq, B.unidade, B.tensao_equip, B.nominal, 
(SELECT MAX(Y.VALOR) FROM PAS_R X, bhpas_h_2009_05_01 Y WHERE 
X.BH_CHAVE=Y.BH_CHAVE AND Y.BH_CHAVE = (SELECT BH_CHAVE FROM PAS_R WHERE ID = 
B.id_eq AND bh_dthr_fim IS NULL))  AS maximo, 
(SELECT MAX(Y.VALOR) FROM PAS_R X, bhpas_h_2009_05_01 Y WHERE 
X.BH_CHAVE=Y.BH_CHAVE AND Y.BH_CHAVE = (SELECT BH_CHAVE FROM PAS_R WHERE ID = 
B.id_eq AND bh_dthr_fim IS NULL))/B.nominal)*100 AS  Percent, 
CAST('2009_05_01' as DATE) as Data
FROM EQUIPAMENTOS AS A, IDS_EQUIPAMENTOS AS B, RELATORIOS_EQUIPAMENTOS AS 
C WHERE A.eq = B.eq 
AND A.eq=C.eq AND C.nome_relatorio='ICE' ORDER BY percent DESC;
 
 
Desde já agradeço a atenção e fico no aguardo.
 
PS: 
O campo Maximo representa o valor Maximo de tensão que um determinado 
equipamento apresentou em um mês 
e o nominal o valor máximo (ou limite) que esse equipamento pode suportar em 
falhar.
O Maximo dividido pelo percentual representa o carregamento percentual desse 
equipamento no mês.

Newton Teixeira do Nascimento JuniorAnalista de Sistemas - CMAO
e-mail: newton.jun...@eletronorte.gov.br

 



html
body
font face = arial size = 1 color = #80Aviso:brO emitente desta 
mensagem eacute; responsaacute;vel por seu conteuacute;do e 
endereccedil;amento. Cabe ao destinataacute;rio cuidar quanto ao tratamento 
adequado. Sem a devida autorizaccedil;atilde;o, a divulgaccedil;atilde;o, a 
reproduccedil;atilde;o, a distribuiccedil;atilde;o ou qualquer outra 
accedil;atilde;o em desconformidade com as normas internas da ELETRONORTE S/A 
satilde;o proibidas e passiacute;veis de sanccedil;atilde;o disciplinar, 
ciacute;vel e criminal. Esta mensagem pode ser monitorada.
/font
/body
/html___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Otimizar sql - Reutilizar resultado de subselect

2009-06-18 Por tôpico Newton Teixeira do Nascimento Júnior

Osvaldo, a versão da empresa é a 8.2.4 e não posso migrar. Att.

Newton Teixeira do Nascimento JuniorAnalista de Sistemas - CMAO
e-mail: newton.jun...@eletronorte.gov.br

 



html
body
font face = arial size = 1 color = #80Aviso:brO emitente desta 
mensagem eacute; responsaacute;vel por seu conteuacute;do e 
endereccedil;amento. Cabe ao destinataacute;rio cuidar quanto ao tratamento 
adequado. Sem a devida autorizaccedil;atilde;o, a divulgaccedil;atilde;o, a 
reproduccedil;atilde;o, a distribuiccedil;atilde;o ou qualquer outra 
accedil;atilde;o em desconformidade com as normas internas da ELETRONORTE S/A 
satilde;o proibidas e passiacute;veis de sanccedil;atilde;o disciplinar, 
ciacute;vel e criminal. Esta mensagem pode ser monitorada.
/font
/body
/html___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Segurança no postgresql

2009-06-18 Por tôpico Leandro Muller
Ola turma.

 

Novamente venho recorrer ao grupo.

Alguém possui o material e dicas para montar um bom servidor com segurança
contra perda de dados?

 

No antigo servidor Mysql possuímos 2 HDs, um somente para Logs o outro S.O.
e banco de dados.

Os logs eram salvos no HD2, caso ocorra a perda do HD1 ou problemas no
banco, retornaríamos o backup da 00:00 e rodaríamos os logs da 00:00 ate o
momento da falha.

Obs.: O backup após efetuado é salvo HD1 e HD2 e enviado para outro servidor
através de FTP automaticamente;

 

Alguém tem sugestão de baixo custo?

Hardware que possuímos para o servidor de BD: 

DualCore 2duo, 4 gb memória, 2 HDs 160 SATA2;

SO: Fedora 10;

BD Postgresql 8.3.7;

 

Abraços

 

At.

 

Leandro Müller

Analista de Sistemas

 

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


Re: [pgbr-geral] Segurança no postgresql

2009-06-18 Por tôpico Osvaldo Kussama
2009/6/18 Leandro Muller leandr...@muriki.com.br

  Ola turma.



 Novamente venho recorrer ao grupo.

 Alguém possui o material e dicas para montar um bom servidor com segurança
 contra perda de dados?



 No antigo servidor Mysql possuímos 2 HDs, um somente para Logs o outro S.O.
 e banco de dados.

 Os logs eram salvos no HD2, caso ocorra a perda do HD1 ou problemas no
 banco, retornaríamos o backup da 00:00 e rodaríamos os logs da 00:00 ate o
 momento da falha.

 Obs.: O backup após efetuado é salvo HD1 e HD2 e enviado para outro
 servidor através de FTP automaticamente;



 Alguém tem sugestão de baixo custo?

 Hardware que possuímos para o servidor de BD:

 DualCore 2duo, 4 gb memória, 2 HDs 160 SATA2;

 SO: Fedora 10;

 BD Postgresql 8.3.7;




Dê uma olhada neste artigo do Fábio Telles:
Tudo que você sempre quis saber sobre discos em servidores PostgreSQL e
tinha vergonha de perguntar
http://www.midstorm.org/~telles/2008/07/25/postgresql-discos-cia/

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