[pgbr-geral] REF. Usuarios Conectados.

2010-03-25 Por tôpico VisualP Sistemas
Ola Pessoal.

Preciso controlar os usuarios conectados para nao permitir que usuario ja 
conectado acesse novamente.
Penso em colocar um flag na tabela de usuario, quando entra no sistema e reseta 
o flag quando sai.
Mas nao sei ate que ponto isto é seguro uma vez que o PC pode ser desligado sem 
sair do sistema,etc.

Qual o melhor forma de controle, alguem tem mais dicas ??

Att,
Paulo.

___
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. Usuarios Conectados.

2010-03-25 Por tôpico JotaComm
Olá,

Em 25 de março de 2010 09:46, VisualP Sistemas pa...@visualpsistemas.com.br
 escreveu:

  Ola Pessoal.

 Preciso controlar os usuarios conectados para nao permitir que usuario ja
 conectado acesse novamente.


Explique melhor como isso vai funcionar?

Você vai mapear o usuário de conexão do banco a uma tabela de usuários do
seu sistema?

Se sim, pode ter um campo boolean que recebe TRUE quando se conecta e FALSE
quando se desconecta.


 Penso em colocar um flag na tabela de usuario, quando entra no sistema e 
 reseta
 o flag quando sai.
 Mas nao sei ate que ponto isto é seguro uma vez que o PC pode ser
 desligado sem sair do sistema,etc.


Se o pessoal for desligado você tem que finalizar a conexão e neste caso
seta o campo boolean para FALSE.


 Qual o melhor forma de controle, alguem tem mais dicas ??

 Att,
 Paulo.



 ___
 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
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Guarda saida do Psql com erro.

2010-03-25 Por tôpico paulo matadr
Bom dia a Todos,
Preciso que o psql guarde no log de execulcao todas as msg geradas,
percebi o seguinte:


postgres=# create database teste;
CREATE DATABASE
postgres=# \c teste;
You are now connected to database teste.
teste=#  create table teste_psql( a int , b int);
CREATE TABLE
-bash-3.1$ cat   teste.sql
insert into teste_psql VALUES (1,1);    ^
insert into teste_psql VALUES (1,2);
insert into teste_psql VALUES (1,3);
insert into teste_psql VALUES (1,4);
insert into teste_psql VALUES (1,5);
insert into teste_psql VALUES (1,a);


---so  imprime  o error na tela
-bash-3.1$ psql -d teste -f teste.sql  resultado.log
psql:teste.sql:2: ERROR:  syntax error at or near ^
LINE 1: ^
    ^
psql:teste.sql:6: ERROR:  column a does not exist
LINE 1: insert into teste_psql VALUES (1,a);

-bash-3.1$ cat resultado.log
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1

teste=# select * from  teste_psql;
 a | b
---+---
 1 | 1
 1 | 3
 1 | 4
 1 | 5
(4 rows)

existe a possibidade de exporta pro log tanto sucesso quanto a falha?


Ats

Paulo


  

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] doc

2010-03-25 Por tôpico josemario rosa



21782_87505_atividade_01.doc
Description: MS-Word document
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] doc

2010-03-25 Por tôpico Fábio Telles Rodriguez
É para corrigir???

hehehe
-- 
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


Re: [pgbr-geral] doc

2010-03-25 Por tôpico josemario rosa
foi mal era pra mandar pra outra pessoa

Em 25 de março de 2010 10:15, Fábio Telles Rodriguez fabio.tel...@gmail.com
 escreveu:

 É para corrigir???

 hehehe
 --
 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


Re: [pgbr-geral] Guarda saida do Psql com erro.

2010-03-25 Por tôpico Osvaldo Kussama
2010/3/25 paulo matadr saddon...@yahoo.com.br:
 Bom dia a Todos,
 Preciso que o psql guarde no log de execulcao todas as msg geradas,
 percebi o seguinte:


 postgres=# create database teste;
 CREATE DATABASE
 postgres=# \c teste;
 You are now connected to database teste.
 teste=#  create table teste_psql( a int , b int);
 CREATE TABLE
 -bash-3.1$ cat   teste.sql
 insert into teste_psql VALUES (1,1);    ^
 insert into teste_psql VALUES (1,2);
 insert into teste_psql VALUES (1,3);
 insert into teste_psql VALUES (1,4);
 insert into teste_psql VALUES (1,5);
 insert into teste_psql VALUES (1,a);


 ---so  imprime  o error na tela
 -bash-3.1$ psql -d teste -f teste.sql  resultado.log
 psql:teste.sql:2: ERROR:  syntax error at or near ^
 LINE 1: ^
     ^
 psql:teste.sql:6: ERROR:  column a does not exist
 LINE 1: insert into teste_psql VALUES (1,a);

 -bash-3.1$ cat resultado.log
 INSERT 0 1
 INSERT 0 1
 INSERT 0 1
 INSERT 0 1
 teste=# select * from  teste_psql;
  a | b
 ---+---
  1 | 1
  1 | 3
  1 | 4
  1 | 5
 (4 rows)
 existe a possibidade de exporta pro log tanto sucesso quanto a falha?



Tente:
psql -d teste -f teste.sql 2 resultado.log

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] Guarda saida do Psql com erro.

2010-03-25 Por tôpico JotaComm
2010/3/25 paulo matadr saddon...@yahoo.com.br

 Bom dia a Todos,
 Preciso que o psql guarde no log de execulcao todas as msg geradas,
 percebi o seguinte:


 postgres=# create database teste;
 CREATE DATABASE
 postgres=# \c teste;
 You are now connected to database teste.
 teste=#  create table teste_psql( a int , b int);
 CREATE TABLE
 -bash-3.1$ cat   teste.sql
 insert into teste_psql VALUES (1,1);^
 insert into teste_psql VALUES (1,2);
 insert into teste_psql VALUES (1,3);
 insert into teste_psql VALUES (1,4);
 insert into teste_psql VALUES (1,5);
 insert into teste_psql VALUES (1,a);


 ---so  imprime  o error na tela
 -bash-3.1$ psql -d teste -f teste.sql  resultado.log
 psql:teste.sql:2: ERROR:  syntax error at or near ^
 LINE 1: ^
 ^
 psql:teste.sql:6: ERROR:  column a does not exist
 LINE 1: insert into teste_psql VALUES (1,a);

 -bash-3.1$ cat resultado.log
 INSERT 0 1
 INSERT 0 1
 INSERT 0 1
 INSERT 0 1
 teste=# select * from  teste_psql;
  a | b
 ---+---
  1 | 1
  1 | 3
  1 | 4
  1 | 5
 (4 rows)
 existe a possibidade de exporta pro log tanto sucesso quanto a falha?


psql postgres -f teste.sql  erros.txt 21


 Ats

 Paulo






 --
 Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 
 10http://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/-
 Celebridadeshttp://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/celebridades/-
 Músicahttp://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/m%C3%BAsica/-
 Esporteshttp://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




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


[pgbr-geral] Select retornando diferenças

2010-03-25 Por tôpico Marcelo Cardoso de Souza
Boa dia a todos,

Gostaria de uma ajuda. Alguem sabe se é possivel fazer uma consulta onde eu
possa comparar dois registros de uma mesma tabela e retorne somente os
atributos com valores diferentes, os que foram alterados.

Desde já agradeço

Marcelo

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


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

2010-03-25 Por tôpico Osvaldo Kussama
Em 25 de março de 2010 10:28, Marcelo Cardoso de Souza
marceloc...@gmail.com escreveu:
 Boa dia a todos,

 Gostaria de uma ajuda. Alguem sabe se é possivel fazer uma consulta onde eu
 possa comparar dois registros de uma mesma tabela e retorne somente os
 atributos com valores diferentes, os que foram alterados.



Tudo indica que é possível.
Se você puder informar a estrutura da tabela e um exemplo do que
deseja creio que possamos ajuda-lo.

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] Select retornando diferenças

2010-03-25 Por tôpico JotaComm
Olá,

Em 25 de março de 2010 10:28, Marcelo Cardoso de Souza 
marceloc...@gmail.com escreveu:

 Boa dia a todos,

 Gostaria de uma ajuda. Alguem sabe se é possivel fazer uma consulta onde eu
 possa comparar dois registros de uma mesma tabela e retorne somente os
 atributos com valores diferentes, os que foram alterados.


Não entendi. Pode dar um exemplo para facilitar o entendimento?


 Desde já agradeço

 Marcelo

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



[]s
-- 
JotaComm
http://jotacomm.wordpress.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


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

2010-03-25 Por tôpico Marcelo Cardoso de Souza
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


Em 25 de março de 2010 10:34, JotaComm jota.c...@gmail.com escreveu:

 Olá,

 Em 25 de março de 2010 10:28, Marcelo Cardoso de Souza 
 marceloc...@gmail.com escreveu:

 Boa dia a todos,


 Gostaria de uma ajuda. Alguem sabe se é possivel fazer uma consulta onde
 eu possa comparar dois registros de uma mesma tabela e retorne somente os
 atributos com valores diferentes, os que foram alterados.


 Não entendi. Pode dar um exemplo para facilitar o entendimento?


 Desde já agradeço

 Marcelo

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



 []s
 --
 JotaComm
 http://jotacomm.wordpress.com

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




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


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

2010-03-25 Por tôpico JotaComm
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;





 Em 25 de março de 2010 10:34, JotaComm jota.c...@gmail.com escreveu:

 Olá,

 Em 25 de março de 2010 10:28, Marcelo Cardoso de Souza 
 marceloc...@gmail.com escreveu:

 Boa dia a todos,


 Gostaria de uma ajuda. Alguem sabe se é possivel fazer uma consulta onde
 eu possa comparar dois registros de uma mesma tabela e retorne somente os
 atributos com valores diferentes, os que foram alterados.


 Não entendi. Pode dar um exemplo para facilitar o entendimento?


 Desde já agradeço

 Marcelo

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



 []s
 --
 JotaComm
 http://jotacomm.wordpress.com

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




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



[]s
-- 
JotaComm
http://jotacomm.wordpress.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Problemas ao usar o psql(Lívio Si queira)

2010-03-25 Por tôpico Lívio Siqueira
Olá JotaComm.

O Postgres está rodando e consigo utilizá-lo somente pelo SQL
Shell(psql) que vem no arquivo .bin

Resultado do comando /etc/init.d/postgresql status:
pg_ctl: server is running (PID: 2739)
/opt/PostgreSQL/8.4/bin/postgres -D /opt/PostgreSQL/8.4/data

Prefiro utilizar o Console pq ele aceita o auto-completar e
copiar/colar comandos e endereços.

Instalei os pacotes necessários para a utilização no Console:
postgresql-client-8.4_8.4.2-0ubuntu9.10_amd64
postgresql-client-common_101_all
postgresql-common_101_all

Os pacotes criam a pasta postgresql em /var/run mas toda vez que a
máquina é reiniciada a pasta desaparece.

Outra curiosidade, se eu criar a pasta postgresql e copiar e mudar as
permissões dos arquivos .s.PGSQL.5432 e .s.PGSQL.5432.lock para a
pasta postgresql, o psql não funciona.

Acho mais interessante baixar o arquivo.bin pq ele vem com o PG
Admin3, Documentação entre outras coisas, fora que não é necessário
configurar o pg_hba.conf.

Já tentei configurar o arquivo postgres.conf para buscar o arquivo
.s.PGSQL.5432 na pasta /tmp e não tive sucesso.

Atenciosamente.

-- 
Lívio Siqueira Lima

Licenciando em Geografia - Universidade Estadual do Ceará - UECE
Técnico em Desenvolvimento de Software - Instituto Federal do Ceará -
IFET - Campus Maracanaú
Cursando Técnico em Informática - Instituto Federal do Ceará - IFET -
Campus Maracanaú
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Res: Guarda saida do Psql com erro.

2010-03-25 Por tôpico paulo matadr
Bom dia  Osvaldo
Ai ele inverte:

-bash-3.1$ psql -d teste -f teste.sql 2 resultado.log
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1


-bash-3.1$ cat resultado.log
psql:teste.sql:2: ERROR:  syntax error at or near ^
LINE 1: ^
    ^
psql:teste.sql:6: ERROR:  column a does not exist
LINE 1: insert into teste_psql VALUES (1,a);



Tava precisando guarda tanto a falha quanto o sucesso.

Ats





De: Osvaldo Kussama osvaldo.kuss...@gmail.com
Para: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br
Enviadas: Quinta-feira, 25 de Março de 2010 10:21:53
Assunto: Re: [pgbr-geral] Guarda saida do Psql com erro.

2010/3/25 paulo matadr saddon...@yahoo.com.br:
 Bom dia a Todos,
 Preciso que o psql guarde no log de execulcao todas as msg geradas,
 percebi o seguinte:


 postgres=# create database teste;
 CREATE DATABASE
 postgres=# \c teste;
 You are now connected to database teste.
 teste=#  create table teste_psql( a int , b int);
 CREATE TABLE
 -bash-3.1$ cat   teste.sql
 insert into teste_psql VALUES (1,1);    ^
 insert into teste_psql VALUES (1,2);
 insert into teste_psql VALUES (1,3);
 insert into teste_psql VALUES (1,4);
 insert into teste_psql VALUES (1,5);
 insert into teste_psql VALUES (1,a);


 ---so  imprime  o error na tela
 -bash-3.1$ psql -d teste -f teste.sql  resultado.log
 psql:teste.sql:2: ERROR:  syntax error at or near ^
 LINE 1: ^
     ^
 psql:teste.sql:6: ERROR:  column a does not exist
 LINE 1: insert into teste_psql VALUES (1,a);

 -bash-3.1$ cat resultado.log
 INSERT 0 1
 INSERT 0 1
 INSERT 0 1
 INSERT 0 1
 teste=# select * from  teste_psql;
  a | b
 ---+---
  1 | 1
  1 | 3
  1 | 4
  1 | 5
 (4 rows)
 existe a possibidade de exporta pro log tanto sucesso quanto a falha?



Tente:
psql -d teste -f teste.sql 2 resultado.log

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



  

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Hash join Dvuida

2010-03-25 Por tôpico Tiago Valério
Pessoal


Tenho a seguinte duvida  sobre um join entre duas tabelas.A tabela a possui
aproximadamente 400.000 mil registros ao passo que a tabela b possui 20
milhoes de regitros,

Os campos de juncao ambos sao pk e  os campos do where possuem indices,
porem verifico atraves do explain a montagem da estrutura hash esta muito
custosa.

Seria um problema do sql mal feito ou alguma dificuldade em alocar na
memoria este hash table?.Segue o sql com o explain.




   select
  a.cnpj as cnpj_atual,
   cdmatriz_changed ,
  data_abertura_changed,
   razao_social_changed ,
   fantasia_changed,
   cdnatureza_changed,
logradouro_changed,
numero_changed,
complemento_changed,
cep_changed,
bairro_changed,
municipio_changed,
uf_changed,
cdsitcadastral_changed,
cdmotivosituacao_changed,
cdsitcadastralesp_changed,
cnaes_changed,
a.datahora_processamento as datahora_processamento_atual,
b.datahora_processamento as datahora_processamento_rela,
a.data_situacao as data_situcao_atual,
b.data_situacao as data_situcao_rela,
  ramo_atividade,
cod_ramo1,
cod_ramo2,
cod_ramo3,
cod_ramo4,
cod_ramo5,
cod_ramo6,
cod_ramo7,
cod_ramo8,
cod_ramo9,
cod_ramo10,
id
   from novo_cnpj_cnae.ecnpj_teste_repro a INNER join novo_cnpj_cnae.cnpj_rf
b
ON a.cnpj=b.cnpj
where   id  1*1 and id = (1*1 + 1) and a.flag_relacional=0

Hash Join  (cost=2328.53..820035.33 rows=9582 width=143)
  Hash Cond: ((b.cnpj)::bpchar = a.cnpj)
  -  Seq Scan on cnpj_rf b  (cost=0.00..96.78 rows=19055578 width=27)
  -  Hash  (cost=2208.76..2208.76 rows=9582 width=131)
-  Index Scan using idx_ecnpj_teste_repro_id_2 on
ecnpj_teste_repro a  (cost=0.00..2208.76 rows=9582 width=131)
  Index Cond: ((id  1) AND (id = 2))
  Filter: ((flag_processamento = 22) AND (flag_relacional =
0))
___
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 Marcelo Cardoso de Souza
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 jota.c...@gmail.com 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;





 Em 25 de março de 2010 10:34, JotaComm jota.c...@gmail.com escreveu:

 Olá,

 Em 25 de março de 2010 10:28, Marcelo Cardoso de Souza 
 marceloc...@gmail.com escreveu:

 Boa dia a todos,


 Gostaria de uma ajuda. Alguem sabe se é possivel fazer uma consulta onde
 eu possa comparar dois registros de uma mesma tabela e retorne somente os
 atributos com valores diferentes, os que foram alterados.


 Não entendi. Pode dar um exemplo para facilitar o entendimento?


 Desde já agradeço

 Marcelo

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



 []s
 --
 JotaComm
 http://jotacomm.wordpress.com

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




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



 []s
 --
 JotaComm
 http://jotacomm.wordpress.com

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




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


[pgbr-geral] Particionamento x Herança

2010-03-25 Por tôpico letgaude

Boa Tarde,

Em todos os foruns sobre particionamento, é dito que a implementação desta é
feita através de herança. Que precisa criar uma trigger ou role pra
redirecionar os registros para as tabelas filhas e etc. No entanto, com a
herança, os dados acabam ficando nas duas tabelas, gerando redundância. É
assim mesmo ? Acho que vou particionar sem herança, pois assim não gero
duplicação de informações.

Grata,

Letícia
-- 
View this message in context: 
http://old.nabble.com/Particionamento-x-Heran%C3%A7a-tp28030200p28030200.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


Re: [pgbr-geral] Res: Guarda saida do Psql com erro.

2010-03-25 Por tôpico Osvaldo Kussama
Em 25 de março de 2010 11:10, paulo matadr saddon...@yahoo.com.br escreveu:
 Bom dia  Osvaldo
 Ai ele inverte:
 -bash-3.1$ psql -d teste -f teste.sql 2 resultado.log
 INSERT 0 1
 INSERT 0 1
 INSERT 0 1
 INSERT 0 1

 -bash-3.1$ cat resultado.log
 psql:teste.sql:2: ERROR:  syntax error at or near ^
 LINE 1: ^
     ^
 psql:teste.sql:6: ERROR:  column a does not exist
 LINE 1: insert into teste_psql VALUES (1,a);


 Tava precisando guarda tanto a falha quanto o sucesso.



Então siga a recomendação do Jota.

psql -d teste -f teste.sql resultado.log 21

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] Particionamento x Herança

2010-03-25 Por tôpico JotaComm
Olá,

Em 25 de março de 2010 12:07, letgaude letga...@gmail.com escreveu:


 Boa Tarde,

 Em todos os foruns sobre particionamento, é dito que a implementação desta
 é
 feita através de herança. Que precisa criar uma trigger ou role pra
 redirecionar os registros para as tabelas filhas e etc. No entanto, com a
 herança, os dados acabam ficando nas duas tabelas, gerando redundância. É
 assim mesmo ? Acho que vou particionar sem herança, pois assim não gero
 duplicação de informações.


Sim, é por herança. Você precisa de uma trigger ou rule e não role.

Não vejo como ficarem dados duplicados, a menos que a trigger ou a rule
esteja implementa de forma incorreta.

Veja mais informações em:
http://www.postgresql.org/docs/8.4/interactive/ddl-partitioning.html



 Grata,

 Letícia
 --
 View this message in context:
 http://old.nabble.com/Particionamento-x-Heran%C3%A7a-tp28030200p28030200.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




Atenciosamente

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


[pgbr-geral] Postgres embarcado - Win XP

2010-03-25 Por tôpico Thiago Tiedtke dos Reis
Bom dia pessoal,

Acompanho a lista a muito tempo, e em todas as vezes que precisei, obtive
respostas somente consultando o histórico desta, encontrando sábias soluções
propostas pelos diversos colaboradores de peso que aqui visitam, ou mesmo
habitam ... :)

Há algum tempo estou com umas dúvidas a respeito do uso do postgresql em
sistemas embarcados que eu desenvolvo. Vou tentar contextualizar para o
melhor entendimento.

Postgresql 8.4 (não faz muita diferença a versão, desde que suporte pelo
menos a extensão postgis)
PostGIS
Windows XP 32 bit

Na verdade o sistema é simples, poucas tabelas, algumas com suporte a dados
geográficos, etc.

O computador onde o meu sistema e o PG são instalado, é embarcado em um
veículo, onde existem alguns sensores, e algumas interfaces para controlar e
fazer a aquisição com esses sensores. Até ai tudo bem, a parte de integração
e controle está tudo bem também.

Porém atualmente nossa interface é simples, e não utilizo qualquer tipo de
SGBD. Decidi pela escolha do Postgres por todas as caracteristicas do mesmo,
e principalmente pela extensão postgis para trabalhar junto com mapserver,
openlayers, etc...

A versão beta do sistema, usando o PG está funcional, porém no setor de dev,
ou seja, computadores quietinhos, parados, sem interferecias
eletromagnéticas, etc.

Como o sistema é embarcado, ocorrem alguns problemas, que conhecemos, porém
as vezes provocam instabilidade do hardware, como por exemplo:

- Interferencias eletromagneticas no sistema sensor (que trava todas as
interfaces, e por sua vez, travando o windows). Interferencias essas que vem
do próprio veículo, oriundas do sistema de ignição, alimentação, rádios
transmissores para comunicação, etc.

Apesar de tomarmos muitas preucações usando filtros, aterramentos, cabos
blindados, etc, travamentos acontecem (mas sem muita frequencia).

Ok, agora vem a pergunta:

Como evitar que a base do PG corrompa quando esse travamento ocorrer - o que
ja ocorreu umas vezes, quando o windows travou, devido ao erro nas placas de
aquisições ?

Gostaria de saber entao algumas dicas/regras para que a base do PG suporte
um travamento inexperado do SO, mantendo integra a base, após um reinicio do
sistema.

Durante o uso do sistema, é feita inclusão/alteração em algumas tabelas, e a
taxa máxima de incluão é de 1 Hz, em uma tabela contendo um campo de dados
geográficos (1Hz é taxa de coleta de um GPS que vai embarcado também).

Espero que tenham compreendido, e que possam me dar algumas dicas.

Portanto deste já agradeço, e peço desculpas pela falta de sinteticidade
neste email... :)

[]s

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


Re: [pgbr-geral] Hash join Dvuida

2010-03-25 Por tôpico Fabrízio de Royes Mello
Em 25 de março de 2010 11:30, Tiago Valério tiagosvale...@gmail.comescreveu:


 corte

   -  Seq Scan on cnpj_rf b  (cost=0.00..96.78 rows=19055578
 width=27)

 corte


O seu maior custo está aqui, na juncao entre a tabela A e B pelos campos
CNPJ... vc tem indice na tabela novo_cnpj_cnae.cnpj_rf pelo campo CNPJ
Vc tem executado ANALYZE frequentemente???


-- 
Fabrízio de Royes Mello
 Blog sobre TI: http://fabriziomello.blogspot.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Hash join Dvuida

2010-03-25 Por tôpico Tiago Valério
Tenho uma pk para este campo, no mais fiz um set random_page_cost '2', para
ver se o otimizador faria a escolha do indice da pk.

O analyze eu fiz antes de ser dado o explain.

Grato pela ajuda

Em 25 de março de 2010 13:03, Fabrízio de Royes Mello 
fabriziome...@gmail.com escreveu:



 Em 25 de março de 2010 11:30, Tiago Valério tiagosvale...@gmail.comescreveu:


 corte

   -  Seq Scan on cnpj_rf b  (cost=0.00..96.78 rows=19055578
 width=27)

 corte


 O seu maior custo está aqui, na juncao entre a tabela A e B pelos campos
 CNPJ... vc tem indice na tabela novo_cnpj_cnae.cnpj_rf pelo campo CNPJ
 Vc tem executado ANALYZE frequentemente???


 --
 Fabrízio de Royes Mello
  Blog sobre TI: http://fabriziomello.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 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 Marcelo Cardoso de Souza
Mas ai que vem a questão como saber quais campos mostrar, pois quero somente
os que foram alterados.

Em 25 de março de 2010 11:50, JotaComm jota.c...@gmail.com escreveu:



 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?


 Sim. È só fazer a restrição na hora de mostrar os campos no SELECT.


 Em 25 de março de 2010 11:03, JotaComm jota.c...@gmail.com 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;





 Em 25 de março de 2010 10:34, JotaComm jota.c...@gmail.com escreveu:

 Olá,

 Em 25 de março de 2010 10:28, Marcelo Cardoso de Souza 
 marceloc...@gmail.com escreveu:

 Boa dia a todos,


 Gostaria de uma ajuda. Alguem sabe se é possivel fazer uma consulta
 onde eu possa comparar dois registros de uma mesma tabela e retorne 
 somente
 os atributos com valores diferentes, os que foram alterados.


 Não entendi. Pode dar um exemplo para facilitar o entendimento?


 Desde já agradeço

 Marcelo

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



 []s
 --
 JotaComm
 http://jotacomm.wordpress.com

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




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



 []s
 --
 JotaComm
 http://jotacomm.wordpress.com

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




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




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

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




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


Re: [pgbr-geral] Hash join Dvuida

2010-03-25 Por tôpico JotaComm
Olá,

Em 25 de março de 2010 13:19, Tiago Valério tiagosvale...@gmail.comescreveu:

 Tenho uma pk para este campo, no mais fiz um set random_page_cost '2', para
 ver se o otimizador faria a escolha do indice da pk.


Você conhece como funciona o random_page_cost para te-lo modificado?


 O analyze eu fiz antes de ser dado o explain.

 Grato pela ajuda

 Em 25 de março de 2010 13:03, Fabrízio de Royes Mello 
 fabriziome...@gmail.com escreveu:



 Em 25 de março de 2010 11:30, Tiago Valério 
 tiagosvale...@gmail.comescreveu:


 corte

   -  Seq Scan on cnpj_rf b  (cost=0.00..96.78 rows=19055578
 width=27)

 corte


 O seu maior custo está aqui, na juncao entre a tabela A e B pelos campos
 CNPJ... vc tem indice na tabela novo_cnpj_cnae.cnpj_rf pelo campo CNPJ
 Vc tem executado ANALYZE frequentemente???


 --
 Fabrízio de Royes Mello
  Blog sobre TI: http://fabriziomello.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 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
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] instalação do postgresql 8.4

2010-03-25 Por tôpico Leonardo Ribeiro
Pessoal,

Tenho no meu pc o 8.4 e fui instalar na máquina de um cliente com XP a mesma
versão que tenho na minha máquina.
Tenho a instalação next, next, finish.
Quando estava instalando me pediu a senha e sempre recebo a mensagem de que
a senha é incorreta (para a conta do
usuário postgres).
O problema é que essa máquina nunca teve postgresql instalado. Tem Oracle e
Firebird mas postgreSql não tem.

E essa mensagem da a entender que nessa máquina já há uma versão do postgre
ou conta para o usuário postgres

Alguém sabe como resolver isso?

PS: em todas as outras instalações que fiz, informava a senha (a minha
escolha) e seguia sem problemas.

-- 
[]'s
Leonardo

Linux User #488650
Ubuntu User #27045
Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece
___
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 letgaude

Desculpe o ROLE. Foi falta de atenção mesmo.

Mas, voltando ao assunto. Eu ja tinha visto esse artigo e foi exatamente o
exemplo q eu usei pra testar. E gerou dados na tabela measurement e na
measurement_y2006m02, por exemplo. 

Mas ao criar as tabelas sem heranca isso nao aconteceu. 



JotaComm wrote:
 
 Olá,
 
 Em 25 de março de 2010 12:07, letgaude letga...@gmail.com escreveu:
 

 Boa Tarde,

 Em todos os foruns sobre particionamento, é dito que a implementação
 desta
 é
 feita através de herança. Que precisa criar uma trigger ou role pra
 redirecionar os registros para as tabelas filhas e etc. No entanto, com a
 herança, os dados acabam ficando nas duas tabelas, gerando redundância. É
 assim mesmo ? Acho que vou particionar sem herança, pois assim não gero
 duplicação de informações.

 
 Sim, é por herança. Você precisa de uma trigger ou rule e não role.
 
 Não vejo como ficarem dados duplicados, a menos que a trigger ou a rule
 esteja implementa de forma incorreta.
 
 Veja mais informações em:
 http://www.postgresql.org/docs/8.4/interactive/ddl-partitioning.html
 
 

 Grata,

 Letícia
 --
 View this message in context:
 http://old.nabble.com/Particionamento-x-Heran%C3%A7a-tp28030200p28030200.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

 
 
 
 Atenciosamente
 
 -- 
 JotaComm
 http://jotacomm.wordpress.com
 
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
 
 

-- 
View this message in context: 
http://old.nabble.com/Particionamento-x-Heran%C3%A7a-tp28030200p28031730.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


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

2010-03-25 Por tôpico JotaComm
Olá,

Em 25 de março de 2010 13:50, letgaude letga...@gmail.com escreveu:


 Desculpe o ROLE. Foi falta de atenção mesmo.

 Mas, voltando ao assunto. Eu ja tinha visto esse artigo e foi exatamente o
 exemplo q eu usei pra testar. E gerou dados na tabela measurement e na
 measurement_y2006m02, por exemplo.




 Mas ao criar as tabelas sem heranca isso nao aconteceu.


Acho que tem alguma coisa errada na sua implementação. Como está o RETURN da
sua função? Está com RETURN NULL ou RETURN NEW?




 JotaComm wrote:
 
  Olá,
 
  Em 25 de março de 2010 12:07, letgaude letga...@gmail.com escreveu:
 
 
  Boa Tarde,
 
  Em todos os foruns sobre particionamento, é dito que a implementação
  desta
  é
  feita através de herança. Que precisa criar uma trigger ou role pra
  redirecionar os registros para as tabelas filhas e etc. No entanto, com
 a
  herança, os dados acabam ficando nas duas tabelas, gerando redundância.
 É
  assim mesmo ? Acho que vou particionar sem herança, pois assim não gero
  duplicação de informações.
 
 
  Sim, é por herança. Você precisa de uma trigger ou rule e não role.
 
  Não vejo como ficarem dados duplicados, a menos que a trigger ou a rule
  esteja implementa de forma incorreta.
 
  Veja mais informações em:
  http://www.postgresql.org/docs/8.4/interactive/ddl-partitioning.html
 
 
 
  Grata,
 
  Letícia
  --
  View this message in context:
 
 http://old.nabble.com/Particionamento-x-Heran%C3%A7a-tp28030200p28030200.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
 
 
 
 
  Atenciosamente
 
  --
  JotaComm
  http://jotacomm.wordpress.com
 
  ___
  pgbr-geral mailing list
  pgbr-geral@listas.postgresql.org.br
  https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
 
 

 --
 View this message in context:
 http://old.nabble.com/Particionamento-x-Heran%C3%A7a-tp28030200p28031730.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




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


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

2010-03-25 Por tôpico letgaude

Esta exatamente como no exemplo do link q você passou:

--- TRIGGER  
CREATE TRIGGER insert_measurement_trigger
BEFORE INSERT ON measurement
FOR EACH ROW EXECUTE PROCEDURE measurement_insert_trigger();

--- FUNCTION  
CREATE OR REPLACE FUNCTION measurement_insert_trigger()
RETURNS TRIGGER AS $$
BEGIN
IF ( NEW.logdate = DATE '2006-02-01' AND
 NEW.logdate  DATE '2006-03-01' ) THEN
INSERT INTO measurement_y2006m02 VALUES (NEW.*);
ELSE
RAISE EXCEPTION 'Date out of range.  Fix the
measurement_insert_trigger() function!';
END IF;
RETURN NULL;
END;






JotaComm wrote:
 
 Olá,
 
 Em 25 de março de 2010 13:50, letgaude letga...@gmail.com escreveu:
 

 Desculpe o ROLE. Foi falta de atenção mesmo.

 Mas, voltando ao assunto. Eu ja tinha visto esse artigo e foi exatamente
 o
 exemplo q eu usei pra testar. E gerou dados na tabela measurement e na
 measurement_y2006m02, por exemplo.

 
 

 Mas ao criar as tabelas sem heranca isso nao aconteceu.

 
 Acho que tem alguma coisa errada na sua implementação. Como está o RETURN
 da
 sua função? Está com RETURN NULL ou RETURN NEW?
 



 JotaComm wrote:
 
  Olá,
 
  Em 25 de março de 2010 12:07, letgaude letga...@gmail.com escreveu:
 
 
  Boa Tarde,
 
  Em todos os foruns sobre particionamento, é dito que a implementação
  desta
  é
  feita através de herança. Que precisa criar uma trigger ou role pra
  redirecionar os registros para as tabelas filhas e etc. No entanto,
 com
 a
  herança, os dados acabam ficando nas duas tabelas, gerando
 redundância.
 É
  assim mesmo ? Acho que vou particionar sem herança, pois assim não
 gero
  duplicação de informações.
 
 
  Sim, é por herança. Você precisa de uma trigger ou rule e não role.
 
  Não vejo como ficarem dados duplicados, a menos que a trigger ou a rule
  esteja implementa de forma incorreta.
 
  Veja mais informações em:
  http://www.postgresql.org/docs/8.4/interactive/ddl-partitioning.html
 
 
 
  Grata,
 
  Letícia
  --
  View this message in context:
 
 http://old.nabble.com/Particionamento-x-Heran%C3%A7a-tp28030200p28030200.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
 
 
 
 
  Atenciosamente
 
  --
  JotaComm
  http://jotacomm.wordpress.com
 
  ___
  pgbr-geral mailing list
  pgbr-geral@listas.postgresql.org.br
  https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
 
 

 --
 View this message in context:
 http://old.nabble.com/Particionamento-x-Heran%C3%A7a-tp28030200p28031730.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

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

-- 
View this message in context: 
http://old.nabble.com/Particionamento-x-Heran%C3%A7a-tp28030200p28031875.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


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

2010-03-25 Por tôpico JotaComm
Olá,

Em 25 de março de 2010 13:59, letgaude letga...@gmail.com escreveu:


 Esta exatamente como no exemplo do link q você passou:

 --- TRIGGER 
 CREATE TRIGGER insert_measurement_trigger
BEFORE INSERT ON measurement
FOR EACH ROW EXECUTE PROCEDURE measurement_insert_trigger();

 --- FUNCTION 
 CREATE OR REPLACE FUNCTION measurement_insert_trigger()
 RETURNS TRIGGER AS $$
 BEGIN
IF ( NEW.logdate = DATE '2006-02-01' AND
 NEW.logdate  DATE '2006-03-01' ) THEN
INSERT INTO measurement_y2006m02 VALUES (NEW.*);
ELSE
RAISE EXCEPTION 'Date out of range.  Fix the
 measurement_insert_trigger() function!';
END IF;
RETURN NULL;
 END;


 Pode me mostrar um exemplo de que os dados estão duplicados?


Como você fez o SELECT na tabela pai e na tabela filha. Você usou a
clausula ONLY na tabela pai quando fez o SELECT?




 JotaComm wrote:
 
  Olá,
 
  Em 25 de março de 2010 13:50, letgaude letga...@gmail.com escreveu:
 
 
  Desculpe o ROLE. Foi falta de atenção mesmo.
 
  Mas, voltando ao assunto. Eu ja tinha visto esse artigo e foi exatamente
  o
  exemplo q eu usei pra testar. E gerou dados na tabela measurement e na
  measurement_y2006m02, por exemplo.
 
 
 
 
  Mas ao criar as tabelas sem heranca isso nao aconteceu.
 
 
  Acho que tem alguma coisa errada na sua implementação. Como está o RETURN
  da
  sua função? Está com RETURN NULL ou RETURN NEW?
 
 
 
 
  JotaComm wrote:
  
   Olá,
  
   Em 25 de março de 2010 12:07, letgaude letga...@gmail.com escreveu:
  
  
   Boa Tarde,
  
   Em todos os foruns sobre particionamento, é dito que a implementação
   desta
   é
   feita através de herança. Que precisa criar uma trigger ou role pra
   redirecionar os registros para as tabelas filhas e etc. No entanto,
  com
  a
   herança, os dados acabam ficando nas duas tabelas, gerando
  redundância.
  É
   assim mesmo ? Acho que vou particionar sem herança, pois assim não
  gero
   duplicação de informações.
  
  
   Sim, é por herança. Você precisa de uma trigger ou rule e não role.
  
   Não vejo como ficarem dados duplicados, a menos que a trigger ou a
 rule
   esteja implementa de forma incorreta.
  
   Veja mais informações em:
   http://www.postgresql.org/docs/8.4/interactive/ddl-partitioning.html
  
  
  
   Grata,
  
   Letícia
   --
   View this message in context:
  
 
 http://old.nabble.com/Particionamento-x-Heran%C3%A7a-tp28030200p28030200.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
  
  
  
  
   Atenciosamente
  
   --
   JotaComm
   http://jotacomm.wordpress.com
  
   ___
   pgbr-geral mailing list
   pgbr-geral@listas.postgresql.org.br
   https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
  
  
 
  --
  View this message in context:
 
 http://old.nabble.com/Particionamento-x-Heran%C3%A7a-tp28030200p28031730.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
 
 
 
 
  --
  JotaComm
  http://jotacomm.wordpress.com
 
  ___
  pgbr-geral mailing list
  pgbr-geral@listas.postgresql.org.br
  https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
 
 

 --
 View this message in context:
 http://old.nabble.com/Particionamento-x-Heran%C3%A7a-tp28030200p28031875.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




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


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

2010-03-25 Por tôpico JotaComm
Olá,

Em 25 de março de 2010 14:09, letgaude letga...@gmail.com escreveu:


 Bom, eu fiz insert na tabela pai, ex:

 insert into measurement
 values
 (1, '2006-02-04', 1, 1);

 Depois simplesmente dei select nas duas tabelas e vi q o mesmo dado estava
 na tabela measurement e
 e na measurement_y2006m02.


Na verdade não. Quando você faz um SELECT na tabela pai ele também busca os
dados na tabela filha. Se você quer ver somente os dados do pai você deve
fazer:

SELECT * FROM ONLY pai;


 Mas essa seria a função da trigger/rule: antes de inserir o registro na
 tabela pai verificar a data e inserir so na filha.

 Quem deleta o dado da tabela pai ? Tem alguma configuração ? Outra trigger
 ?


 Obrigada.






 JotaComm wrote:
 
  Olá,
 
  Em 25 de março de 2010 13:59, letgaude letga...@gmail.com escreveu:
 
 
  Esta exatamente como no exemplo do link q você passou:
 
  --- TRIGGER 
  CREATE TRIGGER insert_measurement_trigger
 BEFORE INSERT ON measurement
 FOR EACH ROW EXECUTE PROCEDURE measurement_insert_trigger();
 
  --- FUNCTION 
  CREATE OR REPLACE FUNCTION measurement_insert_trigger()
  RETURNS TRIGGER AS $$
  BEGIN
 IF ( NEW.logdate = DATE '2006-02-01' AND
  NEW.logdate  DATE '2006-03-01' ) THEN
 INSERT INTO measurement_y2006m02 VALUES (NEW.*);
 ELSE
 RAISE EXCEPTION 'Date out of range.  Fix the
  measurement_insert_trigger() function!';
 END IF;
 RETURN NULL;
  END;
 
 
  Pode me mostrar um exemplo de que os dados estão duplicados?
 
 
  Como você fez o SELECT na tabela pai e na tabela filha. Você usou a
  clausula ONLY na tabela pai quando fez o SELECT?
 
 
 
 
  JotaComm wrote:
  
   Olá,
  
   Em 25 de março de 2010 13:50, letgaude letga...@gmail.com escreveu:
  
  
   Desculpe o ROLE. Foi falta de atenção mesmo.
  
   Mas, voltando ao assunto. Eu ja tinha visto esse artigo e foi
  exatamente
   o
   exemplo q eu usei pra testar. E gerou dados na tabela measurement e
 na
   measurement_y2006m02, por exemplo.
  
  
  
  
   Mas ao criar as tabelas sem heranca isso nao aconteceu.
  
  
   Acho que tem alguma coisa errada na sua implementação. Como está o
  RETURN
   da
   sua função? Está com RETURN NULL ou RETURN NEW?
  
  
  
  
   JotaComm wrote:
   
Olá,
   
Em 25 de março de 2010 12:07, letgaude letga...@gmail.com
  escreveu:
   
   
Boa Tarde,
   
Em todos os foruns sobre particionamento, é dito que a
  implementação
desta
é
feita através de herança. Que precisa criar uma trigger ou role
 pra
redirecionar os registros para as tabelas filhas e etc. No
 entanto,
   com
   a
herança, os dados acabam ficando nas duas tabelas, gerando
   redundância.
   É
assim mesmo ? Acho que vou particionar sem herança, pois assim não
   gero
duplicação de informações.
   
   
Sim, é por herança. Você precisa de uma trigger ou rule e não role.
   
Não vejo como ficarem dados duplicados, a menos que a trigger ou a
  rule
esteja implementa de forma incorreta.
   
Veja mais informações em:
   
 http://www.postgresql.org/docs/8.4/interactive/ddl-partitioning.html
   
   
   
Grata,
   
Letícia
--
View this message in context:
   
  
 
 http://old.nabble.com/Particionamento-x-Heran%C3%A7a-tp28030200p28030200.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
   
   
   
   
Atenciosamente
   
--
JotaComm
http://jotacomm.wordpress.com
   
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
   
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
   
   
  
   --
   View this message in context:
  
 
 http://old.nabble.com/Particionamento-x-Heran%C3%A7a-tp28030200p28031730.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
  
  
  
  
   --
   JotaComm
   http://jotacomm.wordpress.com
  
   ___
   pgbr-geral mailing list
   pgbr-geral@listas.postgresql.org.br
   https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
  
  
 
  --
  View this message in context:
 
 http://old.nabble.com/Particionamento-x-Heran%C3%A7a-tp28030200p28031875.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
 
 
 
 
  --
  JotaComm
  http://jotacomm.wordpress.com
 
  

Re: [pgbr-geral] Hash join Dvuida

2010-03-25 Por tôpico Tiago Valério
Entao na verdade nao tenho um conhecimento aprofundado em qual momento usar,
fiz uma leitura do artigo do Walter Cruz
http://artigos.waltercruz.com/postgresql/otimizador/   coloquei o
parametro somente para  a sessao para fins de  testes.
Em 25 de março de 2010 13:43, JotaComm jota.c...@gmail.com escreveu:

 Olá,

 Em 25 de março de 2010 13:19, Tiago Valério tiagosvale...@gmail.comescreveu:

  Tenho uma pk para este campo, no mais fiz um set random_page_cost '2',
 para ver se o otimizador faria a escolha do indice da pk.


 Você conhece como funciona o random_page_cost para te-lo modificado?


 O analyze eu fiz antes de ser dado o explain.

 Grato pela ajuda

 Em 25 de março de 2010 13:03, Fabrízio de Royes Mello 
 fabriziome...@gmail.com escreveu:



 Em 25 de março de 2010 11:30, Tiago Valério 
 tiagosvale...@gmail.comescreveu:


 corte

   -  Seq Scan on cnpj_rf b  (cost=0.00..96.78 rows=19055578
 width=27)

 corte


 O seu maior custo está aqui, na juncao entre a tabela A e B pelos campos
 CNPJ... vc tem indice na tabela novo_cnpj_cnae.cnpj_rf pelo campo CNPJ
 Vc tem executado ANALYZE frequentemente???


 --
 Fabrízio de Royes Mello
  Blog sobre TI: http://fabriziomello.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 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

 ___
 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] Particionamento x Herança

2010-03-25 Por tôpico letgaude

Que massa !! Não vi esse detalhe em nenhum dos artigos que eu li. 
Mais uma pergunta: é indicado criar um tablespace para cada partição ? E os
indices ? Devem ser particionados também ?

Obrigada !

Letícia



JotaComm wrote:
 
 Olá,
 
 Em 25 de março de 2010 14:09, letgaude letga...@gmail.com escreveu:
 

 Bom, eu fiz insert na tabela pai, ex:

 insert into measurement
 values
 (1, '2006-02-04', 1, 1);

 Depois simplesmente dei select nas duas tabelas e vi q o mesmo dado
 estava
 na tabela measurement e
 e na measurement_y2006m02.

 
 Na verdade não. Quando você faz um SELECT na tabela pai ele também busca
 os
 dados na tabela filha. Se você quer ver somente os dados do pai você deve
 fazer:
 
 SELECT * FROM ONLY pai;
 

 Mas essa seria a função da trigger/rule: antes de inserir o registro na
 tabela pai verificar a data e inserir so na filha.

 Quem deleta o dado da tabela pai ? Tem alguma configuração ? Outra
 trigger
 ?


 Obrigada.






 JotaComm wrote:
 
  Olá,
 
  Em 25 de março de 2010 13:59, letgaude letga...@gmail.com escreveu:
 
 
  Esta exatamente como no exemplo do link q você passou:
 
  --- TRIGGER 
  CREATE TRIGGER insert_measurement_trigger
 BEFORE INSERT ON measurement
 FOR EACH ROW EXECUTE PROCEDURE measurement_insert_trigger();
 
  --- FUNCTION 
  CREATE OR REPLACE FUNCTION measurement_insert_trigger()
  RETURNS TRIGGER AS $$
  BEGIN
 IF ( NEW.logdate = DATE '2006-02-01' AND
  NEW.logdate  DATE '2006-03-01' ) THEN
 INSERT INTO measurement_y2006m02 VALUES (NEW.*);
 ELSE
 RAISE EXCEPTION 'Date out of range.  Fix the
  measurement_insert_trigger() function!';
 END IF;
 RETURN NULL;
  END;
 
 
  Pode me mostrar um exemplo de que os dados estão duplicados?
 
 
  Como você fez o SELECT na tabela pai e na tabela filha. Você usou a
  clausula ONLY na tabela pai quando fez o SELECT?
 
 
 
 
  JotaComm wrote:
  
   Olá,
  
   Em 25 de março de 2010 13:50, letgaude letga...@gmail.com
 escreveu:
  
  
   Desculpe o ROLE. Foi falta de atenção mesmo.
  
   Mas, voltando ao assunto. Eu ja tinha visto esse artigo e foi
  exatamente
   o
   exemplo q eu usei pra testar. E gerou dados na tabela measurement e
 na
   measurement_y2006m02, por exemplo.
  
  
  
  
   Mas ao criar as tabelas sem heranca isso nao aconteceu.
  
  
   Acho que tem alguma coisa errada na sua implementação. Como está o
  RETURN
   da
   sua função? Está com RETURN NULL ou RETURN NEW?
  
  
  
  
   JotaComm wrote:
   
Olá,
   
Em 25 de março de 2010 12:07, letgaude letga...@gmail.com
  escreveu:
   
   
Boa Tarde,
   
Em todos os foruns sobre particionamento, é dito que a
  implementação
desta
é
feita através de herança. Que precisa criar uma trigger ou role
 pra
redirecionar os registros para as tabelas filhas e etc. No
 entanto,
   com
   a
herança, os dados acabam ficando nas duas tabelas, gerando
   redundância.
   É
assim mesmo ? Acho que vou particionar sem herança, pois assim
 não
   gero
duplicação de informações.
   
   
Sim, é por herança. Você precisa de uma trigger ou rule e não
 role.
   
Não vejo como ficarem dados duplicados, a menos que a trigger ou
 a
  rule
esteja implementa de forma incorreta.
   
Veja mais informações em:
   
 http://www.postgresql.org/docs/8.4/interactive/ddl-partitioning.html
   
   
   
Grata,
   
Letícia
--
View this message in context:
   
  
 
 http://old.nabble.com/Particionamento-x-Heran%C3%A7a-tp28030200p28030200.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
   
   
   
   
Atenciosamente
   
--
JotaComm
http://jotacomm.wordpress.com
   
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
   
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
   
   
  
   --
   View this message in context:
  
 
 http://old.nabble.com/Particionamento-x-Heran%C3%A7a-tp28030200p28031730.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
  
  
  
  
   --
   JotaComm
   http://jotacomm.wordpress.com
  
   ___
   pgbr-geral mailing list
   pgbr-geral@listas.postgresql.org.br
   https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
  
  
 
  --
  View this message in context:
 
 http://old.nabble.com/Particionamento-x-Heran%C3%A7a-tp28030200p28031875.html
  Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com.
 
  

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

2010-03-25 Por tôpico JotaComm
Em 25 de março de 2010 14:45, letgaude letga...@gmail.com escreveu:


 Que massa !! Não vi esse detalhe em nenhum dos artigos que eu li.
 Mais uma pergunta: é indicado criar um tablespace para cada partição ? E os
 indices ? Devem ser particionados também ?

 Com relação a criar uma tablespace depende como é a sua estrutura física.
Sem informações de como está a sua estrutura física não tem como dar maiores
informações.

Índices particionados? Como você particionaria um índice?


 Obrigada !

 Letícia



 JotaComm wrote:
 
  Olá,
 
  Em 25 de março de 2010 14:09, letgaude letga...@gmail.com escreveu:
 
 
  Bom, eu fiz insert na tabela pai, ex:
 
  insert into measurement
  values
  (1, '2006-02-04', 1, 1);
 
  Depois simplesmente dei select nas duas tabelas e vi q o mesmo dado
  estava
  na tabela measurement e
  e na measurement_y2006m02.
 
 
  Na verdade não. Quando você faz um SELECT na tabela pai ele também busca
  os
  dados na tabela filha. Se você quer ver somente os dados do pai você deve
  fazer:
 
  SELECT * FROM ONLY pai;
 
 
  Mas essa seria a função da trigger/rule: antes de inserir o registro na
  tabela pai verificar a data e inserir so na filha.
 
  Quem deleta o dado da tabela pai ? Tem alguma configuração ? Outra
  trigger
  ?
 
 
  Obrigada.
 
 
 
 
 
 
  JotaComm wrote:
  
   Olá,
  
   Em 25 de março de 2010 13:59, letgaude letga...@gmail.com escreveu:
  
  
   Esta exatamente como no exemplo do link q você passou:
  
   --- TRIGGER 
   CREATE TRIGGER insert_measurement_trigger
  BEFORE INSERT ON measurement
  FOR EACH ROW EXECUTE PROCEDURE measurement_insert_trigger();
  
   --- FUNCTION 
   CREATE OR REPLACE FUNCTION measurement_insert_trigger()
   RETURNS TRIGGER AS $$
   BEGIN
  IF ( NEW.logdate = DATE '2006-02-01' AND
   NEW.logdate  DATE '2006-03-01' ) THEN
  INSERT INTO measurement_y2006m02 VALUES (NEW.*);
  ELSE
  RAISE EXCEPTION 'Date out of range.  Fix the
   measurement_insert_trigger() function!';
  END IF;
  RETURN NULL;
   END;
  
  
   Pode me mostrar um exemplo de que os dados estão duplicados?
  
  
   Como você fez o SELECT na tabela pai e na tabela filha. Você usou
 a
   clausula ONLY na tabela pai quando fez o SELECT?
  
  
  
  
   JotaComm wrote:
   
Olá,
   
Em 25 de março de 2010 13:50, letgaude letga...@gmail.com
  escreveu:
   
   
Desculpe o ROLE. Foi falta de atenção mesmo.
   
Mas, voltando ao assunto. Eu ja tinha visto esse artigo e foi
   exatamente
o
exemplo q eu usei pra testar. E gerou dados na tabela measurement
 e
  na
measurement_y2006m02, por exemplo.
   
   
   
   
Mas ao criar as tabelas sem heranca isso nao aconteceu.
   
   
Acho que tem alguma coisa errada na sua implementação. Como está o
   RETURN
da
sua função? Está com RETURN NULL ou RETURN NEW?
   
   
   
   
JotaComm wrote:

 Olá,

 Em 25 de março de 2010 12:07, letgaude letga...@gmail.com
   escreveu:


 Boa Tarde,

 Em todos os foruns sobre particionamento, é dito que a
   implementação
 desta
 é
 feita através de herança. Que precisa criar uma trigger ou role
  pra
 redirecionar os registros para as tabelas filhas e etc. No
  entanto,
com
a
 herança, os dados acabam ficando nas duas tabelas, gerando
redundância.
É
 assim mesmo ? Acho que vou particionar sem herança, pois assim
  não
gero
 duplicação de informações.


 Sim, é por herança. Você precisa de uma trigger ou rule e não
  role.

 Não vejo como ficarem dados duplicados, a menos que a trigger ou
  a
   rule
 esteja implementa de forma incorreta.

 Veja mais informações em:

  http://www.postgresql.org/docs/8.4/interactive/ddl-partitioning.html



 Grata,

 Letícia
 --
 View this message in context:

   
  
 
 http://old.nabble.com/Particionamento-x-Heran%C3%A7a-tp28030200p28030200.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




 Atenciosamente

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

 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br

  https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


   
--
View this message in context:
   
  
 
 http://old.nabble.com/Particionamento-x-Heran%C3%A7a-tp28030200p28031730.html
Sent from the PostgreSQL - Brasil mailing list archive at
  Nabble.com.
   
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
   
  

[pgbr-geral] Res: Res: Guarda saida do Psql com erro.

2010-03-25 Por tôpico paulo matadr
Funciono
Vlw.

Ats





De: Osvaldo Kussama osvaldo.kuss...@gmail.com
Para: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br
Enviadas: Quinta-feira, 25 de Março de 2010 12:10:00
Assunto: Re: [pgbr-geral] Res: Guarda saida do Psql com erro.

Em 25 de março de 2010 11:10, paulo matadr saddon...@yahoo.com.br escreveu:
 Bom dia  Osvaldo
 Ai ele inverte:
 -bash-3.1$ psql -d teste -f teste.sql 2 resultado.log
 INSERT 0 1
 INSERT 0 1
 INSERT 0 1
 INSERT 0 1

 -bash-3.1$ cat resultado.log
 psql:teste.sql:2: ERROR:  syntax error at or near ^
 LINE 1: ^
     ^
 psql:teste.sql:6: ERROR:  column a does not exist
 LINE 1: insert into teste_psql VALUES (1,a);


 Tava precisando guarda tanto a falha quanto o sucesso.



Então siga a recomendação do Jota.

psql -d teste -f teste.sql resultado.log 21

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



  

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com___
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 letgaude

Atualmente temos cerca de 50 tabelas, sendo que 3 delas possuem cerca de 734
milhoes de registros cada uma, outras com pouco mais de 600 mil e algumas
outras tabelas de configuracao pequenas. Criamos um tablespace para dados e
outro para indice. Essas tabelas gigantes é que serão particionadas. Por
isso perguntei se com a tabela particionada também é indicado criar um
tablespace para cada partição, pois assim teriamos um gerenciamento melhor
sobre o espaço ocupado.  Com relaçao ao particonamento de indices, perguntei
por causa do SQL Server. Não sei se existe esse conceito no Postgres.

Att.,

Letícia




JotaComm wrote:
 
 Em 25 de março de 2010 14:45, letgaude letga...@gmail.com escreveu:
 

 Que massa !! Não vi esse detalhe em nenhum dos artigos que eu li.
 Mais uma pergunta: é indicado criar um tablespace para cada partição ? E
 os
 indices ? Devem ser particionados também ?

 Com relação a criar uma tablespace depende como é a sua estrutura física.
 Sem informações de como está a sua estrutura física não tem como dar
 maiores
 informações.
 
 Índices particionados? Como você particionaria um índice?
 
 
 Obrigada !

 Letícia



 JotaComm wrote:
 
  Olá,
 
  Em 25 de março de 2010 14:09, letgaude letga...@gmail.com escreveu:
 
 
  Bom, eu fiz insert na tabela pai, ex:
 
  insert into measurement
  values
  (1, '2006-02-04', 1, 1);
 
  Depois simplesmente dei select nas duas tabelas e vi q o mesmo dado
  estava
  na tabela measurement e
  e na measurement_y2006m02.
 
 
  Na verdade não. Quando você faz um SELECT na tabela pai ele também
 busca
  os
  dados na tabela filha. Se você quer ver somente os dados do pai você
 deve
  fazer:
 
  SELECT * FROM ONLY pai;
 
 
  Mas essa seria a função da trigger/rule: antes de inserir o registro
 na
  tabela pai verificar a data e inserir so na filha.
 
  Quem deleta o dado da tabela pai ? Tem alguma configuração ? Outra
  trigger
  ?
 
 
  Obrigada.
 
 
 
 
 
 
  JotaComm wrote:
  
   Olá,
  
   Em 25 de março de 2010 13:59, letgaude letga...@gmail.com
 escreveu:
  
  
   Esta exatamente como no exemplo do link q você passou:
  
   --- TRIGGER 
   CREATE TRIGGER insert_measurement_trigger
  BEFORE INSERT ON measurement
  FOR EACH ROW EXECUTE PROCEDURE measurement_insert_trigger();
  
   --- FUNCTION 
   CREATE OR REPLACE FUNCTION measurement_insert_trigger()
   RETURNS TRIGGER AS $$
   BEGIN
  IF ( NEW.logdate = DATE '2006-02-01' AND
   NEW.logdate  DATE '2006-03-01' ) THEN
  INSERT INTO measurement_y2006m02 VALUES (NEW.*);
  ELSE
  RAISE EXCEPTION 'Date out of range.  Fix the
   measurement_insert_trigger() function!';
  END IF;
  RETURN NULL;
   END;
  
  
   Pode me mostrar um exemplo de que os dados estão duplicados?
  
  
   Como você fez o SELECT na tabela pai e na tabela filha. Você
 usou
 a
   clausula ONLY na tabela pai quando fez o SELECT?
  
  
  
  
   JotaComm wrote:
   
Olá,
   
Em 25 de março de 2010 13:50, letgaude letga...@gmail.com
  escreveu:
   
   
Desculpe o ROLE. Foi falta de atenção mesmo.
   
Mas, voltando ao assunto. Eu ja tinha visto esse artigo e foi
   exatamente
o
exemplo q eu usei pra testar. E gerou dados na tabela
 measurement
 e
  na
measurement_y2006m02, por exemplo.
   
   
   
   
Mas ao criar as tabelas sem heranca isso nao aconteceu.
   
   
Acho que tem alguma coisa errada na sua implementação. Como está
 o
   RETURN
da
sua função? Está com RETURN NULL ou RETURN NEW?
   
   
   
   
JotaComm wrote:

 Olá,

 Em 25 de março de 2010 12:07, letgaude letga...@gmail.com
   escreveu:


 Boa Tarde,

 Em todos os foruns sobre particionamento, é dito que a
   implementação
 desta
 é
 feita através de herança. Que precisa criar uma trigger ou
 role
  pra
 redirecionar os registros para as tabelas filhas e etc. No
  entanto,
com
a
 herança, os dados acabam ficando nas duas tabelas, gerando
redundância.
É
 assim mesmo ? Acho que vou particionar sem herança, pois
 assim
  não
gero
 duplicação de informações.


 Sim, é por herança. Você precisa de uma trigger ou rule e não
  role.

 Não vejo como ficarem dados duplicados, a menos que a trigger
 ou
  a
   rule
 esteja implementa de forma incorreta.

 Veja mais informações em:

  http://www.postgresql.org/docs/8.4/interactive/ddl-partitioning.html



 Grata,

 Letícia
 --
 View this message in context:

   
  
 
 http://old.nabble.com/Particionamento-x-Heran%C3%A7a-tp28030200p28030200.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




 Atenciosamente

 --
 JotaComm
 

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

2010-03-25 Por tôpico JotaComm
Olá,
Em 25 de março de 2010 15:32, letgaude letga...@gmail.com escreveu:


 Atualmente temos cerca de 50 tabelas, sendo que 3 delas possuem cerca de
 734
 milhoes de registros cada uma, outras com pouco mais de 600 mil e algumas
 outras tabelas de configuracao pequenas. Criamos um tablespace para dados e
 outro para indice. Essas tabelas gigantes é que serão particionadas. Por
 isso perguntei se com a tabela particionada também é indicado criar um
 tablespace para cada partição, pois assim teriamos um gerenciamento melhor
 sobre o espaço ocupado.  Com relaçao ao particonamento de indices,
 perguntei
 por causa do SQL Server. Não sei se existe esse conceito no Postgres.


Tabelas grandes hein.. Merecem uma boa atenção.

Um tablespace para dados e outro para índices me parece interessante. Agora
tenho uma pergunta. Você tem mais de um disco? Storage? RAID?

Para performance é necessário as informações acima, agora para distribuição
lógica acho interessante sim o uso das tablespaces.

No PostgreSQL não existe como particionar um índice. No SQL Server eu
desconheço mas vou pesquisar sobre o assunto.


 Att.,

 Letícia




 JotaComm wrote:
 
  Em 25 de março de 2010 14:45, letgaude letga...@gmail.com escreveu:
 
 
  Que massa !! Não vi esse detalhe em nenhum dos artigos que eu li.
  Mais uma pergunta: é indicado criar um tablespace para cada partição ? E
  os
  indices ? Devem ser particionados também ?
 
  Com relação a criar uma tablespace depende como é a sua estrutura
 física.
  Sem informações de como está a sua estrutura física não tem como dar
  maiores
  informações.
 
  Índices particionados? Como você particionaria um índice?
 
 
  Obrigada !
 
  Letícia
 
 
 
  JotaComm wrote:
  
   Olá,
  
   Em 25 de março de 2010 14:09, letgaude letga...@gmail.com escreveu:
  
  
   Bom, eu fiz insert na tabela pai, ex:
  
   insert into measurement
   values
   (1, '2006-02-04', 1, 1);
  
   Depois simplesmente dei select nas duas tabelas e vi q o mesmo dado
   estava
   na tabela measurement e
   e na measurement_y2006m02.
  
  
   Na verdade não. Quando você faz um SELECT na tabela pai ele também
  busca
   os
   dados na tabela filha. Se você quer ver somente os dados do pai você
  deve
   fazer:
  
   SELECT * FROM ONLY pai;
  
  
   Mas essa seria a função da trigger/rule: antes de inserir o registro
  na
   tabela pai verificar a data e inserir so na filha.
  
   Quem deleta o dado da tabela pai ? Tem alguma configuração ? Outra
   trigger
   ?
  
  
   Obrigada.
  
  
  
  
  
  
   JotaComm wrote:
   
Olá,
   
Em 25 de março de 2010 13:59, letgaude letga...@gmail.com
  escreveu:
   
   
Esta exatamente como no exemplo do link q você passou:
   
--- TRIGGER 
CREATE TRIGGER insert_measurement_trigger
   BEFORE INSERT ON measurement
   FOR EACH ROW EXECUTE PROCEDURE measurement_insert_trigger();
   
--- FUNCTION 
CREATE OR REPLACE FUNCTION measurement_insert_trigger()
RETURNS TRIGGER AS $$
BEGIN
   IF ( NEW.logdate = DATE '2006-02-01' AND
NEW.logdate  DATE '2006-03-01' ) THEN
   INSERT INTO measurement_y2006m02 VALUES (NEW.*);
   ELSE
   RAISE EXCEPTION 'Date out of range.  Fix the
measurement_insert_trigger() function!';
   END IF;
   RETURN NULL;
END;
   
   
Pode me mostrar um exemplo de que os dados estão duplicados?
   
   
Como você fez o SELECT na tabela pai e na tabela filha. Você
  usou
  a
clausula ONLY na tabela pai quando fez o SELECT?
   
   
   
   
JotaComm wrote:

 Olá,

 Em 25 de março de 2010 13:50, letgaude letga...@gmail.com
   escreveu:


 Desculpe o ROLE. Foi falta de atenção mesmo.

 Mas, voltando ao assunto. Eu ja tinha visto esse artigo e foi
exatamente
 o
 exemplo q eu usei pra testar. E gerou dados na tabela
  measurement
  e
   na
 measurement_y2006m02, por exemplo.




 Mas ao criar as tabelas sem heranca isso nao aconteceu.


 Acho que tem alguma coisa errada na sua implementação. Como está
  o
RETURN
 da
 sua função? Está com RETURN NULL ou RETURN NEW?




 JotaComm wrote:
 
  Olá,
 
  Em 25 de março de 2010 12:07, letgaude letga...@gmail.com
escreveu:
 
 
  Boa Tarde,
 
  Em todos os foruns sobre particionamento, é dito que a
implementação
  desta
  é
  feita através de herança. Que precisa criar uma trigger ou
  role
   pra
  redirecionar os registros para as tabelas filhas e etc. No
   entanto,
 com
 a
  herança, os dados acabam ficando nas duas tabelas, gerando
 redundância.
 É
  assim mesmo ? Acho que vou particionar sem herança, pois
  assim
   não
 gero
  duplicação de informações.
 
 
  Sim, é por herança. Você precisa de uma trigger ou rule e não
   role.
 
  Não vejo como ficarem dados duplicados, a menos que a trigger
  ou
  

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

2010-03-25 Por tôpico Osvaldo Kussama
Em 25 de março de 2010 13:43, Marcelo Cardoso de Souza
marceloc...@gmail.com escreveu:
 Mas ai que vem a questão como saber quais campos mostrar, pois quero somente
 os que foram alterados.



Talvez seja mais fácil verificar na própria aplicação mas se você
deseja fazer na própria consulta use CASE.

Por ex.:

SELECT
   CASE WHEN nova.id_imovel = velha.id_imovel THEN NULL ELSE 'De ' ||
velha.id_imovel || ' para ' || nova.id_imovel END AS id_imovel,
   CASE WHEN nova.id_endereco = velha.id_endereco THEN NULL ELSE 'De '
|| velha.id_endereco || ' para ' || nova.id_endereco END AS
id_endereco,
   CASE WHEN nova.nm_imovel = velha.nm_imovel THEN NULL ELSE 'De ' ||
velha.nm_imovel || ' para ' || nova.nm_imovel END AS nm_imovel,
   ...
   CASE WHEN nova.de_complementar = velha.de_complementar THEN NULL
ELSE 'De ' || velha.de_complementar || ' para ' ||
nova.de_complementar END AS de_complementar,
   nova.dt_alteracao
FROM sua_tabela nova JOIN sua_tabela velha ON nova.id_imovel_anterior
= velha.id_imovel;

Osvaldo
PS. Os campos não alterados conterão NULL.
___
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 letgaude

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 ? 

Grata,

Letícia






letgaude wrote:
 
 Atualmente temos cerca de 50 tabelas, sendo que 3 delas possuem cerca de
 734 milhoes de registros cada uma, outras com pouco mais de 600 mil e
 algumas outras tabelas de configuracao pequenas. Criamos um tablespace
 para dados e outro para indice. Essas tabelas gigantes é que serão
 particionadas. Por isso perguntei se com a tabela particionada também é
 indicado criar um tablespace para cada partição, pois assim teriamos um
 gerenciamento melhor sobre o espaço ocupado.  Com relaçao ao
 particonamento de indices, perguntei por causa do SQL Server. Não sei se
 existe esse conceito no Postgres.
 
 Att.,
 
 Letícia
 
 
 
 
 JotaComm wrote:
 
 Em 25 de março de 2010 14:45, letgaude letga...@gmail.com escreveu:
 

 Que massa !! Não vi esse detalhe em nenhum dos artigos que eu li.
 Mais uma pergunta: é indicado criar um tablespace para cada partição ? E
 os
 indices ? Devem ser particionados também ?

 Com relação a criar uma tablespace depende como é a sua estrutura
 física.
 Sem informações de como está a sua estrutura física não tem como dar
 maiores
 informações.
 
 Índices particionados? Como você particionaria um índice?
 
 
 Obrigada !

 Letícia



 JotaComm wrote:
 
  Olá,
 
  Em 25 de março de 2010 14:09, letgaude letga...@gmail.com escreveu:
 
 
  Bom, eu fiz insert na tabela pai, ex:
 
  insert into measurement
  values
  (1, '2006-02-04', 1, 1);
 
  Depois simplesmente dei select nas duas tabelas e vi q o mesmo dado
  estava
  na tabela measurement e
  e na measurement_y2006m02.
 
 
  Na verdade não. Quando você faz um SELECT na tabela pai ele também
 busca
  os
  dados na tabela filha. Se você quer ver somente os dados do pai você
 deve
  fazer:
 
  SELECT * FROM ONLY pai;
 
 
  Mas essa seria a função da trigger/rule: antes de inserir o registro
 na
  tabela pai verificar a data e inserir so na filha.
 
  Quem deleta o dado da tabela pai ? Tem alguma configuração ? Outra
  trigger
  ?
 
 
  Obrigada.
 
 
 
 
 
 
  JotaComm wrote:
  
   Olá,
  
   Em 25 de março de 2010 13:59, letgaude letga...@gmail.com
 escreveu:
  
  
   Esta exatamente como no exemplo do link q você passou:
  
   --- TRIGGER 
   CREATE TRIGGER insert_measurement_trigger
  BEFORE INSERT ON measurement
  FOR EACH ROW EXECUTE PROCEDURE measurement_insert_trigger();
  
   --- FUNCTION 
   CREATE OR REPLACE FUNCTION measurement_insert_trigger()
   RETURNS TRIGGER AS $$
   BEGIN
  IF ( NEW.logdate = DATE '2006-02-01' AND
   NEW.logdate  DATE '2006-03-01' ) THEN
  INSERT INTO measurement_y2006m02 VALUES (NEW.*);
  ELSE
  RAISE EXCEPTION 'Date out of range.  Fix the
   measurement_insert_trigger() function!';
  END IF;
  RETURN NULL;
   END;
  
  
   Pode me mostrar um exemplo de que os dados estão duplicados?
  
  
   Como você fez o SELECT na tabela pai e na tabela filha. Você
 usou
 a
   clausula ONLY na tabela pai quando fez o SELECT?
  
  
  
  
   JotaComm wrote:
   
Olá,
   
Em 25 de março de 2010 13:50, letgaude letga...@gmail.com
  escreveu:
   
   
Desculpe o ROLE. Foi falta de atenção mesmo.
   
Mas, voltando ao assunto. Eu ja tinha visto esse artigo e foi
   exatamente
o
exemplo q eu usei pra testar. E gerou dados na tabela
 measurement
 e
  na
measurement_y2006m02, por exemplo.
   
   
   
   
Mas ao criar as tabelas sem heranca isso nao aconteceu.
   
   
Acho que tem alguma coisa errada na sua implementação. Como está
 o
   RETURN
da
sua função? Está com RETURN NULL ou RETURN NEW?
   
   
   
   
JotaComm wrote:

 Olá,

 Em 25 de março de 2010 12:07, letgaude letga...@gmail.com
   escreveu:


 Boa Tarde,

 Em todos os foruns sobre particionamento, é dito que a
   implementação
 desta
 é
 feita através de herança. Que precisa criar uma trigger ou
 role
  pra
 redirecionar os registros para as tabelas filhas e etc. No
  entanto,
com
a
 herança, os dados acabam ficando nas duas tabelas, gerando
redundância.
É
 assim mesmo ? Acho que vou particionar sem herança, pois
 assim
  não
gero
 duplicação de informações.


 Sim, é por herança. Você precisa de uma trigger ou rule e não
  role.

 Não vejo como ficarem dados duplicados, a menos que a trigger
 ou
  a
   rule
 esteja implementa de forma incorreta.

 Veja 

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 letga...@gmail.com 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] Postgres embarcado - Win XP

2010-03-25 Por tôpico Thiago Tiedtke dos Reis
Olá Osvaldo,

Obrigado pela indicação do WAL, examinarei a documentação e realizarei
testes.

Inicialmente, o sistema era Linux, porém o sensor e todos dispositivos de
aquisição só funcionam em Windows ou Mac, então fico preso a isto.

Mas mesmo assim valeu!

[]s

Thiago Tiedtke dos Reis

Em 25 de março de 2010 18:28, Osvaldo Kussama
osvaldo.kuss...@gmail.comescreveu:

 Em 25 de março de 2010 12:28, Thiago Tiedtke dos Reis
 tied...@gmail.com escreveu:
  Bom dia pessoal,
 
  Acompanho a lista a muito tempo, e em todas as vezes que precisei, obtive
  respostas somente consultando o histórico desta, encontrando sábias
 soluções
  propostas pelos diversos colaboradores de peso que aqui visitam, ou mesmo
  habitam ... :)
 
  Há algum tempo estou com umas dúvidas a respeito do uso do postgresql em
  sistemas embarcados que eu desenvolvo. Vou tentar contextualizar para o
  melhor entendimento.
 
  Postgresql 8.4 (não faz muita diferença a versão, desde que suporte pelo
  menos a extensão postgis)
  PostGIS
  Windows XP 32 bit
 
  Na verdade o sistema é simples, poucas tabelas, algumas com suporte a
 dados
  geográficos, etc.
 
  O computador onde o meu sistema e o PG são instalado, é embarcado em um
  veículo, onde existem alguns sensores, e algumas interfaces para
 controlar e
  fazer a aquisição com esses sensores. Até ai tudo bem, a parte de
 integração
  e controle está tudo bem também.
 
  Porém atualmente nossa interface é simples, e não utilizo qualquer tipo
 de
  SGBD. Decidi pela escolha do Postgres por todas as caracteristicas do
 mesmo,
  e principalmente pela extensão postgis para trabalhar junto com
 mapserver,
  openlayers, etc...
 
  A versão beta do sistema, usando o PG está funcional, porém no setor de
 dev,
  ou seja, computadores quietinhos, parados, sem interferecias
  eletromagnéticas, etc.
 
  Como o sistema é embarcado, ocorrem alguns problemas, que conhecemos,
 porém
  as vezes provocam instabilidade do hardware, como por exemplo:
 
  - Interferencias eletromagneticas no sistema sensor (que trava todas as
  interfaces, e por sua vez, travando o windows). Interferencias essas que
 vem
  do próprio veículo, oriundas do sistema de ignição, alimentação, rádios
  transmissores para comunicação, etc.
 
  Apesar de tomarmos muitas preucações usando filtros, aterramentos, cabos
  blindados, etc, travamentos acontecem (mas sem muita frequencia).
 
  Ok, agora vem a pergunta:
 
  Como evitar que a base do PG corrompa quando esse travamento ocorrer - o
 que
  ja ocorreu umas vezes, quando o windows travou, devido ao erro nas placas
 de
  aquisições ?
 
  Gostaria de saber entao algumas dicas/regras para que a base do PG
 suporte
  um travamento inexperado do SO, mantendo integra a base, após um reinicio
 do
  sistema.
 
  Durante o uso do sistema, é feita inclusão/alteração em algumas tabelas,
 e a
  taxa máxima de incluão é de 1 Hz, em uma tabela contendo um campo de
 dados
  geográficos (1Hz é taxa de coleta de um GPS que vai embarcado também).
 
  Espero que tenham compreendido, e que possam me dar algumas dicas.
 


 Creio que o ponto principal seja: Não é possível trocar o sistema
 operacional para outro mais confiável?

 Dê uma lida no capítulo sobre WAL:
 http://www.postgresql.org/docs/current/interactive/wal.html
 talvez você possa minimizar suas perdas com uma boa configuração.

 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


Re: [pgbr-geral] instalação do postgresql 8.4

2010-03-25 Por tôpico Tiago Adami
Em 25 de março de 2010 13:48, Leonardo Ribeiro leojribe...@gmail.com escreveu:
 Pessoal,
 Tenho no meu pc o 8.4 e fui instalar na máquina de um cliente com XP a mesma
 versão que tenho na minha máquina.
 Tenho a instalação next, next, finish.
 Quando estava instalando me pediu a senha e sempre recebo a mensagem de que
 a senha é incorreta (para a conta do
 usuário postgres).
 O problema é que essa máquina nunca teve postgresql instalado. Tem Oracle e
 Firebird mas postgreSql não tem.
 E essa mensagem da a entender que nessa máquina já há uma versão do postgre
 ou conta para o usuário postgres
 Alguém sabe como resolver isso?
 PS: em todas as outras instalações que fiz, informava a senha (a minha
 escolha) e seguia sem problemas.


Verifique nas contas de usuário se existe uma conta do usuário
postgres e remova. Se você está instalando em uma máquina dentro de um
domínio, peça para o administrador da rede alterar a senha do usuário
postgres no domínio e lhe informar.
Nota: a minha experiência não aconselha a instalar servidores de banco
de dados utilizando usuários de domínio. Prefira sempre uma instalação
off-line, geralmente desconecto o cabo de rede e entro com um usuário
administrador para instalar o PostgreSQL. Assim tudo é feito somente
na máquina.

-- 
TIAGO J. ADAMI
http://www.adamiworks.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral