Re: [pgbr-geral] Escalibilidade vertical
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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/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
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
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
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.
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
[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
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