Re: [pgbr-geral] Escalibilidade vertical

2012-03-06 Por tôpico Matheus de Oliveira
Cara, dê uma pesquisada pelo Bucardo, ele faz isso.

--
Matheus de Oliveira

Bacharelado em Ciências de Computação
Laboratório de Computação de Alto Desempenho -
LCADhttp://www.lcad.icmc.usp.br/
Instituto de Ciências Matemáticas e de Computação -
ICMChttp://www.icmc.usp.br/
Universidade de São Paulo - USP http://www.sc.usp.br/




On Mon, Mar 5, 2012 at 9:37 PM, Eduardo Rodrigues edua...@ookle.com.brwrote:

 Boa Noite,

 estou a procura de um aplicativo que disponibilize o recurso de multiplos
 servidores master em um cluster de servidores PostgresQL 9.x. O que
 pesquisei que tanto o Slony quanto réplica por Streaming fazem réplica de
 multiplos servidores Slave e o PgPool gerencia com o recurso de load
 balance esse tipo de réplica com multiplos servidores slave.

 Alguém conhece algum aplicativo que possa oferecer o recurso de multiplos
 serviores master em um cluster de PostgreSQL 9.x





 ___
 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] Diretorio /base ocupando muito espaço

2012-03-06 Por tôpico Tiago Adami
Em 5 de março de 2012 20:48, Cesar Moraes cesar.cs...@gmail.com escreveu:
 Ola a todos,

 Estou com problema de espaço em um dos servidores e percebi que o diretório
 /var/lib/pgsql/data/base esta ocupando muito espaço para o tamanho da base.

 Rodei o vacuumdb e diminuiu muito pouco.


Você possui colunas em tabelas do tipo LO (Large Object) ?

Tive um problema no passado com blobs órfãos. Se possuir,
experimente o comando vacuumlo [1].

Se nada resolver e o banco não for tão grande assim, você pode até
tentar um dump/restore, mas terá que rodar um VACUUM ANALYZE em todas
as tabelas após fazer isso para atualizar as estatísticas. Esta
solução não é muito elegante (e não resolve se o problema for os blobs
órfãos e você não rodar o vacuumlo), mas já consegui reduzir tamanho
extra que o vacuum full não conseguiu.

[1] http://www.postgresql.org/docs/9.1/static/vacuumlo.html

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


Re: [pgbr-geral] Diretorio /base ocupando muito espaço

2012-03-06 Por tôpico JotaComm
Opa,



Em 6 de março de 2012 08:54, Tiago Adami adam...@gmail.com escreveu:

 Em 5 de março de 2012 20:48, Cesar Moraes cesar.cs...@gmail.com
 escreveu:
  Ola a todos,
 
  Estou com problema de espaço em um dos servidores e percebi que o
 diretório
  /var/lib/pgsql/data/base esta ocupando muito espaço para o tamanho da
 base.
 
  Rodei o vacuumdb e diminuiu muito pouco.
 

 Você possui colunas em tabelas do tipo LO (Large Object) ?

 Tive um problema no passado com blobs órfãos. Se possuir,
 experimente o comando vacuumlo [1].

 Se nada resolver e o banco não for tão grande assim, você pode até
 tentar um dump/restore, mas terá que rodar um VACUUM ANALYZE em todas
 as tabelas após fazer isso para atualizar as estatísticas. Esta
 solução não é muito elegante (e não resolve se o problema for os blobs
 órfãos e você não rodar o vacuumlo), mas já consegui reduzir tamanho
 extra que o vacuum full não conseguiu.

 [1] http://www.postgresql.org/docs/9.1/static/vacuumlo.html

 Além do que já foi falado, você verificou se você não está ordenando muita
coisa em disco, se isso estiver acontecendo o tempo todo automaticamente o
tamanho do seu base/ pode estar aumentando e ai está o problema.



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



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


[pgbr-geral] ajuda com update

2012-03-06 Por tôpico Pedro Costa
Bom dia,

Podiam ajudar no seguinte update:
Eu tenho uma tabela elementos com um campo orçamento e uma tabela 
passeios com um campo também chamado orçamento.
Queria preencher o campo orçamento das ruas com a soma do orçamento dos 
elementos mais a soma de orçamento dos passeios.
A tabela elementos tem muitos elementos por cada rua e a tabela passeios 
tem dois passeios por cada rua.
Tentei da seguinte maneira:


update ruas
set orcamento = (elementos.orcamento + passeios.orcamento)
from elementos, passeios
where ruas.n_rua = elementos.rua and ruas.n_rua = passeios.n_rua


Mas nos casos em que a tabela passeios tem o campo orçamento a 0 o das 
ruas fica também a 0, apesar de os elementos terem orçamento maior que 0

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


Re: [pgbr-geral] ajuda com update

2012-03-06 Por tôpico Pedro Costa
Resolvi fazendo primeiro as somas para duas tabelas novas e depois 
efectuei a soma...

obrigado





Em 06-03-2012 12:06, Pedro Costa escreveu:
 Bom dia,

 Podiam ajudar no seguinte update:
 Eu tenho uma tabela elementos com um campo orçamento e uma tabela 
 passeios com um campo também chamado orçamento.
 Queria preencher o campo orçamento das ruas com a soma do orçamento 
 dos elementos mais a soma de orçamento dos passeios.
 A tabela elementos tem muitos elementos por cada rua e a tabela 
 passeios tem dois passeios por cada rua.
 Tentei da seguinte maneira:


 update ruas
 set orcamento = (elementos.orcamento + passeios.orcamento)
 from elementos, passeios
 where ruas.n_rua = elementos.rua and ruas.n_rua = passeios.n_rua


 Mas nos casos em que a tabela passeios tem o campo orçamento a 0 o das 
 ruas fica também a 0, apesar de os elementos terem orçamento maior que 
 0

 Obrigado

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


[pgbr-geral] Qual archive importado na replicação - Stream Replication

2012-03-06 Por tôpico Emerson Martins
Olá pessoal alguém sabe informar qual consulta eu utilizo para verificar
qual o ultimo archive de wal-log foi importado na replicação ?
Ou se existe alguma tabela onde eu possa encontrar essas informações desse
tipo no banco.A ideia seria montar um select que me mostrasse os archives
em um determinado período para averiguar se houve algum problema de falta
de archive..

Atenciosamente,

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


Re: [pgbr-geral] Qual archive importado na replicação - Stream Replication

2012-03-06 Por tôpico Fabrízio de Royes Mello
Em 6 de março de 2012 09:55, Emerson Martins
emersonmarti...@gmail.comescreveu:

 Olá pessoal alguém sabe informar qual consulta eu utilizo para verificar
 qual o ultimo archive de wal-log foi importado na replicação ?
 Ou se existe alguma tabela onde eu possa encontrar essas informações desse
 tipo no banco.A ideia seria montar um select que me mostrasse os archives
 em um determinado período para averiguar se houve algum problema de falta
 de archive..


Dê uma olhada nestas funções [1]... creio que poderão de auxiliar...

[1]
http://www.postgresql.org/docs/9.1/static/functions-admin.html#FUNCTIONS-RECOVERY-INFO-TABLE

-- 
Fabrízio de Royes Mello
Consultoria/Coaching PostgreSQL
 Blog sobre TI: http://fabriziomello.blogspot.com
 Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
 Twitter: http://twitter.com/fabriziomello
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Uma coluna, duas FKs

2012-03-06 Por tôpico Tiago Adami
Em 5 de março de 2012 20:20, Flavio Henrique Araque Gurgel
fha...@gmail.com escreveu:
 Qual é a versão do Hibernate?
 Ele está usando o dialeto PostgreSQL?
 Como estão os xmls do mapeamento dos objetos com o banco de dados?

* Hibernate 4.0.1
* PostgreSQL Dialect
* Não usa XML, mas Annotations.

Agradeço o esforço de todos, mas realmente é um erro de ferramenta.
Acontece com outros SGBDs também (convertemos o modelo para outro SGBD
e o mesmo erro foi apresentado).

Para ficar claro, não que eu tenha duvidado do PostgreSQL, era mais
uma dúvida de projeto mesmo. Pensei que pudesse estar errado no
conceito de usar uma coluna e mais de uma FK nela.

Obrigado!

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


Re: [pgbr-geral] Uma coluna, duas FKs

2012-03-06 Por tôpico Bruno Silva
Olha só, em defesa do Hibernate, o teu arquiteto está embananado.

Bruno E. A. Silva.
Analista de Sistemas.
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Dúvida tipo SERIAL

2012-03-06 Por tôpico Bruno Moreno
Pessoal, estou com uma pequena dúvida quanto ao uso do tipo SERIAL no PG.
Tenho um relacionamento NxN e uma dessas tabelas tem um identificador do
tipo SERIAL. Preciso recuperar o último valor para colocar na relação que
realiza o relacionamento. Tentei tal qual a SQL abaixo porém o PG sempre me
retorna uma mensagem assim: *ERRO:  could not open relation with OID 3.*
*
*
Estou procedendo da maneira correta? Para pegar o valor corrente eu
utilizei a função *curval*(). O que pode estar dando errado?

*BEGIN;*
*insert into tb_grupo_subcontas (nome) values ('Teste');*
*select currval(id) into id_grupo2 from tb_grupo_subcontas;*
*insert into tb_grupo_subcontas_subcontas (id_grupo, id_subconta) values
(id_grupo2, 1);*
*insert into tb_grupo_subcontas_subcontas (id_grupo, id_subconta) values
(id_grupo2, 2);*
*END;*
*COMMIT;*

Obrigado!

Bruno Neiva Moreno
http://about.me/brunomoreno
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Dúvida tipo SERIAL

2012-03-06 Por tôpico Fabrízio de Royes Mello
Em 6 de março de 2012 11:01, Bruno Moreno brunone...@gmail.com escreveu:

 Pessoal, estou com uma pequena dúvida quanto ao uso do tipo SERIAL no PG.
 Tenho um relacionamento NxN e uma dessas tabelas tem um identificador do
 tipo SERIAL. Preciso recuperar o último valor para colocar na relação que
 realiza o relacionamento. Tentei tal qual a SQL abaixo porém o PG sempre me
 retorna uma mensagem assim: *ERRO:  could not open relation with OID 3.*
 *
 *
 Estou procedendo da maneira correta? Para pegar o valor corrente eu
 utilizei a função *curval*(). O que pode estar dando errado?

 *BEGIN;*
 *insert into tb_grupo_subcontas (nome) values ('Teste');*
 *select currval(id) into id_grupo2 from tb_grupo_subcontas;*
 *insert into tb_grupo_subcontas_subcontas (id_grupo, id_subconta) values
 (id_grupo2, 1);*
 *insert into tb_grupo_subcontas_subcontas (id_grupo, id_subconta) values
 (id_grupo2, 2);*
 *END;*
 *COMMIT;*


Vc está utilizando a função currval [1] de maneira incorreta. Vc precisa
passar para ela o nome da sequence que foi incrementada pelo último
nextval dentro da sessão. O correto seria mais ou menos assim:

BEGIN;
  INSERT INTO tb_grupo_subcontas (nome) VALUES ('Teste');
  INSERT INTO tb_grupo_subcontas_subcontas (id_grupo, id_subconta)
VALUES (currval('tb_grupo_subcontas_id_seq'), 1);
  INSERT INTO tb_grupo_subcontas_subcontas (id_grupo, id_subconta)
VALUES (currval('tb_grupo_subcontas_id_seq'), 2);
COMMIT;

Pode ser que vc precise fazer algum ajuste no exemplo acima, mas creio que
já seja um bom começo.


[1] http://www.postgresql.org/docs/9.1/static/functions-sequence.html

-- 
Fabrízio de Royes Mello
Consultoria/Coaching PostgreSQL
 Blog sobre TI: http://fabriziomello.blogspot.com
 Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
 Twitter: http://twitter.com/fabriziomello
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Dúvida tipo SERIAL

2012-03-06 Por tôpico Matheus de Oliveira
Eu recomendaria usar o RETURNING do insert:

BEGIN;
  INSERT INTO tb_grupo_subcontas (nome)
  VALUES ('Teste')
  RETURNING id
  INTO id_grupo2;
  INSERT INTO tb_grupo_subcontas_subcontas (id_grupo, id_subconta)
VALUES (id_grupo2, 1);
  INSERT INTO tb_grupo_subcontas_subcontas (id_grupo, id_subconta)
VALUES (id_grupo2, 2);
COMMIT;

Estou assumindo que você está dentro de uma FUNCTION.

abços
--
Matheus de Oliveira

Bacharelado em Ciências de Computação
Laboratório de Computação de Alto Desempenho -
LCADhttp://www.lcad.icmc.usp.br/
Instituto de Ciências Matemáticas e de Computação -
ICMChttp://www.icmc.usp.br/
Universidade de São Paulo - USP http://www.sc.usp.br/




On Tue, Mar 6, 2012 at 11:08 AM, Fabrízio de Royes Mello 
fabriziome...@gmail.com wrote:



 Em 6 de março de 2012 11:01, Bruno Moreno brunone...@gmail.com escreveu:

 Pessoal, estou com uma pequena dúvida quanto ao uso do tipo SERIAL no PG.
 Tenho um relacionamento NxN e uma dessas tabelas tem um identificador do
 tipo SERIAL. Preciso recuperar o último valor para colocar na relação que
 realiza o relacionamento. Tentei tal qual a SQL abaixo porém o PG sempre me
 retorna uma mensagem assim: *ERRO:  could not open relation with OID 3.
 *
 *
 *
 Estou procedendo da maneira correta? Para pegar o valor corrente eu
 utilizei a função *curval*(). O que pode estar dando errado?

 *BEGIN;*
 *insert into tb_grupo_subcontas (nome) values ('Teste');*
 *select currval(id) into id_grupo2 from tb_grupo_subcontas;*
 *insert into tb_grupo_subcontas_subcontas (id_grupo, id_subconta) values
 (id_grupo2, 1);*
 *insert into tb_grupo_subcontas_subcontas (id_grupo, id_subconta) values
 (id_grupo2, 2);*
 *END;*
 *COMMIT;*


 Vc está utilizando a função currval [1] de maneira incorreta. Vc precisa
 passar para ela o nome da sequence que foi incrementada pelo último
 nextval dentro da sessão. O correto seria mais ou menos assim:

 BEGIN;
   INSERT INTO tb_grupo_subcontas (nome) VALUES ('Teste');
   INSERT INTO tb_grupo_subcontas_subcontas (id_grupo, id_subconta)
 VALUES (currval('tb_grupo_subcontas_id_seq'), 1);
   INSERT INTO tb_grupo_subcontas_subcontas (id_grupo, id_subconta)
 VALUES (currval('tb_grupo_subcontas_id_seq'), 2);
 COMMIT;

 Pode ser que vc precise fazer algum ajuste no exemplo acima, mas creio que
 já seja um bom começo.


 [1] http://www.postgresql.org/docs/9.1/static/functions-sequence.html

 --
 Fabrízio de Royes Mello
 Consultoria/Coaching PostgreSQL
  Blog sobre TI: http://fabriziomello.blogspot.com
  Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
  Twitter: http://twitter.com/fabriziomello


 ___
 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] Conexão com banco SQL Server

2012-03-06 Por tôpico Charles Emanuel Silva Ramos Patrocínio dos Santos
Ola

Estou usando a 8.3 do PostgreSQL e a 2008 R2 do SQL Server.
O unico metodo que usei foi o dbLink por select simples.
Li algumas coisas sobre o SQL/MED mas como estou na v. 8.3 e vi que teria
que se superior a 8.4 não detalhei mais a leitura

Obrigado ate o momento

No aguardo de informações




Em 5 de março de 2012 18:45, Guimarães Faria Corcete DUTRA, Leandro 
l...@dutras.org escreveu:

 2012/3/5 Charles Emanuel Silva Ramos Patrocínio dos Santos
 charles.san...@el.com.br:
 
  Estou necessitando fazer em meu Banco PostgreSQL, algumas verificações
 em um
  banco SQL Server. Gostaria de uma ajuda no DbLink ou em qualquer outra
  alternativa que possam me indicar.

 Que versões?

 Já leste a documentação do SQL/MED?

 O que já tentaste, e onde paraste?

 Só com detalhes podemos ajudar.
 ___
 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] Conexão com banco SQL Server

2012-03-06 Por tôpico Matheus de Oliveira
Outra coisa que você poderia fazer é criar uma function em C que faça o
que você precisa no SQL Server e traga o retorno pro PostgreSQL.

flw
--
Matheus de Oliveira

Bacharelado em Ciências de Computação
Laboratório de Computação de Alto Desempenho -
LCADhttp://www.lcad.icmc.usp.br/
Instituto de Ciências Matemáticas e de Computação -
ICMChttp://www.icmc.usp.br/
Universidade de São Paulo - USP http://www.sc.usp.br/




On Tue, Mar 6, 2012 at 11:43 AM, Charles Emanuel Silva Ramos Patrocínio dos
Santos charles.san...@el.com.br wrote:

 Ola

 Estou usando a 8.3 do PostgreSQL e a 2008 R2 do SQL Server.
 O unico metodo que usei foi o dbLink por select simples.
 Li algumas coisas sobre o SQL/MED mas como estou na v. 8.3 e vi que teria
 que se superior a 8.4 não detalhei mais a leitura

 Obrigado ate o momento

 No aguardo de informações




 Em 5 de março de 2012 18:45, Guimarães Faria Corcete DUTRA, Leandro 
 l...@dutras.org escreveu:

 2012/3/5 Charles Emanuel Silva Ramos Patrocínio dos Santos
 charles.san...@el.com.br:
 
  Estou necessitando fazer em meu Banco PostgreSQL, algumas verificações
 em um
  banco SQL Server. Gostaria de uma ajuda no DbLink ou em qualquer outra
  alternativa que possam me indicar.

 Que versões?

 Já leste a documentação do SQL/MED?

 O que já tentaste, e onde paraste?

 Só com detalhes podemos ajudar.
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



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


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


Re: [pgbr-geral] Uma coluna, duas FKs

2012-03-06 Por tôpico Tiago Adami
Em 6 de março de 2012 11:01, Bruno Silva bemanuel...@gmail.com escreveu:
 Olha só, em defesa do Hibernate, o teu arquiteto está embananado.


Certo, então, poderias dizer como fazer para solucionar a questão?

Seria de grande ajuda, pois não teria que modificar no modelo. Eu não
tenho a mensagem de erro aqui agora pois não estou na empresa, mas se
você copiar o código SQL que fiz no início conseguirá reproduzí-lo sem
dificuldades.



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


Re: [pgbr-geral] Conexão com banco SQL Server

2012-03-06 Por tôpico Euler Taveira de Oliveira
On 06-03-2012 11:43, Charles Emanuel Silva Ramos Patrocínio dos Santos wrote:
 Estou usando a 8.3 do PostgreSQL e a 2008 R2 do SQL Server. 

Dê uma olhada em dblink-tds [1], dbi-link[2] e odbclink [3]. Se o PostgreSQL
estiver em um servidor Windows, a única opção é o odbclink. (Há *muito* tempo
não testo essas ferramentas, portanto, não sei se as mesmas estão funcionando
adequadamente).


[1] http://pgfoundry.org/projects/dblink-tds/
[2] http://pgfoundry.org/projects/dbi-link/
[3] http://pgfoundry.org/projects/odbclink/


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


Re: [pgbr-geral] Uma coluna, duas FKs

2012-03-06 Por tôpico Bruno Silva
Certo, te respondo mais tarde!

Bruno E. A. Silva.
Analista de Sistemas.
Bacharel em Sistemas de Informação
Pós-graduando em Gerência de Projetos
Certified Scrum Master
LPIC-1
SCJP, SE 6
Novell CLA / DCTS ECR
DBA Postgres
---
“A caixa dizia: Requer MS Windows ou superior. Então instalei Linux.” -
Sábio Desconhecido
Alguns prestam serviço/consultoria de Qualidade, os outros vendem licença!



2012/3/6 Tiago Adami adam...@gmail.com

 Em 6 de março de 2012 11:01, Bruno Silva bemanuel...@gmail.com escreveu:
  Olha só, em defesa do Hibernate, o teu arquiteto está embananado.
 

 Certo, então, poderias dizer como fazer para solucionar a questão?

 Seria de grande ajuda, pois não teria que modificar no modelo. Eu não
 tenho a mensagem de erro aqui agora pois não estou na empresa, mas se
 você copiar o código SQL que fiz no início conseguirá reproduzí-lo sem
 dificuldades.



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


[pgbr-geral] REF. SQL JUNTAR COLUNAS

2012-03-06 Por tôpico paulo
OLA PESSOAL,

TENHO O SEGUINTE SQL: 
 SELECT 
  A.CODIGO,
  A.NOME, 
  B.SETOR,
  A.DATAS, 
  A.CONTA, 
  A.RECIBO, 
  A.VALOR 
 FROM 
  ENTRADAS A LEFT OUTER JOIN SETOR B ON A.SETOR=B.IDSETOR 
 WHERE 
   b.idsetor between 1 and  
 ORDER BY
  A.DATAS DESC

QUE ME RETONA:
0- JUCA BALA   - PARQUE 001 - 2012-02-03 - 515  - 335.00
0- MARIO RIVAS - PARQUE 002 - 2012-02-03 - 515  - 568.00
4568 -   - PARQUE 001 - 2012-02-03 - 515  - 455.00

NESTA TELA DE ENTRADA, USUARIO PODE DIGITAR O CODIGO
PREVIAMENTE CADASTRADA NA TABELA CLIENTES, OU IGNORAR
O CAMPO CODIGO E INFORMAR UM NOME QUALQUER NO CAMPO NOME.

ENTAO NA TABELA POSSO TER CAMPO CODIGO ZERADO OU PREENCHIDO
E NO CAMPO NOME POSSO TER UM NOME OU NAO.

PRECISO NO SELECT RETORNAR UM TERCEIRO CAMPO COM O APENAS
O CONTEUDO DE UM DOS DOIS.

ASSIM: 
JUCA BALA   - PARQUE 001 - 2012-02-03 - 515  - 335.00
MARIO RIVAS - PARQUE 002 - 2012-02-03 - 515  - 568.00
4568- PARQUE 001 - 2012-02-03 - 515  - 455.00

ALGUEM PODE DAR UMA DICA ?
OBRIGADO.

Paulo.
VisualP 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] REF. SQL JUNTAR COLUNAS

2012-03-06 Por tôpico Guimarães Faria Corcete DUTRA , Leandro
2012/3/6  pa...@visualpsistemas.com.br:
 OLA PESSOAL,

Maiúsculas!  ARGH!
___
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. SQL JUNTAR COLUNAS

2012-03-06 Por tôpico Gustavo Scudeler
Um coalesce não resolve?

SELECT
  COALESCE( A.CODIGO, A.NOME ) as novocampo,
  B.SETOR,
  A.DATAS,
  A.CONTA,
  A.RECIBO,
  A.VALOR
 FROM
  ENTRADAS A LEFT OUTER JOIN SETOR B ON A.SETOR=B.IDSETOR
 WHERE
   b.idsetor between 1 and  
 ORDER BY
  A.DATAS DESC

Em 6 de março de 2012 18:16, pa...@visualpsistemas.com.br escreveu:

 **
 OLA PESSOAL,

 TENHO O SEGUINTE SQL:
  SELECT
   A.CODIGO,
   A.NOME,
   B.SETOR,
   A.DATAS,
   A.CONTA,
   A.RECIBO,
   A.VALOR
  FROM
   ENTRADAS A LEFT OUTER JOIN SETOR B ON A.SETOR=B.IDSETOR
  WHERE
b.idsetor between 1 and  
  ORDER BY
   A.DATAS DESC

 QUE ME RETONA:
 0- JUCA BALA   - PARQUE 001 - 2012-02-03 - 515  - 335.00
 0- MARIO RIVAS - PARQUE 002 - 2012-02-03 - 515  - 568.00
 4568 -   - PARQUE 001 - 2012-02-03 - 515  - 455.00

 NESTA TELA DE ENTRADA, USUARIO PODE DIGITAR O CODIGO
 PREVIAMENTE CADASTRADA NA TABELA CLIENTES, OU IGNORAR
 O CAMPO CODIGO E INFORMAR UM NOME QUALQUER NO CAMPO NOME.

 ENTAO NA TABELA POSSO TER CAMPO CODIGO ZERADO OU PREENCHIDO
 E NO CAMPO NOME POSSO TER UM NOME OU NAO.

 PRECISO NO SELECT RETORNAR UM TERCEIRO CAMPO COM O APENAS
 O CONTEUDO DE UM DOS DOIS.

 ASSIM:
 JUCA BALA   - PARQUE 001 - 2012-02-03 - 515  - 335.00
 MARIO RIVAS - PARQUE 002 - 2012-02-03 - 515  - 568.00
 4568- PARQUE 001 - 2012-02-03 - 515  - 455.00

 ALGUEM PODE DAR UMA DICA ?
 OBRIGADO.

 Paulo.
 VisualP Sistemas.



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




-- 
*Atenciosamente,*
*Gustavo Scudeler*
___
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. SQL JUNTAR COLUNAS

2012-03-06 Por tôpico paulo
Ola Gustavo,

Retorna erro:
ERRO:  tipos no COALESCE integer e character varying não podem corresponder

Ps. Desculpe pessoal, pelos maiusculos..

Att,
Paulo.
 
  - Original Message - 
  From: Gustavo Scudeler 
  To: Comunidade PostgreSQL Brasileira 
  Sent: Tuesday, March 06, 2012 7:56 PM
  Subject: Re: [pgbr-geral] REF. SQL JUNTAR COLUNAS


  Um coalesce não resolve?


  SELECT 
COALESCE( A.CODIGO, A.NOME ) as novocampo, 
B.SETOR,
A.DATAS, 
A.CONTA, 
A.RECIBO, 
A.VALOR 
   FROM 
ENTRADAS A LEFT OUTER JOIN SETOR B ON A.SETOR=B.IDSETOR 
   WHERE 
 b.idsetor between 1 and  
   ORDER BY
A.DATAS DESC 


  Em 6 de março de 2012 18:16, pa...@visualpsistemas.com.br escreveu:

OLA PESSOAL,

TENHO O SEGUINTE SQL: 
 SELECT 
  A.CODIGO,
  A.NOME, 
  B.SETOR,
  A.DATAS, 
  A.CONTA, 
  A.RECIBO, 
  A.VALOR 
 FROM 
  ENTRADAS A LEFT OUTER JOIN SETOR B ON A.SETOR=B.IDSETOR 
 WHERE 
   b.idsetor between 1 and  
 ORDER BY
  A.DATAS DESC

QUE ME RETONA:
0- JUCA BALA   - PARQUE 001 - 2012-02-03 - 515  - 335.00
0- MARIO RIVAS - PARQUE 002 - 2012-02-03 - 515  - 568.00
4568 -   - PARQUE 001 - 2012-02-03 - 515  - 455.00

NESTA TELA DE ENTRADA, USUARIO PODE DIGITAR O CODIGO
PREVIAMENTE CADASTRADA NA TABELA CLIENTES, OU IGNORAR
O CAMPO CODIGO E INFORMAR UM NOME QUALQUER NO CAMPO NOME.

ENTAO NA TABELA POSSO TER CAMPO CODIGO ZERADO OU PREENCHIDO
E NO CAMPO NOME POSSO TER UM NOME OU NAO.

PRECISO NO SELECT RETORNAR UM TERCEIRO CAMPO COM O APENAS
O CONTEUDO DE UM DOS DOIS.

ASSIM: 
JUCA BALA   - PARQUE 001 - 2012-02-03 - 515  - 335.00
MARIO RIVAS - PARQUE 002 - 2012-02-03 - 515  - 568.00
4568- PARQUE 001 - 2012-02-03 - 515  - 455.00

ALGUEM PODE DAR UMA DICA ?
OBRIGADO.

Paulo.
VisualP Sistemas.



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







  -- 
  Atenciosamente,
  Gustavo Scudeler




--


  ___
  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] REF. SQL JUNTAR COLUNAS

2012-03-06 Por tôpico Gustavo Scudeler
Olá,

Erro meu, no coalesce tem que ser mesmo datatype, não prestei atenção.

Segue para teste:

SELECT
  COALESCE( CAST( A.CODIGO as VARCHAR(50) ) , CAST( A.NOME AS VARCHAR(255)
)  ) as novocampo,
  B.SETOR,
  A.DATAS,
  A.CONTA,
  A.RECIBO,
  A.VALOR
 FROM
  ENTRADAS A LEFT OUTER JOIN SETOR B ON A.SETOR=B.IDSETOR
 WHERE
   b.idsetor between 1 and  
 ORDER BY
  A.DATAS DESC

Em 6 de março de 2012 20:03, pa...@visualpsistemas.com.br escreveu:

 **
 Ola Gustavo,

 Retorna erro:
 ERRO:  tipos no COALESCE integer e character varying não podem corresponder
 Ps. Desculpe pessoal, pelos maiusculos..

 Att,
 Paulo.


 - Original Message -
 *From:* Gustavo Scudeler scudel...@gmail.com
 *To:* Comunidade PostgreSQL Brasileirapgbr-geral@listas.postgresql.org.br
 *Sent:* Tuesday, March 06, 2012 7:56 PM
 *Subject:* Re: [pgbr-geral] REF. SQL JUNTAR COLUNAS

 Um coalesce não resolve?

 SELECT
   COALESCE( A.CODIGO, A.NOME ) as novocampo,
   B.SETOR,
   A.DATAS,
   A.CONTA,
   A.RECIBO,
   A.VALOR
  FROM
   ENTRADAS A LEFT OUTER JOIN SETOR B ON A.SETOR=B.IDSETOR
  WHERE
b.idsetor between 1 and  
  ORDER BY
   A.DATAS DESC

 Em 6 de março de 2012 18:16, pa...@visualpsistemas.com.br escreveu:

 **
 OLA PESSOAL,

 TENHO O SEGUINTE SQL:
  SELECT
   A.CODIGO,
   A.NOME,
   B.SETOR,
   A.DATAS,
   A.CONTA,
   A.RECIBO,
   A.VALOR
  FROM
   ENTRADAS A LEFT OUTER JOIN SETOR B ON A.SETOR=B.IDSETOR
  WHERE
b.idsetor between 1 and  
  ORDER BY
   A.DATAS DESC

 QUE ME RETONA:
 0- JUCA BALA   - PARQUE 001 - 2012-02-03 - 515  - 335.00
 0- MARIO RIVAS - PARQUE 002 - 2012-02-03 - 515  - 568.00
 4568 -   - PARQUE 001 - 2012-02-03 - 515  - 455.00

 NESTA TELA DE ENTRADA, USUARIO PODE DIGITAR O CODIGO
 PREVIAMENTE CADASTRADA NA TABELA CLIENTES, OU IGNORAR
 O CAMPO CODIGO E INFORMAR UM NOME QUALQUER NO CAMPO NOME.

 ENTAO NA TABELA POSSO TER CAMPO CODIGO ZERADO OU PREENCHIDO
 E NO CAMPO NOME POSSO TER UM NOME OU NAO.

 PRECISO NO SELECT RETORNAR UM TERCEIRO CAMPO COM O APENAS
 O CONTEUDO DE UM DOS DOIS.

 ASSIM:
 JUCA BALA   - PARQUE 001 - 2012-02-03 - 515  - 335.00
 MARIO RIVAS - PARQUE 002 - 2012-02-03 - 515  - 568.00
 4568- PARQUE 001 - 2012-02-03 - 515  - 455.00

 ALGUEM PODE DAR UMA DICA ?
 OBRIGADO.

 Paulo.
 VisualP Sistemas.



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




 --
 *Atenciosamente,*
 *Gustavo Scudeler*

  --

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


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




-- 
*Atenciosamente,*
*Gustavo Scudeler*
___
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. SQL JUNTAR COLUNAS - REva.SOLVIDO.

2012-03-06 Por tôpico paulo
Ola Gustavo,

Valeu a dica. Retornou exatamente o que eu precisava.

Att,
Paulo.

  - Original Message - 
  From: Gustavo Scudeler 
  To: Comunidade PostgreSQL Brasileira 
  Sent: Tuesday, March 06, 2012 8:11 PM
  Subject: Re: [pgbr-geral] REF. SQL JUNTAR COLUNAS



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


Re: [pgbr-geral] Diretorio /base ocupando muito espaço

2012-03-06 Por tôpico Flavio Henrique Araque Gurgel
 [1] http://www.postgresql.org/docs/9.1/static/vacuumlo.html

 Além do que já foi falado, você verificou se você não está ordenando muita
 coisa em disco, se isso estiver acontecendo o tempo todo automaticamente o
 tamanho do seu base/ pode estar aumentando e ai está o problema.

Mais umas perguntas...
- De quanto estamos falando de tamanho? Quanto você acha que deveria
ser e quanto é?
- Autovacuum está ligado?
- Que tipo de carga tem seu banco?
- Usa muitos índices? Verificou se os índices são úteis?

[]s
Flavio Gurgel
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Dúvida tipo SERIAL

2012-03-06 Por tôpico Bruno Moreno
Muito obrigado a todos!

Abs

Bruno Neiva Moreno
http://about.me/brunomoreno



Em 6 de março de 2012 11:29, Matheus de Oliveira
matioli.math...@gmail.comescreveu:

 Eu recomendaria usar o RETURNING do insert:

 BEGIN;
   INSERT INTO tb_grupo_subcontas (nome)
   VALUES ('Teste')
   RETURNING id
   INTO id_grupo2;
   INSERT INTO tb_grupo_subcontas_subcontas (id_grupo, id_subconta)
 VALUES (id_grupo2, 1);
   INSERT INTO tb_grupo_subcontas_subcontas (id_grupo, id_subconta)
 VALUES (id_grupo2, 2);
 COMMIT;

 Estou assumindo que você está dentro de uma FUNCTION.

 abços
 --
 Matheus de Oliveira

 Bacharelado em Ciências de Computação
 Laboratório de Computação de Alto Desempenho - 
 LCADhttp://www.lcad.icmc.usp.br/
 Instituto de Ciências Matemáticas e de Computação - 
 ICMChttp://www.icmc.usp.br/
 Universidade de São Paulo - USP http://www.sc.usp.br/




 On Tue, Mar 6, 2012 at 11:08 AM, Fabrízio de Royes Mello 
 fabriziome...@gmail.com wrote:



 Em 6 de março de 2012 11:01, Bruno Moreno brunone...@gmail.comescreveu:

 Pessoal, estou com uma pequena dúvida quanto ao uso do tipo SERIAL no PG.
 Tenho um relacionamento NxN e uma dessas tabelas tem um identificador do
 tipo SERIAL. Preciso recuperar o último valor para colocar na relação que
 realiza o relacionamento. Tentei tal qual a SQL abaixo porém o PG sempre me
 retorna uma mensagem assim: *ERRO:  could not open relation with OID
 3.*
 *
 *
 Estou procedendo da maneira correta? Para pegar o valor corrente eu
 utilizei a função *curval*(). O que pode estar dando errado?

 *BEGIN;*
 *insert into tb_grupo_subcontas (nome) values ('Teste');*
 *select currval(id) into id_grupo2 from tb_grupo_subcontas;*
 *insert into tb_grupo_subcontas_subcontas (id_grupo, id_subconta)
 values (id_grupo2, 1);*
 *insert into tb_grupo_subcontas_subcontas (id_grupo, id_subconta)
 values (id_grupo2, 2);*
 *END;*
 *COMMIT;*


 Vc está utilizando a função currval [1] de maneira incorreta. Vc
 precisa passar para ela o nome da sequence que foi incrementada pelo último
 nextval dentro da sessão. O correto seria mais ou menos assim:

 BEGIN;
   INSERT INTO tb_grupo_subcontas (nome) VALUES ('Teste');
   INSERT INTO tb_grupo_subcontas_subcontas (id_grupo, id_subconta)
 VALUES (currval('tb_grupo_subcontas_id_seq'), 1);
   INSERT INTO tb_grupo_subcontas_subcontas (id_grupo, id_subconta)
 VALUES (currval('tb_grupo_subcontas_id_seq'), 2);
 COMMIT;

 Pode ser que vc precise fazer algum ajuste no exemplo acima, mas creio
 que já seja um bom começo.


 [1] http://www.postgresql.org/docs/9.1/static/functions-sequence.html

 --
 Fabrízio de Royes Mello
 Consultoria/Coaching PostgreSQL
  Blog sobre TI: http://fabriziomello.blogspot.com
  Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
  Twitter: http://twitter.com/fabriziomello


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



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


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