[pgbr-geral] REF: Teste Pgsql.
Olá Pessoal. Há um bom tempo não recebo as mensagens. Att, Paulo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: RES: RES: REF: Constraint Check por coluna e por tabela.
>> OK. Obrigado Guimarães. Att, Paulo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: RES: REF: Constraint Check por coluna e por tabela.
>>Na verdade só o nome difere. O objeto criado é o mesmo. Sim, isso eu sei. Mas o comportamento do banco, muda alguma coisa ? Att, Paulo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: REF: Constraint Check por coluna e por tabela.
>> >Paulo, eu particularmente acho muito difícil responder uma pergunta >tão geral. Poderias ser mais específico, talvez com exemplo e questão direta? Serei mais claro na pergunta. Eu posso criar as minhas tabelas do seguinte modo: - --CHECK A NIVEL DE COLUNA - CREATE TABLE tabela( id serial NOT NULL, nome character varying(60) NOT NULL UNIQUE, aqui CONSTRAINT pk_id PRIMARY KEY (id )); -- OU - --CHECK A NIVEL DE TABELA - CREATE TABLE tabela( id serial NOT NULL, nome character varying(60) NOT NULL, CONSTRAINT pk_id PRIMARY KEY (id ), CONSTRAINT uq_nome UNIQUE (nome )) aqui Qual a diferença ? ATT, Paulo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] REF: Constraint Check por coluna e por tabela.
Olá Pessoal, Pintou uma duvida aqui e gostaria de perguntar. Qual a principal implicação no banco e na APP entre uma CONSTRAINT CHEK a nível de coluna e por tabela ? Obrigado. Paulo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Ref: SQL de Profissoes.
>>Seria por acaso a CBO (Classificação Brasileira de Ocupações)? >http://www.mtecbo.gov.br/cbosite/pages/downloads.jsf Exatamente isso Alexsander. Obrigado pessoal. Att, Paulo. ___ 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 de Profissoes.
Bom dia Pessoal. Alguém conhece ou tem o link de onde posso baixar as profissões em SQL ? Obrigado. Paulo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Novo Programa de Índio "Postgres nas nuvens"
Qual horário ? 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] Atualização Postgresql 9.4 para 9.6 em windows 10
Acho que pode ajudar na sua duvida.. https://www.postgresql.org/docs/9.0/static/migration.html Att Em 7 de outubro de 2016 09:29, José Henrique Beraldo < henriquebera...@gmail.com> escreveu: > Bom dia. > Ao instalar uma versão nova 9.6.0, apenas copiar a pasta /data para a nova > versão, é o suficiente para que a atualização seja com sucesso? > > > > *José Henrique Beraldo* > *DeskX Consultoria em Tecnologia da Informação* > Tel: 017 3331-7770 > Cel: 017 99979-4669 > *Skypejosehenriqueberaldo* > > > > > ___ > 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] Atualização Postgresql 9.4 para 9.6 em windows 10
Com certeza não.. Aconselhavel realizar um dump na versao antiga e um restore na nova versão... Em 7 de outubro de 2016 09:29, José Henrique Beraldo < henriquebera...@gmail.com> escreveu: > Bom dia. > Ao instalar uma versão nova 9.6.0, apenas copiar a pasta /data para a nova > versão, é o suficiente para que a atualização seja com sucesso? > > > > *José Henrique Beraldo* > *DeskX Consultoria em Tecnologia da Informação* > Tel: 017 3331-7770 > Cel: 017 99979-4669 > *Skypejosehenriqueberaldo* > > > > > ___ > 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] RES: RES: RES: RES: REF: Instrução SELECT com retorno zerado.
>> SELECT unnest as setor,coalesce(SUM(total),0.00) AS total > Show Dadilton, na mosca. (R) Tive apenas que ajustar o para GROUP BY setor,unnest e funcionou 100% Obrigado pessoal, Att, Paulo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: RES: RES: REF: Instrução SELECT com retorno zerado.
>>) AS setores r>ight join unnest(ARRAY['PH','PV','PF']) on unnest = setor >>GROUP BY setor Olá Dadilton, obrigado pela resposta. Retornou uma coluna vazia: "PV";2505.61 "","" "PF";4054.20 Preciso que na primeira coluna, retorne: "PV";2505.61 "PH","" "PF";4054.20 Alguma outra dica ? ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: RES: REF: Instrução SELECT com retorno zerado.
>>SELECT distinct 'PH' AS setor, >> CASE WHEN pagdtvencimento = CAST(NOW() AS DATE) then SUM(pagvalorprincipal) ELSE '0.00' END AS total Olá Matheus, obrigado pela dica, mas já tinha tentado com CASE e não funcionou. Mais alguém ? Att, Paulo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] REF: Instrução SELECT com retorno zerado.
Olá Pessoal, Estou executando a sentença abaixo: SELECT setor,SUM(total) AS total FROM ( SELECT 'PV' AS setor, SUM(pagvalorprincipal) AS total FROM pagamentos WHERE pagdtpagamento IS NULL AND pagdtvencimento < data_atual GROUP BY setor UNION SELECT 'PH' AS setor, SUM(pagvalorprincipal) AS total FROM pagamentos WHERE pagdtpagamento IS NULL AND pagdtvencimento = data_atual GROUP BY setor UNION SELECT 'PF' AS setor, SUM(pagvalorprincipal) AS total FROM pagamentos WHERE pagdtpagamento IS NULL AND pagdtvencimento > data_atual GROUP BY setor ) AS setores GROUP BY setor que me retorna tudo OK. "PV";2505.61 "PH";106.65 "PF";4054.20 Quando não há dados em PH retorna: "PV";2505.61 "PF";4054.20 O que preciso, é que quando não houver dados, por exemplo em PH, retornar assim: "PV";2505.61 "PH";0.00 "PF";4054.20 Estou tentando com COALESCE, mas ainda não consegui. Alguém tem alguma dica ? Att, Paulo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: REF: Duplicar Tabela com Chave Primaria
>> >>Me parece que sua tabela original não tem chave primária, ou pelo >>menos não é este campo chave_inc, já que você está buscando os >>duplicados. >Osvaldo Tem sim Osvaldo, porem o campo duplicado não é a chave primaria e sim um outro campo. Att, Paulo.] ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] REF: Duplicar Tabela com Chave Primaria
Olá Pessoal, Estou executado a seguinte instrução: CREATE TABLE chave_duplicada AS SELECT * FROM empresas group by chave_inc having count(chave_inc) > 1 Porém não consigo visualizar os dados da nova tabela, recebo a mensagem: Edit table data without primary key Alguém pode dar uma dica de como ao duplicar e já trazer a chave primária da tabela origem. Obrigado. Atenciosamente, vp_logo 48 9906.9136 - Tim 48 3657.1963 - Fixo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: REF: Ajustar Seqüência Serial.
>> >Em adição ao que o Danilo disse, você pode gerar um script com todas as >alterações de uma vez só. >Supondo que eu queira reiniciar com zero, o script ficaria assim: >postgres=# select 'ALTER SEQUENCE ' || relname || ' RESTART WITH 0;' from >pg_catalog.pg_class where relkind='S'; >> Show pessoal, Exatamente que precisava. Obrigado a todos os colegas que responderam. Abraços. Paulo. --- Este email foi escaneado pelo Avast antivírus. https://www.avast.com/antivirus ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] REF: Ajustar Seqüência Serial.
Olá Pessoal, Tenho um ERP onde sempre fazemos conversão de dados de outros sistemas para nosso banco. Ocorre em alguns casos de conversão estou tendo problemas com o START do Serial. Preciso do comando que ajuste automaticamente as Seqüências dos Seriais. Alguém pode dar uma dica ? Atenciosamente, Paulo. vp_logo --- Este email foi escaneado pelo Avast antivírus. https://www.avast.com/antivirus ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Regras de negocio no banco ou na aplicação
Concordo plenamente. Enviado do meu Telefone LG -- Mensagem original--De: Luiz Carlos L. Nogueira Jr.Data: sex, 15 de jan de 2016 12:07 PMPara: Comunidade PostgreSQL Brasileira;Assunto:Re: [pgbr-geral] Regras de negocio no banco ou na aplicação Com bons desenvolvedores, o bom senso prevaleceria em decidir o que colocar no banco ou na aplicação.O problema é: esses bons desenvolvedores são muito raros, principalmente por que a grande maioria só entende de um lado (programação) ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: REF: Instalação Silenciosa com Apache.
>> > >>Windows: postgresql-9.x.x.x-windows-xyy.exe --unattendedmodeui minimal --mode unattended --superaccount useracc --serviceaccount useracc --servicepassword passwd --superpassword suppasswd --locale C --datadir "c:\pgsql\" --debuglevel 2 >> Show. Obrigado pessoal a todos que responderam. Abraços. Att, Paulo. --- Este email foi escaneado pelo Avast antivírus. https://www.avast.com/antivirus ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] REF: Instalação Silenciosa com Apache.
Olá Pessoal, Preciso configurar a instalação silenciosa do PostgreSQL 9.3, já habilitando o Apache. Alguém pode dar uma dica do comando? Obrigado. Atenciosamente, Paulo. vp_logo --- Este email foi escaneado pelo Avast antivírus. https://www.avast.com/antivirus ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: REF: OFF TOPIC: Hospegadem PostgreSQL 9x.
Obrigado pessoal a todos que responderam. Vamos analisar cada uma indicação e decidir o mais breve possível. Abraços a todos. Att, Paulo. --- Este email foi escaneado pelo Avast antivírus. https://www.avast.com/antivirus ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] REF: OFF TOPIC: Hospegadem PostgreSQL 9x.
Olá Pessoal, Hoje temos hospedados vários bancos hospedados na King Host - POA e desde janeiro as quedas no servidor se tornaram constante. Chegou no ponto máximo para nós e precisamos migrar para outra empresa. Alguém tem alguma dica de uma outra empresa com servidores estáveis? Obrigado. Atenciosamente, Paulo. Gerente de TI vp_logo --- Este email foi escaneado pelo Avast antivírus. https://www.avast.com/antivirus ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] REF: Lendo tipo Bytea
Olá Pessoal, Tenho um campo tipo bytea, nele gravo um conteúdo XML. Quando leio este conteúdo localmente retorna OK, porem em produção no servido web ele retorna em Hexa. Alguém pode dar uma dica ? Att, 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] ORM's
Em 10/11/2015 21:59, "Fabrízio de Royes Mello"escreveu: > > On 10-11-2015 20:35, Guimarães Faria Corcete DUTRA, Leandro wrote: > > 2015-11-10 20:32 GMT-02:00 Flavio Henrique Araque Gurgel < fha...@gmail.com>: > >> > >> http://www.jooq.org/ > > > > Tem alternativa livre? > > > > Conforme consta em [1] para bancos "open source" eles tem uma > alternativa utilizando a "Apache Software License 2.0". > > Att, > > [1] http://www.jooq.org/download/ > > -- >Fabrízio de Royes Mello Timbira - http://www.timbira.com.br/ >PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento > > > Eu gostava muito do padrão data table gateway do Zend framework 1. Criava a classe e apontava pra uma tabela no banco. Usava as abstrações pra insert, update e delete. Só! Eu não precisava escrever sql na mão pra fazer insert toda hora. E na hora do SELECT, fazia manual e colocava cada select dentro de um método, retornando sempre array de array. Era produtivo pra caramba e me dava uma flexibilidade sem igual. Mas há quem vai dizer que isso não é mapeamento objeto relacional. E até concordo, eu prefiro usar os objetos da linguagem pra abstrair os comportamentos e não as informações. Para os dados, eu prefiro trabalhar o mais próximo possível do modelo físico. Resumindo, eu tinha as classes de controller, por exemplo. Mas não tinha a classe de pessoa. Eu tinha a classe pessoaGateway que inseria, atualizava, apagava, e fazia as consultas na tabela de pessoa. Sempre retornando vetores de vetores. Como programador (de fato eu não sou dba), minha primeira preocupação é com a governança dos dados. A aplicação não vale nada, se os dados se perderem, ou não servirem para gerar informação. Por isso, na medida do possível eu fujo de orm. E um detalhe, vejo uma falácia sendo repetida diversas vezes, use orm e mude o SGBD quando quiser. Se você vai começar um projeto e não conseguir definir o SGBD, seu projeto já fracassou. Ah mas, a aplicação tem que rodar com o SGBD A e se o usuário quiser com o B. Recomendo estudar essa necessidade e analisar bem as diferenças. ___ > 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] RES: Aplicação que gere scripts DDL da diferença entre dois bancos
Achei que o problema era só comigo. Aqui ocorreu o mesmo, demora e não mostra o resultado. Att, Paulo. De: pgbr-geral [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Carlos Antônio Pereira (VidaUTI) Enviada em: sexta-feira, 16 de outubro de 2015 11:03 Para: Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] Aplicação que gere scripts DDL da diferença entre dois bancos Oi pessoal. Fiz um novo teste no apdiff e os resultados foram os seguintes: Comando 1) java -jar apgdiff --ignore-start-with db_old.sql db_new.sql > diferenca.sql Comando 2) java -jar apgdiff db_old.sql db_new.sql Não gerou o arquivo mas mostrou o resultado em tela; Gerou algumas constraints e triggers e nada mais. Sei que existem novas tabelas, views, funcoes, colunas... e nenhum desses objetos foram gerados. Os bancos estão no mesmo servidor (com a mesma versão do postgresql). Os amigos têm alguma sugestão? ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Buscar registros duplicados que tenham filhos associados
Caros, Dado o cenário: 1) tabela de convidados, onde convidados com o mesmo e-mail estão bagunçando o sistema. Deveria ter sido criada uma chave de unicidade, mas não foi. E agora, deu zebra. 2) tabela de pedidos, onde um convidado escolhe um determinado item. Estou com muita dificuldade para fazer um select que me mostre quais os convidados possuem pedidos, contudo gostaria de filtrar por convidados que possuem o mesmo e-mail duplicado (ou *3, *4, etc.). Eu montei o select abaixo que me retorna os resultados duplicados e os IDs dos convidados, mas empaquei aí. Como eu faço para dar um join com a tabela de convidados? select lower(no_email) email, count(no_email), array_agg(id_convidado) convidado from srm.convidado group by lower(no_email) having count(no_email)1 as tabelas estão assim: srm.pedido{ id_pedido, id_convidado . . . CONSTRAINT fk_convidado_pedido FOREIGN KEY (id_convidado) REFERENCES srm.convidado (id_convidado) MATCH SIMPLE ON UPDATE RESTRICT ON DELETE RESTRICT, } srm.convidado{ id_convidado, no_email . . . } A única constraint de convidado, é a da chave primária (id_convidado). Desde já agradecido pela ajuda. Atenciosamente, Paulo Vitor Bettini de Paiva Lima, CSM http://www.scrumalliance.org/community/profile/plima2 http://about.me/paulolima ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Buscar registros duplicados que tenham filhos associados
Em 14 de julho de 2015 09:28, Matheus de Oliveira matioli.math...@gmail.com escreveu: 2015-07-14 8:14 GMT-03:00 Paulo Vitor Bettini de Albuqerque Lima paulovitor...@gmail.com: 1) tabela de convidados, onde convidados com o mesmo e-mail estão bagunçando o sistema. Deveria ter sido criada uma chave de unicidade, mas não foi. E agora, deu zebra. 2) tabela de pedidos, onde um convidado escolhe um determinado item. Estou com muita dificuldade para fazer um select que me mostre quais os convidados possuem pedidos, contudo gostaria de filtrar por convidados que possuem o mesmo e-mail duplicado (ou *3, *4, etc.). Quando você diz mostre quais os confidados que possuem pedidos, a cláusula EXISTS vem à minha mente, fica bem parecido com sua consulta original: SELECT lower(c.no_email) email, count(c.no_email), array_agg(c.id_convidado) convidado FROM srm.convidado c WHERE EXISTS( SELECT 1 FROM srm.pedido p WHERE p.id_convidado = c.id_convidado ) GROUP BY lower(c.no_email) HAVING count(c.no_email) 1; A consulta acima vai trazer todo convidado que possui pedido e que exista outro convidado (que também possua pedido) e tenha o mesmo e-mail. Se você quiser filtrar por convidados com e-mail duplicado mesmo que somente um deles tenha pedido, penso no seguinte método: SELECT lower(c.no_email) email, count(c.no_email), array_agg(c.id_convidado) convidado FROM srm.convidado c WHERE EXISTS( SELECT 1 FROM srm.pedido p JOIN srm.convidado c2 ON p.id_convidado = c2.id_convidado WHERE lower(c2.no_email) = lower(c.no_email) ) GROUP BY lower(c.no_email) HAVING count(c.no_email) 1; Outra forma seria separar em subconsultas e fazer a junção. Não tenho certeza de cara qual seria mais eficiente, se não tiver muitos registros a consulta acima deve atender em tempo hábil. Valeu Matheus. A segunda forma fez exatamente o que eu precisava. As tabelas são pequenas (convidados com 400 linhas, e pedidos com 2000 linhas) e como eu preciso disso para fazer uma limpeza nesses convidados com emails duplicados, vai ser executado só uma vez. Aí eu vou apagar os registros sujos e colocar uma constraint pra evitar que essa situação se repita. Muito obrigado. Atenciosamente, -- Matheus de Oliveira ___ 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] RES: REF: Chamar Função dentro da Trigger.
Veja o código de exemplo: -- Cria a função que será usada no gatilho. -- É nesta função que você faz as chamadas às outras funções CREATE FUNCTION tf_trigger_function() RETURNS trigger AS $body$ BEGIN -- Aqui fica o código procedural com a chamada a outras funções RETURN NEW; END; $body$ LANGUAGE plpgsql; Valeu Thiago, obrigado pela dica. Abraços. Paulo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] REF: Chamar Função dentro da Trigger.
Olá Pessoal, É possível chamar uma função dentro de uma Trigger ? Obrigado. Paulo. PostgreSQL 9.1 (pl/pgsql) ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: REF: Trigger em Tabela Pai-Filho com Rateio.
Bom dia, Eu deixaria essa trigger na tabela pai, num after insert onde faria todas as alterações necessárias na tabela filha. Olá Targino, Infelizmente não dá, tem outros cálculos envolvidos e o rateio é um valor base para estes cálculos. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: REF: Trigger em Tabela Pai-Filho com Rateio.
Por que ao invés de você salvar o `valor_rateado` na tabela filha você não salva isso na tabela pai? Salvar na tabela filha é até uma desnormalização. Além disso, cuidado com condições de corrida (race conditions), se duas transações tentarem inserir lançamentos ao mesmo tempo, dependendo de como controlou sua lógica, vai ter problemas. Eu faria da seguinte forma, adiciona a coluna `valor_rateado` na tabela pai, e sua trigger (do tipo AFTER) ficará + ou - assim: BEGIN -- Garante que ninguém vai alterar o valor_rateado ao mesmo tempo PERFORM 1 FROM tabela_pai p WHERE p.codigo_pai = NEW.codigo_pai FOR UPDATE; -- O FOR UPDATE vai bloquear a tupla, para evitar race conditions -- Atualiza o valor_rateado na tabela pai UPDATE tabela_pai SET valor_rateado = valor_total / ( SELECT count(*) FROM tabela_filha f WHERE f.cod_pai = NEW.cod_pai ) WHERE p.codigo_pai = NEW.codigo_pai; RETURN NULL; END; Hu, interessante. Seria como a dica do Targino, mas com teu código ficou mais claro e estava preocupado em como evitar ‘race conditions’ . E ainda tem a vantagem, que ao gravar em cada item vindo do pai, os recálculos são executados, exatamente como pretendia. Vou tentar desta forma, acredito que vai funcionar. Obrigado Targino e Matheus pelas dicas. Abraços. Paulo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] REF: Somar Dias no Timestamp.
Olá Pessoal, Até agora, sempre somei no tipo DATE sem nenhum problema. Se executo a sentença abaixo: SELECT código, data_emissao, data_vencto + interval '30 days' AS vencto FROM receber; recebo os dados: 001 2015/06/15 2015/07/15 00:00:00 Preciso somar dias no Timestamp, dentro de uma função (pl/pgsql). v_vencto := new.data_emissao + (aqui, qual instrução ?) Alguém pode dar uma dica ? Obrigado. Paulo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: RES: REF: Somar Dias no Timestamp.
Simples: v_vencto := new.data_emissao + (vdias * interval '1 day'); Obrigado Matheus, como sempre na mosca! Abraços. Paulo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] REF: Trigger em Tabela Pai-Filho com Rateio.
Olá Pessoal, Tenho uma Tabela Pai -Filho. Na tabela Pai tenho um campo: valor_rateio e na tabela filho um campo: valor_rateado. Na tabela pai eu informo: valor_rateio = 60,00 e preciso ratear este valor a medida que vou lançando na tabela filho. Para fazer o rateio, tenho uma Trigger na tabela filho que após inserção, tem um SELECT COUNT() que conta numero de lanctos para poder ratear o valor. EX: Lancto - Código_- valor_rateado 010001 60,00 =count= 1 ou seja, 60 / 1 = 60,00 020122 30,00 =count= 2 ou seja, 60 / 2 = 30,00 032421 20,00 =count= 3 ou seja, 60 / 3 = 20,00 043122 15,00 =count= 4 ou seja, 60 / 4 = 15,00 Até aqui tudo 100%, então a pergunta que faço é a seguinte: Preciso dar um UPDATE em cada lancto para poder atualizar o campo valor_rateado, ou seja, no final todos os lancto devem estar com 15,00. O problema é que a Trigger pertence a tabela filho, então como posso ir atualizando a medida que ou lançando ?? Caso não tenha ficado claro, posso explicar de outra maneira. Alguém pode dar uma dica ? Obrigado. Paulo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] REF: Substituir Caracteres com TRANSLATE.
Olá Pessoal, Preciso substituir caracteres em tempo de execução e estou tentando: SELECT TRANSLATE(info_fisco, 'var2', '0.65') from cfop where cod_ cfop = '5102'; PERMITE O APROVEITAMENTO DE CREDITO DE ICMS NO VALOR DE R$ var1 CORRESPONDENTE À ALIQUOTA DE var2% , NOS TERMOS DO ART 23 DA LC 123 -Primeiro select 100%., no Segundo: SELECT TRANSLATE(info_fisco, 'var1', '123.45') from cfop where cod_ cfop = '5102'; Ele arredonda o 123.45 para 123. E ignora os centavos. Outra duvida ? Teria como alterar as duas variáveis num mesmo select ? Alguém pode dar alguma dica. Obrigado. Paulo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: REF: Substituir Caracteres com TRANSLATE.
Ele não arredonda, acontece que o translate não serve para o que você quer, e você está completamente errado em tentar utilizá-lo desta forma. No caso você pode simplesmente usar o replace: SELECT replace(replace(info_fisco, 'var1', '0.65'), 'var2', '123.45') ... Veja em [1] para mais detalhes e exemplos dessas funções. Entenda a translate e veja se não está utilizando-a em outras situações dessa maneira. Muitíssimo obrigado pessoal, replace se encaixou bem pro meu problema. Agradeço a todos que responderam. Abraços, Paulo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] REF: SELECT com EXECUTE.
Olá Pessoal, Estou tentando executar um SELECT com EXECUTE, porém não estou conseguindo. CREATE OR REPLACE FUNCTION aliquota_cliente (ufCliente char(2), p_cfop char(5)) RETURNS integer AS $$ DECLARE resultado integer ; BEGIN EXECUTE 'SELECT '|| ufCliente ||' INTO resultado FROM cfop WHERE cod_cfop = '||'p_cfop'; RETURN resultado; END; $$ LANGUAGE plpgsql; -- Retorna o seguinte erro: --- ERRO: coluna p_cfop não existe LINE 1: SELECT sp_ INTO resultado FROM cfop WHERE cfop = p_cfop ^ QUERY: SELECT sp_ INTO resultado FROM cfop WHERE cfop = p_cfop CONTEXT: PL/pgSQL function aliquota_cliente line 5 at comando EXECUTE ** Error ** ERRO: coluna p_cfop não existe --- Alguém pode dar uma dica ?? Obrigado. Paulo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: REF: SELECT com EXECUTE.
Assim vai ? EXECUTE 'SELECT '|| ufCliente ||' INTO resultado FROM cfop WHERE cod_cfop = ' || p_cfop; Já tinha Tentado, retorna o seguinte erro: ERRO: operador não existe: character varying = integer LINE 1: SELECT sp INTO resultado FROM cfop WHERE cfop = 5102 ^ HINT: Nenhum operador corresponde com o nome e o(s) tipo(s) de argumento(s) informados. Você precisa adicionar conversões de tipo explícitas. QUERY: SELECT sp_ INTO resultado FROM cfop WHERE cfop = 5102 CONTEXT: PL/pgSQL function aliq_cli line 5 at comando EXECUTE ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: REF: SELECT com EXECUTE.
DECLARE v_sql text; ... v_sql := format('SELECT %I FROM cfop WHERE cod_cfop = $1', ufCliente); RAISE NOTICE 'SQL: %', v_sql; -- não necessário, só para visualizar EXECUTE v_sql INTO resultado USING p_cfop; RETURN resultado; ... Show de bola, grande Matheus, 100% funcional. Agradeço a todos os colegas que responderam. Abraços, Paulo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: erro 1053 no windows 8.1
On 28-04-2015 08:41, Vilson wrote: Instalei o postgresql 9.4 no windows 8.1 e funcionou bem. Mas comesou dar a mensagem 1053 o serviço não respondeu a requisição de controle em tempo hábil. E não consegui mais funcionar. Alguém já passou por isso? Isso não é um problema do postgres e sim do windows [1]. Atualize o .Net Framework. [1] https://support.microsoft.com/en-us/kb/839174/pt-br Tenho uma maquina de desenvolvimento com Win 8.1 e a versão 9.4 esta 100%. Deve ser falta de alguma atualização. Att, Paulo. VisualP Sistemas. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] db_link
Bom dia, alguem poderia me indicar um material de db_link para a versão 9.2 do postgreSql. De preferencia que apresentasse exemplos. Obrigado pela atenção Paulo Almeida ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Consulta lenta
Em 13 de março de 2015 13:47, Junior Miranda flmirandajun...@gmail.com escreveu: Tentei fazer isso, é uma mudança de cultura e não foi bem recebida... outros bancos, como firebird, essa lentidão não é tão acentuada... Alguma sugestão dentro deste cenário?? Já pensou em fazer paginação? Mostrar de 100 em 100 registros, ou de 10 em 10, e assim por diante. Júnior Miranda *Analista de Sistemas* *Especializando em Sistemas Computacionais* *E-mail: flmirandajun...@gmail.com flmirandajun...@gmail.com* *Tel.: *(75) 9191-1678/ 34143042/ 34143149/ 34143020 Em 13 de março de 2015 13:43, Vinicius Santos vinicius.santos.li...@gmail.com escreveu: Porque não força o usuário a fazer o filtro antes? Abra a tabela depois que tiver o filtro. Em 13 de março de 2015 13:34, Junior Miranda flmirandajun...@gmail.com escreveu: O usuário visualiza todos num grid e a partir dai realiza os filtros que desejar. Júnior Miranda *Analista de Sistemas* *Especializando em Sistemas Computacionais* *E-mail: flmirandajun...@gmail.com flmirandajun...@gmail.com* *Tel.: *(75) 9191-1678/ 34143042/ 34143149/ 34143020 Em 13 de março de 2015 13:32, Junior Miranda flmirandajun...@gmail.com escreveu: Tenho uma consulta de produtos que possue, no momento, 20 mil registros. Infelizmente para esta consulta eu precisaria retornar todos para que a partir dai o usuário pudesse realizar os seus filtros. Com essa quantidade de registros apresenta uma lentidão na abertura da pesquisa. Não fetch X em X por que nem sem ele consegui retornar os registros. Júnior Miranda *Analista de Sistemas* *Especializando em Sistemas Computacionais* *E-mail: flmirandajun...@gmail.com flmirandajun...@gmail.com* *Tel.: *(75) 9191-1678/ 34143042/ 34143149/ 34143020 Em 13 de março de 2015 13:27, Matheus de Oliveira matioli.math...@gmail.com escreveu: 2015-03-13 13:26 GMT-03:00 Junior Miranda flmirandajun...@gmail.com: A questão é que inicialmente precisarei retornar todos os registro, e como a tendência é que eles aumentem um pouco, precisaria fazer FETCH de X em X para diminuir o gargalo na abertura. A tendência é que com o aumento essa lentidão aumente... Poucas informações para que possamos ajudar. Você diz pra fazer de X em X, mas você não fez isso. Pode compartilhar conosco o uso de tantos registros assim? Atenciosamente, -- Matheus de Oliveira Analista de Banco de Dados Dextra Sistemas - MPS.Br nível F! www.dextra.com.br/postgres ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ 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
[pgbr-geral] RES: REF: Tabela Filho se comportar como Tabela Pai.
tabela PAI, todos são excluído nos filhos, até aqui tudo OK. Se for excluído um produto da tabela ITENS, é possível fazer com que exclua apenas este produto em questão da tabela PEÇAS??? Pra mim parece que você já resolveu seu problema. Você já tem a FK `fk_produto` de `pedpecas` para a PK de `peditens`, e marcada com `ON DELETE CASCADE`, logo ao excluir um registro de `peditens` que tenha registros relacionados em `pedpecas`, os últimos já serão excluídos. Não era isso que você queria? Olá Mateus, Exatamente isso que preciso. Ocorre que quando vou rodar o script, recebo a seguinte mensagem: ERRO: não há restrição de unicidade que corresponde com as colunas informadas na tabela referenciada peditens Pode dar uma dica ? --- Este email foi escaneado pelo Avast antivírus. http://www.avast.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: RES: REF: Tabela Filho se comportar como Tabela Pai.
Eu não tinha reparado, tem mesmo um erro no script (mas creio que daria outra mensagem), enfim, você colocou a criação da CONSTRAINT na frente da coluna, mas sua FK referencia duas e não uma só coluna, a correção seria: CREATE TABLE pedpecas ( idpedido integer CONSTRAINT fk_pedido REFERENCES pedidos (idpedido) ON DELETE CASCADE, idproduto integer, idpecas integer CONSTRAINT fk_pecas REFERENCES pecas (idpecas), qtde_pecas integer default 0, CONSTRAINT pk_pedpecas PRIMARY KEY (idpedido,idproduto,idpecas), CONSTRAINT fk_produto FOREIGN KEY (idpedido, idproduto) REFERENCES peditens (idpedido,idproduto) ON DELETE CASCADE ); Repare que eu movi a fk_produto (que aliás me parece um nome ruim) para o final ao invés de ficar junto com a coluna idproduto. Show Matheus, na Mosca. Exatamente o que eu precisava. Agradeço a todos os que responderam. Abraços, Paulo. --- Este email foi escaneado pelo Avast antivírus. http://www.avast.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: Tabela Filho se comportar como Tabela Pai.
Olá Pessoal, Estou precisando de uma dica. Tenho as seguintes tabelas: CREATE TABLE pedidos ( idpedido serial PRIMARY KEY, idcliente integer CONSTRAINT fk_pedido_cliente REFERENCES clientes (idcliente), datapedido date default now(), situacao varchar(1) ); CREATE TABLE peditens ( idpedido integer CONSTRAINT fk_pedido REFERENCES pedidos (idpedido) ON DELETE CASCADE, idproduto integer CONSTRAINT fk_produto REFERENCES produtos (idproduto), qtde_item integer default 0, CONSTRAINT pk_peditens PRIMARY KEY (idpedido,idproduto) ); CREATE TABLE pedpecas ( idpedido integer CONSTRAINT fk_pedido REFERENCES pedidos (idpedido) ON DELETE CASCADE, idproduto integer CONSTRAINT fk_produto REFERENCES peditens (idpedido,idproduto) ON DELETE CASCADE, (**AQUI**) idpecas integer CONSTRAINT fk_pecas REFERENCES pecas (idpecas), qtde_pecas integer default 0, CONSTRAINT pk_pedpecas PRIMARY KEY (idpedido,idproduto,idpecas) ); Se excluir um pedido da tabela PAI, todos são excluído nos filhos, até aqui tudo OK. Se for excluído um produto da tabela ITENS, é possível fazer com que exclua apenas este produto em questão da tabela PEÇAS??? Agradeço qualquer dica. Att, Paulo. --- Este email foi escaneado pelo Avast antivírus. http://www.avast.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: INSERT tem mais expressões do que colunas alvo.
Olá Pessoal, Estou estranhando este erro. Não consegui achar o problema. Os dados estão vindo de um XML de retorno do banco. Não sei se é algum tipo de dado estranho, causando isso. CREATE TABLE tabela_ofx ( idreg serial NOT NULL, datalan date NOT NULL, valorlan numeric(18,2), trancrdr character varying(10), tranidbc character varying(10), checknum character varying(20), refnum character varying(20), tramemo character varying(200), CONSTRAINT pk_idreg PRIMARY KEY (idreg ) ); INSERT INTO tabela_ofx (datalan, valorlan, trancrdr, tranidbc, checknum, refnum, tramemo) VALUES ('2015-01-07', 533,57, 'CREDIT', 'N10043', '1911127', '', 'RESGATE DE PAPEIS'); ERRO: INSERT tem mais expressões do que colunas alvo LINE 4: ...1-07', 533,57, 'CREDIT', 'N10043', '1911127', '', 'RESGATE D... ** Error ** ERRO: INSERT tem mais expressões do que colunas alvo SQL state: 42601 Character: 159 ALGUMA DICA ? Obrigado, Paulo. --- Este email foi escaneado pelo Avast antivírus. http://www.avast.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: REF: INSERT tem mais expressões do que colunas alvo.
Buenas Acho que o problema e seu valor numerico, ele esta usando , em vez de . []s Luiz Caramba!!! Deve ser o retorno das férias que ainda o cérebro não assimilou. Na mosca pessoal, era o campo Valor. Obrigado a todos que responderam. Abraços. Paulo. --- Este email foi escaneado pelo Avast antivírus. http://www.avast.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: REF: INFORMAR SINAL DxC.
Seu case retonar um text e ele é comparado com o 0 que é integer. Coverta o 0 para text. postgres=# select coalesce('0'::text, 0); ERROR: COALESCE types text and integer cannot be matched LINE 1: select coalesce('0'::text, 0); ^ postgres=# select coalesce('0'::text, 0::text); coalesce -- 0 (1 row) []s FUNCIONOU LEGAL, OBRIGADO PESSOAL, A TODOS OS QUE RESPONDERAM. ABRAÇOS, PAULO. --- Este email foi escaneado pelo Avast antivírus. http://www.avast.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: INFORMAR SINAL DxC.
OLÁ PESSOAL, PRECISO COLOCAR SINAIS NOS MEUS SALDOS E PRECISO DE UMA DICA. EXECUTANDO A SENTENÇA ABAIXO: SELECT pl.classificacao , pl.descricao , coalesce( ( SELECT sum (lcx.valor) FROM consolidado lcx WHERE lcx.datalan '2014-01-01' ),0) AS saldo_anterior; RETORNO: -48071.06 -25620.64 -1.00 -31.15 -1200.00 -25000.00 1200.00 25000.00 -2.00 -20080.00 2.00 PRECISO COLOCAR SINAIS DE 'D' PARA NEGATIVOS E 'C' PARA POSITIVOS. ESTOU TENTANDO ALGO ASSIM: - 48071.06D 25620.64D 1.00D 31.15D 1200.00D 25000.00D 1200.00C 25000.00C 2.00D 20080.00D 2.00C ESTOU TENTADO ALGO DO TIPO: --- SELECT pl. classificacao , pl.descricao , coalesce( ( SELECT CASE WHEN sum (lcx.valor) 0 THEN ABS(sum (lcx.valor))||'D' WHEN sum (lcx.valor) 0 THEN ABS(sum (lcx.valor))||'C' ELSE '*' END FROM consolidado lcx WHERE lcx.datalan '2014-01-01' ),0) AS saldo_inicial RETORNA O ERRO: --- ERRO: tipos no COALESCE text e integer não podem corresponder LINE 22:),0) AS saldo_inicial COLOCAR SUM() NO CASE, SERIA A MELLHOR OPÇÃO ? ALGUEM PODE DAR UMA DICA ? OBRIGADO. PAULO. --- Este email foi escaneado pelo Avast antivírus. http://www.avast.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: SLONY - Todas as tabelas.
Olá Pessoal, Estou configurando o Slony e os testes estão 100%. Pesquisei no manual do Slony e não achei, então gostaria de perguntar. Hoje, especifico as tabelas uma a uma, #tabelas que serão replicadas set add table (set id=1, origin=1, id=1, fully qualified name='public.cliente'); set add table (set id=1, origin=1, id=1, fully qualified name='public.vendas'); set add table (set id=1, origin=1, id=1, fully qualified name='public.produto'); Temo com informar todas as tabelas de um determinado schema ? Alguém pode dar um dica ? Obrigado. Paulo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: REF: SLONY - Todas as tabelas.
... mas se não tiver faça um script com psql. [1] http://www.slony.info/documentation/2.2/stmtsetaddtable.html Olá Euler, A versão do Slony é a 2.2. Estou pesquisando este link enviado. Obrigado pela dica. Att, Paulo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: REF: Calcular tempo de operação.
Olá Flavio, Funciona ? Que bom. Pode dar um exemplo ? Obrigado. Paulo. -Mensagem original- De: pgbr-geral [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Flavio Henrique Araque Gurgel Enviada em: quarta-feira, 19 de novembro de 2014 07:02 Para: pgbr-geral@listas.postgresql.org.br Assunto: Re: [pgbr-geral] REF: Calcular tempo de operação. Pensei usar Window Function mas parece que não suporta timestamp. Parece? De onde saiu essa afirmação. Sim, suporta. Alguém pode dar uma dica ? Window Function []s Flavio Gurgel ___ 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] RES: RES: REF: Calcular tempo de operação.
http://www.bau-de-dev.com/banco-de-dados/postgresql/exemplo-de-uso-de-wind ow-functions-no-postgresql http://www.dextra.com.br/window-functions-no-postgresql-parte1/ http://www.dextra.com.br/window-functions-no-postgresql-parte-2/ Flávio, Nenhum destes exemplos trabalha com tipo de dado timestamp. Eu preciso fazer exatamente como faço com meus valores, Ex: SUM(valor) OVER(PART BY conta ORDER BY conta,valor) as Total, Qual função de grupo devo usar para realizar o mesmo resulta com timestamp? Estou recorrendo aqui, porque já busquei no Google mas não encontrei nenhum exemplo. Obrigado. Paulo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: RES: RES: REF: Calcular tempo de operação.
Qual função de grupo devo usar para realizar o mesmo resulta com timestamp? Acho que você precisava exatamente da terceira parte dos artigos nos últimos links, aquele que ainda não escrevi (foi mal)... Mas então, pelo que entendi o resultado que você quer apresentar é a diferença entre os timestamp's, ou seja o resultado vai ser um interval. Daí você faria usando a função lag (lag retorna o valor da linha anterior ou NULL caso seja a primeira, ou primeira da partição). Exemplo: Mateus, exatamente o que eu precisava. Show de bola. Obrigado a todos os que responderam. Abraços. Paulo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] REF: Calcular tempo de operação.
Olá pessoal, Tenho um select que me retorna. Usuário - ação - data_hora acesso: Luciano;access;2014-06-10 16:38:56 Luciano;access;2014-06-10 16:40:54 Luciano;access;2014-06-10 16:41:03 Luciano;access;2014-06-10 16:44:03 Luciano;access;2014-06-10 16:45:34 Luciano;access;2014-06-10 16:46:08 Preciso calcular linha a linha o tempo que usuário realizou a operação. Usuário - ação - data_hora acesso - tempo: Luciano;access;2014-06-10 16:38:56-tempo Luciano;access;2014-06-10 16:40:54,2:04 Luciano;access;2014-06-10 16:41:03,1:04 Luciano;access;2014-06-10 16:44:03,3:00 Luciano;access;2014-06-10 16:45:34,1:30 Luciano;access;2014-06-10 16:46:08,1:34 Pensei usar Window Function mas parece que não suporta timestamp. Alguém pode dar uma dica ? Att, Paulo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] REF: Ao moderador.
Olá moderador, recebo mas não consigo enviar. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] REF: Trigger em todas as tabelas.
Olá Pessoal, Preciso criar uma trigger para todas as tabelas. Executo a sentença, mas não grava nas tabelas. SELECT 'CREATE TRIGGER minha_trigger AFTER INSERT OR UPDATE OR DELETE ON '||tablename||' FOR EACH ROW EXECUTE PROCEDURE funcao_minha_trigger();' FROM pg_tables WHERE schemaname = 'public'; Se copio o retorno da sentença acima e executo manualmente ele grava normalmente. CREATE TRIGGER minha_trigger AFTER INSERT OR UPDATE OR DELETE ON tabela FOR EACH ROW EXECUTE PROCEDURE funcao_minha_trigger(); Alguém poderia me mostrar o problema ? Obrigado. Paulo. PostgreSQL 9.1 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: REF: Trigger em todas as tabelas.
Obrigado Douglas, vou testar. Att, Paulo. Paulo, esse comando de cima somente gera o select para vc executar manualmente. caso queira que esse retorno ja execute utilize o exemplo abaixo BEGIN TRANSACTION; DO $$DECLARE r record; DECLARE s TEXT; BEGIN FOR r IN select c.table_schema,c. table_name from information_schema.tables t inner join information_schema.columns c on c.table_catalog = t.table_catalog and c.table_schema = t.table_schema and c.table_name = t.table_name left join information_schema.key_column_usage u on c.table_catalog = u.table_catalog and c.table_schema = u.table_schema and c.table_name = u.table_name and c.column_name = u.column_name where t.table_type='VIEW' and c.table_schema not like '%pg%' and c.table_schema ='dah' C.COLUMN_NAME like 'hash%' group by 1,2 LOOP s := 'DROP VIEW ' || quote_ident(r.table_schema) || '.' || quote_ident(r.table_name) || ';'; EXECUTE s; RAISE NOTICE 's = % ',s; END LOOP; END$$; ROLLBACK TRANSACTION; ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Versão de Banco
Senhores, atualmente trabalho com a versão 9.2.3 do PostgreSQL. Estou pensando em atualizar para versão 9.3. O que vocês me aconselham? Muito obrigado pela atenção. Att Paulo Roberto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] pacote de inicialização incompleto
Senhores(as), Estou com a mensagem 2014-10-16 12:01:17 BRT LOG: pacote de inicializa??o incompleto sendo registrada no log de meu servidor de 02 em 02 minutos. Já sei ao que se refere a mesma. Graças as varias e brilhantes ajudas do grupo. Porém até o momento não consegui identificar sua origem. Ou seja onde fica o processo que emite esta mensagem. Alguem poderia ajudar-me com a origem? Como posso fazer para aumentar este intervalo das mensagens ou até suprimi-la. Certo da atenção agradeço a todos que puderem colaborar. Att Paulo Roberto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] sql - como montar uma view para tabela de historico
Caros, Tenho um sistema velho e fedido, feito sem nenhum padrão, um lixo total. Mas eu tenho que dar manutenção nessa porquera... Então, vamos ao problema: Gostaria de criar uma view para sumarizar por estado, a quantidade de unidades que estão em cada um dos status. Vamos as tabelas: unidade: nome text, cod_ibge text, id serial NOT NULL parecer_unidade id bigserial NOT NULL, idunidade text, status text, obs text, gestor_estado text NOT NULL, hora_data timestamp with time zone DEFAULT now(), municipio codigo text NOT NULL, nome text, sigla_estado text, Senhores, dado o ambiente catastrófico, falta de indices, relacionamentos (fk), chave das tabelas que não batem o tipo, etc... Detalhe, a tabela parecer_unidade, é uma tabela de histórico, toda movimentação do status da unidade, fica registrado lá, por exemplo: unidade: nome=brasilia1,cod_ibge=1234,id=1 nome=saopaulo2,cod_ibge=1235,id=2 nome=brasilia2,cod_ibge=1234,id=3 parecer_unidade: id=1,idunidade=1,status=nao atende as regras, data=25/09/2014 13:00:00 id=2,idunidade=1,status=atende as regras,data=26/09/2014 15:00:00 id=3,idunidade=2,status=nao atende as regras, data=25/09/2014 13:00:00 id=4,idunidade=3,status=atende as regras,data=26/09/2014 15:00:00 O que deveria vir na view: uf=DF,status=nao atende as regras, qtde=1 uf=DF,status=atende as regras, qtde=2 uf=SP,status=nao atende as regras,qtde=1 Estou com dificuldades porque não posso alterar as tabelas que tenho hoje, a única coisa que me foi liberado foi criar views. Alguém pode me ajudar? Eu só consigo pensar numa solução usando sub-selects. Penso que deve ter algo melhor. Atenciosamente, Paulo Vitor Bettini de Paiva Lima, CSM http://www.scrumalliance.org/community/profile/plima2 http://about.me/paulolima ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] sql - como montar uma view para tabela de historico
Em 26/09/2014 22:07, Sebastian Webber sebastian...@gmail.com escreveu: Boa noite! 2014-09-26 16:10 GMT-03:00 Paulo Vitor Bettini de Albuqerque Lima paulovitor...@gmail.com: Estou com dificuldades porque não posso alterar as tabelas que tenho hoje, a única coisa que me foi liberado foi criar views. Alguém pode me ajudar? Eu só consigo pensar numa solução usando sub-selects. Penso que deve ter algo melhor. A view[1] é, falando de forma groceira, um select salvo no banco. Para solucionar teu problema, tudo o que precisas é criar o select (com os subselects que citaste) e cria-la com o comando abaixo: CREATE VIEW minha_super_view AS SELECT Dá uma olhada nada doc[1] pra ver se fica mais claro. Eu sei como criar uma view. Eu só não gostei da minha solução com subqueries. Explicando um pouco melhor o problema. Esse cenário se repete 4 vezes. Tenho 4 tabelas de pareceres cada uma salvando histórico de um tipo de unidades. Eu não posso colocar aqui os nomes reais das tabelas por conta de um tratado de confidencialidade. Eu quero evitar ao máximo criar uma view com 4 unions e cheia de subqueries. Por isso recorri aos gurus da lista. [1] http://www.postgresql.org/docs/9.3/static/sql-createview.html -- Sebastian Webber http://swebber.me ___ 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] Audit trigger 91plus
Em 15/09/2014 19:42, Alessandro Lima grandegoia...@gmail.com escreveu: Tenho interesse de utilizar e contribuir se vc publicar. Vinicius, vou preparar o código para publicar, mas não tenho experiência neste processo de publicar projeto open source, basta criar um mailing list no google groups e publicar no github? posso usar a licença GPL 3 mesmo? Na minha opinião nem precisa de mailing list. Só um readme bem feito e o código disponível no github já está ótimo. Atenciosamente, Alessandro Lima email grandegoia...@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
[pgbr-geral] prepare/execute
Caros colegas, estou tentando usar o prepare/execute para aumentar a velocidade de uma função que lê mais de 1.000.000 de registros. 1. Alguem poderia me auxiliar, informando se há um impacto sinificativo nesta utilização. Ou seja vale a pena utilizar os comandos. 2. Como faço para colocar o resultado da execução em uma variavel? Gostaria de ter o resultado da select em um variável. Estou usando as intruções abaixo: PREPARE query_handle (integer) as select id from socic.pessoa where id_telefone_atual = $1; Execute query_handle(telefone_id); Quando executo no pgadmin funciona normalmente. Quando executo a função que tem as instruções da o seguinte erro; ERRO: função query_handle(integer) não existe LINE 1: SELECT query_handle(telefone_id) ^ HINT: Nenhuma função corresponde com o nome e os tipos de argumentos informados. Você precisa adicionar conversões de tipo explícitas. QUERY: SELECT query_handle(telefone_id) CONTEXT: PL/pgSQL function migracao.limpa_telefone_duplicado2() line 36 at comando EXECUTE NOTA: Query NULL Antecipadamente agradeço qualquer ajuda. Paulo Roberto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] REF: RETORNO DE SALDO - WINDOW FUNCTION
Show de bola, muito bom mesmo, exatamente o que eu precisava. Obrigado Mateus e Emerson pelas preciosas dicas. Att, Paulo. 2014-09-04 23:21 GMT-03:00 Paulo Pereira pa...@visualpsistemas.com.br: Tenho duas tabelas: Tabela Saldos das Contas e Tabela Saidas. EX: TABELA SALDOS: CONTA|SALDO 200 | 200.00 201 | 500.00 Tenho o seguinte sentença que me retorna a soma das contas, como segue: SELECT row_number() OVER(PART BY conta ORDER BY conta,valor), setor, valor, conta, SUM(valor) OVER(PART BY conta ORDER BY conta,valor) as Total FROM saidas ORDER BY conta. RETORNO: 1-1-200-50.00-50.00 2-1-200-60.00-110.00 3-1-200-50.00-160.00 1-1-201-80.00-80.00 2-1-201-40.00-120.00 3-1-201-30.00-150.00 Preciso buscar o saldo de cada conta da tabela saldos para ficar assim: SALDO 200.00 1-1-200-50.00-250.00 2-1-200-60.00-310.00 3-1-200-50.00-360.00 SALDO 500.00 1-1-201-80.00-580.00 2-1-201-40.00-620.00 3-1-201-30.00-650.00 Alguem pode dar uma dica ? Eu faria usando UNION ALL, da seguinte forma: SELECT 1 AS tipo, NULL::bigint, NULL::integer AS setor, NULL::numeric AS valor, conta, saldo AS Total FROM saldo UNION ALL SELECT 2 AS tipo, row_number() OVER(PARTITION BY conta ORDER BY valor), setor, valor, conta, SUM(valor) OVER(PARTITION BY conta ORDER BY valor) as Total FROM saidas ORDER BY conta, tipo, valor Assim, na aplicação você só itera os registros (que já virão ordenados), quando tipo for 1 é saldo, quando tipo for 2 é conta. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] REF: RETORNO DE SALDO - WINDOW FUNCTION
Olá Pessoal, Tenho duas tabelas: Tabela Saldos das Contas e Tabela Saidas. EX: TABELA SALDOS: CONTA|SALDO 200 | 200.00 201 | 500.00 Tenho o seguinte sentença que me retorna a soma das contas, como segue: SELECT row_number() OVER(PART BY conta ORDER BY conta,valor), setor, valor, conta, SUM(valor) OVER(PART BY conta ORDER BY conta,valor) as Total FROM saidas ORDER BY conta. RETORNO: 1-1-200-50.00-50.00 2-1-200-60.00-110.00 3-1-200-50.00-160.00 1-1-201-80.00-80.00 2-1-201-40.00-120.00 3-1-201-30.00-150.00 Preciso buscar o saldo de cada conta da tabela saldos para ficar assim: SALDO 200.00 1-1-200-50.00-250.00 2-1-200-60.00-310.00 3-1-200-50.00-360.00 SALDO 500.00 1-1-201-80.00-580.00 2-1-201-40.00-620.00 3-1-201-30.00-650.00 Alguem pode dar uma dica ? Obrigado. Paulo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: REF: ALTERAR TAMANHO DA COLUNA.
E ai Amigo deu ceto no exemplo que enviei? posta ai para no futuro alguem precisar ja tem a resposta.. -- Douglas Fabiano Specht Olá Pessoal, Douglas, estou tentando ajustar a tua PL e assim que terminar eu aviso. Obrigado a todos os que responderam. Att, Paulo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] REF: ALTERAR TAMANHO DA COLUNA.
Olá Pessoal, Preciso alterar todas as colunas numeric(15.2) para numeric(18.2). Existe uma forma de alterar todas as tabelas do banco, sem ter que ir uma a uma ? Agradeço qualquer dica. Obrigado. Paulo. --- Este email está limpo de vírus e malwares porque a proteção do avast! Antivírus está ativa. http://www.avast.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] Recomendação de cursos
Também indico a 4Linux. Os cursos lá são muito bons! Eu fiz o curso lá e recomendo! Em Quinta-feira, 5 de Junho de 2014 15:11, Cleysson Lima listapostgre...@gmail.com escreveu: Fiz o curso na 4Linux, foi show de bola. Recomendo muito o curso da TIMBIRA, profissionais excelentes! Em 4 de junho de 2014 11:20, Rosana de Oliveira rosana.pi...@gmail.com escreveu: Em 3 de junho de 2014 23:01, Vinícius Aquino do Vale aquino.v...@gmail.com escreveu: O Curso de Postgresql da 4Linux é um dos melhores. http://www.4linux.com.br/cursos/postgreSQL-alta-performance 2014-06-03 13:39 GMT-03:00 JotaComm jota.c...@gmail.com: +1 2014-06-03 12:43 GMT-03:00 Guimarães Faria Corcete DUTRA, Leandro l...@dutras.org: 2014-06-03 11:55 GMT-03:00 Alessandro Lima grandegoia...@gmail.com: Recomendam os cursos da timbira.com.br: Recomendo tudo da Timbira. -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (61) 3546 7191 gTalk: xmpp:leand...@jabber.org +55 (61) 9302 2691 ICQ/AIM: aim:GoIM?screenname=61287803 BRAZIL GMT−3 MSN: msnim:chat?contact=lean...@dutra.fastmail.fm ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- 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 Fiz o curso na 4Linux e na Dextra Gostei muito da 4 Linux e a recomendo!!! -- Rosana de Oliveira Santos ___ 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
[pgbr-geral] REF: Sentenca SQL não retorna dados corretamente.
Ola Pessoal, Preciso emitir uma lista de clientes ausentes nas reunioes. A sentença abaixo retorna exatamente o pessoal ausente: SELECT id_cliente,id_setor,data_cad FROM cliente t1 WHERE NOT EXISTS (SELECT 1 FROM reuniao t2 WHERE t1.id_cliente = t2.id_cliente and t2.controle_reuniao = 3) Porem, preciso filtrar pela data cadastro e ocorre que nao esta obedecendo retornando todos os clientes. SELECT id_cliente,id_setor,data_cad FROM cliente t1 WHERE NOT EXISTS (SELECT 1 FROM reuniao t2 WHERE t1.id_cliente = t2.id_cliente and t2.controle_reuniao = 3 and t1.data_cad between '2014-01-01' and '2014-12-31') Alguem pode dar uma dica ? Obrigado. Paulo. --- Este email está limpo de vírus e malwares porque a proteção do avast! Antivírus está ativa. http://www.avast.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: REF: Sentenca SQL não retorna dados corretamente.
Em 05/06/14, Paulo Pereirapa...@visualpsistemas.com.br escreveu: Ola Pessoal, Preciso emitir uma lista de clientes ausentes nas reunioes. A sentença abaixo retorna exatamente o pessoal ausente: SELECT id_cliente,id_setor,data_cad FROM cliente t1 WHERE NOT EXISTS (SELECT 1 FROM reuniao t2 WHERE t1.id_cliente = t2.id_cliente and t2.controle_reuniao = 3) Porem, preciso filtrar pela data cadastro e ocorre que nao esta obedecendo retornando todos os clientes. SELECT id_cliente,id_setor,data_cad FROM cliente t1 WHERE NOT EXISTS (SELECT 1 FROM reuniao t2 WHERE t1.id_cliente = t2.id_cliente and t2.controle_reuniao = 3 and t1.data_cad between '2014-01-01' and '2014-12-31') Alguem pode dar uma dica ? Esta cláusula: and t1.data_cad between '2014-01-01' and '2014-12-31' deve realmente estar no subselect? Não me parece estar correlacionada à tabela reuniao e sim à cliente. Osvaldo ___ Ola Osvaldo, Sim, a coluna t1.data_cad pertence a tabela clientes, é de lá que pretendo filtrar. Att, Paulo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: RES: REF: Sentenca SQL não retorna dados corretamente - Resolvido.
Ola Osvaldo, Sim, a coluna t1.data_cad pertence a tabela clientes, é de lá que pretendo filtrar. Paulo, o que o Osvaldo quis dizer é que esse filtro deveria estar fora da subconsulta, assim: SELECT id_cliente,id_setor,data_cad FROM cliente t1 WHERE NOT EXISTS ( SELECT 1 FROM reuniao t2 WHERE t1.id_cliente = t2.id_cliente AND t2.controle_reuniao = 3 ) AND t1.data_cad BETWEEN '2014-01-01' AND '2014-12-31' Ainda mais, qual o tipo do campo data_cad, se for timestamp ou timestamptz, a consulta acima está incorreta. Putz pessoal, desculpem a monstruosa falha. R. Claro era isso, agora funcionou 100%. Obrigado ao Osvaldo e Matheus. Att, Paulo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Processamento no banco PostgreSQL
Bom dia Tenho uma aplicação web, que está rodando em um servidor com Windows 2008 server na Amazon. Esta aplicação não é muito grande e a base é bem enchuta (12MB) Acontece que em algum momento o servidor apache começa a manter as conexões abertas e o processamento desses processos do banco ficam ocupando 100%, mesmo não havendo uso da aplicação. entrei no pg_stat_activity, e olhei pelo pid da conexão se havia alguma consulta presa e lá aparece apenas unlisten* no pid que está com processamento alto O banco é da versão 9.2 e o servidor tem 4GB de memória, sendo que o uso de memória é bem baixo. Alguém já passou por algum problema semelhante a este??? ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Uso de partições
Em 20/02/2014 22:22, Danilo Silva danilo.dsg.go...@gmail.com escreveu: Pessoal, Atualmente, o que é indicado particionar? Penso em criar uma partição para as bases (utilizando tablespace) e uma partição para os logs de transação. cada particionamento faz com que o cabecode o hd vai muito de lado e do ourtro perdendo um pouco de tempo. Terei ganho de performance colocando os índices em uma tablespace diferente da tablespace das bases? recomendo sempre criar tabelas e indices em tablespace diferentes, porem pra ganho de performance teria que ser em hd diferentes. []s Danilo Se as partições estiverem em discos distintos, o ganho com certeza será perceptível na escrita, pois estarás somando o IO de discos diferentes. Att. Rieg___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Compatibilidade entre versões
Senhores, alguem poderia, por favor, me informar onde encontro um guia de compatibilidade entre o UBUNTU e PostgresSQL. Por exemplo: No Ubuntu 10.04 consigo executar com tranquilidade o postgresql 9.2? A partir de que versão do postgresql devo atualizar minha versão do UBUNTU, por que? Uma tabelinha seria bem vinda Obrigado Paulo Bastos ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] pg_connect
Senhores, estou criando um pequeno script em PHP para executar uma instrução SQL em um banco postgresql. O codigo: html head /head body ?php $host = "localhost"; $porta = "5432"; $banco = "postgres"; $usuario = "postgres"; $senha = "jacare"; $conexao = pg_connect("host=$host port=$porta dbname=$banco user=$usuario password=$senha") or die("Nao Conectado") $sql = "SELECT * FROM TesteReplicacao"; $result = pg_exec($conexao, $sql); * Escreve resultados até que não haja mais linhas na tabela */ for($i=0; $consulta = @pg_fetch_array($result, $i); $i++) { print "Coluna1: $consulta[cd_teste] - Coluna2: $consulta[descricao]br"; } pg_close($conexao); ? /body /html Quando executo: Fatal error: Call to undefined function pg_connect() in /opt/lampp/htdocs/xampp/connec.php on line 8 Antecipadamente agradeço a ajuda Paulo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: REF: SINCRONIZAR SERIAL AUTOMATICAMENTE - RESOLVIDO.
Ola Glauco, Era exatamente o que eu precisava. Obrigado. Paulo. No dia 13 de Janeiro de 2014 às 17:18, Paulo pa...@visualpsistemas.com.br escreveu: Ola Pessoal, Precisei restaurar dados vindos de outro banco. As sequencias ficaram desatualizadas, preciso atualizar todas as tabelas automaticamente. Estou executando a sentença abaixo para sincronizar uma a uma, mais esta muito trabalhoso. SELECT pg_catalog.setval(pg_catalog.pg_get_serial_sequence(cliente, 'codigo'), 3608, true); Alguém pode dar uma dica ¿ Tarde, Veja se te ajuda... por favor execute antes em um ambiente que não seja produção, é script que pesquei na net a bastante tempo SELECT 'SELECT setval(''' || n.nspname || '.' || replace(replace(replace(replace(replace(replace(replace(replace(a.adsrc, '(',''),')',''),'::',''),'textregclass',''),'nextval',''),'regclass',''),''' ',''), n.nspname||'.','')||''',(SELECT MAX('||ab.attname||') FROM '|| n.nspname|| '.'||c.relname||'),true);' as seqname FROM pg_class c JOIN pg_attrdef a ON c.oid=a.adrelid JOIN pg_namespace n ON c.relnamespace = n.oid AND n.nspname NOT LIKE 'pg_%' JOIN pg_index i ON i.indrelid=c.oid AND i.indisprimary='t' JOIN pg_attribute ab ON ab.attrelid=c.oid AND ab.attisdropped='f' AND ab.atthasdef='t' AND i.indkey[0]=ab.attnum AND i.indkey[1] IS NULL Where a.adsrc like 'nextval%'; Att Glauco ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] REF: SINCRONIZAR SERIAL AUTOMATICAMENTE.
Ola Pessoal, Precisei restaurar dados vindos de outro banco. As sequencias ficaram desatualizadas, preciso atualizar todas as tabelas automaticamente. Estou executando a sentença abaixo para sincronizar uma a uma, mais esta muito trabalhoso. SELECT pg_catalog.setval(pg_catalog.pg_get_serial_sequence(cliente, 'codigo'), 3608, true); Alguém pode dar uma dica ¿ Obrigado, Att, Paulo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Mudar campo de tipo text para bytea
Estou com uma tabela que tem um atributo tipo text e preciso mudar para bytea. Preciso passar os dados do campo anterior para o novo. Alguem poderia me ajudar? Obrigado Paulo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Aparecendo custom no lugar do LOG
quando executo o comando pg_lscluster aparece: Version Cluster Port Status Owner Data directory Log file 9.2 socic 5432 online dbasocic /u1/base custom No log File -- Custom Estou utilizando o seguinte comando para startart o banco /usr/lib/postgresql/9.2/bin/pg_ctl restart -D /u1/jap/base -o "-c config_file=/etc/postgresql/9.2/socic/postgresql.conf" -l /var/log/postgresql/postgresql-9.2-socic.log Porem não aparece o caminho especificado em -l. Alem disto esta dando uma mensagem que eu não tinha permissão para criar o arquivo de log. Olhei em outro servidor que tenho aqui e as permissões estão iguais. O que será que aconteceu. Pois normalente faço este procedimento e não acontece este tipo de situação. O banco está no ár porem este custom, não consegui entender. Antecipadamente agradeço a ajuda. 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] PÂNICO: could not open critical system index 2662
Bom dia. Estou tentando acessar meu banco via psql e está retornando o seguinte ERRO: postgres@condor:~$ psql meu_banco psql: PÃNICO: could not open critical system index 2662 O arquivo de log é este: BRTPÃNICO: could not open critical system index 2662 %%2013-11-11 09:42:21.991 BRTLOG: processo servidor (PID 3050) foi terminado pelo sinal 6: Aborted %%2013-11-11 09:42:21.991 BRTLOG: terminando quaisquer outros processos servidor ativos %%2013-11-11 09:42:21.992 BRTLOG: todos os processos servidor foram terminados; reinicializando %%2013-11-11 09:42:22.063 BRTLOG: sistema de banco de dados foi interrompido; última execução em 2013-11-11 09:42:13 BRT %%2013-11-11 09:42:22.063 BRTLOG: sistema de banco de dados não foi desligado corretamente; recuperação automática está em andamento %%2013-11-11 09:42:22.071 BRTLOG: registro com tamanho zero em 1713/892DD040 %%2013-11-11 09:42:22.071 BRTLOG: redo não é requerido Resumindo, não consigo mais acessar a minha base. Alguém teria alguma idéia do que possa estar acontecendo? Será que tem alguma forma de recuperar isto? Att, Deliane Andrade Isto é aparentemente algum arquivo corrompido no HD. Você tem backup? (Nestes casos só resolvi a partir de um backup) Este erro ocorreu por duas possíveis causas: 1° Falha na memória do Servidor ou 2° Falha no HD do servidor. Recomendaria primeiramente testar estes dois periféricos e após isto restaurar o backup caso tenhas. Att. Rieg___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] erro de read-only no servidor
Em 11 de novembro de 2013 15:52, Glauco Torres torres.gla...@gmail.comescreveu: Pessoal, temos 2 servidores centOS 6.4 com postgres 9.2.1, 1 no setor de desenvolvimento e outro no setor de testes. de uma hora para outra qualquer objeto novo criado no servidor de desenvolvimento, retorna uma mensagem de erro: cannot modify a read-only dataset na nossa aplicação. esse erro so acontece em um banco novo, se pegar um antigo o mesma funciona, e se fizer um dump e restore dele, também ocorre o problema. Gostaria de saber se alguém ja passou por alguma situação semelhante. Utilizamos o driver UNIDAC da devart. Boa Tarde, Douglas esse driver seu conexão não tem nenhuma configuração de somente leitura? Veja a documentação desse seu driver. Att Glauco Torres ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral Glauco ja esta como false, mas nao pode ser driver, pois como falei bases que foram restauradas na semana retrasada funcionam normalmente e se eu pegar essa base que funciona e fazer um dump e depois restore, para de funcionar no mesmo executável. -- Douglas Fabiano Specht O usuário que você está conectando pela aplicação tem permissão (GRANT) para este objeto criado? Att. Rieg___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Situação repetitiva
O log de um servidor está apresentando constantemente a seguinte mesnsagem: 2013-10-25 08:46:37 BRTLOG: autovacuum: encontrada tabela tempor�ria �rf� "pg_temp_27"."tab_var" no banco de dados "jgenesis_query_matriz" 2013-10-25 08:47:37 BRTLOG: autovacuum: encontrada tabela tempor�ria �rf� "pg_temp_27"."tab_var" no banco de dados "jgenesis_query_matriz" 2013-10-25 08:48:37 BRTLOG: autovacuum: encontrada tabela tempor�ria �rf� "pg_temp_27"."tab_var" no banco de dados "jgenesis_query_matriz" alguem poderia me esclarecer o que isto indica e o que deve ser feito. Obrigado pela atenção Paulo Roberto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Diferença de tempo de resposta considerável
Tinhamos um campo que era binario e não foi copiado de forma adequado by binary. Limpamos o conteudo (pois estavamos em um ambiente de teste) e a consulta passou normalmente. Att PRoberto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Diferença de tempo de resposta considerável
Senhores(as), Estou com a seguinte situação : tenho dois servidores que apresentam a mesma configuração ( tanto disco como memoria RAM).Os dois possuem os mesmos bancos de dados com uma pequena diferença de registros entre os mesmos. Fiz uma consulta simples(abaixo) a uma tabela no bancoA e a mesma consulta ao Banco B. A resposta em A é imediata a resposta em B demora cerca de 15segundos. select * from socic.funcionario where trim(matricula) = 'C16845' . A tabela tem um indice criado para matricula. Os parametros dos bancos são os seguintes: (Postgresql 9.2) shared_buffers = 1024MB work_mem = 128MB maintenance_work_mem = 200MB Minhas maquinas tem 2GB de RAM. Agradeço antecipadamente qualquer ideia para identificar o problema. Paulo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Diferença de tempo de resposta considerável
Os dois possuem os mesmos bancos de dados com uma pequena diferença de registros entre os mesmos.E as configurações do PostgreSQL e do sistema operacional nos dois servidores? Ubuntu 12.04 - kernel.shmmax = 20 kernel.shmall = 2097152 kernel.sem = 250 128000 100 512 vm.swappiness = 0 net.core.wmem_max = 16777216 net.core.rmem_max = 16777216 net.ipv4.tcp_wmem = 4096 65536 16777216 net.core.netdev_max_backlog = 3000 Fiz uma consulta simples(abaixo) a uma tabela no bancoA e a mesma consulta ao Banco B. A resposta em A é imediata a resposta em B demora cerca de 15segundos.A carga dos dois é similar? Sim Agradeço antecipadamente qualquer ideia para identificar o problema.Logs? Não apresentam nada de extraordinario. Pelo menos não consigo identificar. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Diferença de tempo de resposta considerável
Caros colegas, descobrimos o que era. Tinhamos um campo que estava com problemas na tabela mais lenta. Limpamos o mesmo e a tudo funcionou perfeitamente. Muito obrigado pela atenção de todos. Att Paulo prbalme...@bol.com.br___pgbr-geral mailing listpgbr-geral@listas.postgresql.org.brhttps://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] Problema com copia de arquivo
Senhores (as), Estou em um ambiente: "PostgreSQL 9.2.4 on i686-pc-linux-gnu, compiled by gcc-4.4.real (Ubuntu 4.4.3-4ubuntu5) 4.4.3, 32-bit" estou tentando copiar os dados de um arquivo para dentro de outro arquivo em meu banco. O comando é: copy migracao_sti.cliente_sti FROM '/home/migracao/dados_cliente' with delimiter '|'; Está aparecendo a seguinte msg de erro: ERRO: sequência de bytes é inválida para codificação "UTF8": 0xa6 CONTEXTO: COPY cliente_sti, linha 8 Alguem poderia me ajudar? obrigado antecipado pelas sugestões e idéias. Att Paulo Roberto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Problema com copia de arquivo
Em relação ao erro: copy migracao_sti.cliente_sti FROM '/home/migracao/dados_cliente' with delimiter '|'; ERRO: sequência de bytes é inválida para codificação "UTF8": 0xa6 CONTEXTO: COPY cliente_sti, linha 8 informaçãoes complementares: 1. SHOW client_encoding = "UNICODE" 2. dbasocic@desenv-java:/home/migracao$ file dados_cliente dados_cliente: Non-ISO extended-ASCII text, with very long lines 3. Sistema operacional da origem do arquivo = ao SO do destino do arquivo Paulo Roberto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Erro em função
Quando estou executando a função abaixo abaixo da msg , está dando erro. A msg abaixo tirei do log. 2013-08-27 13:15:09 BRT ERRO: refer�ncia � coluna "contrato" � amb�gua no caracter 69 2013-08-27 13:15:09 BRT DETALHE: Ela poderia referenciar uma vari�vel PL/pgSQL ou uma coluna de tabela. 2013-08-27 13:15:09 BRT CONSULTA: UPDATE socic.contrato SET numero_contrato = numeradora WHERE id = contrato Função CREATE OR REPLACE FUNCTION socic.numeradora_contrato(loja integer, tipo_vend integer, codigo_fin integer, contrato integer) RETURNS integer AS $BODY$declare numeradora int4; BEGIN SELECT nr.numero_corrente + 1 INTO numeradora FROM socic.numeradora_contrato as nr WHERE nr.id_loja = loja AND nr.tipo_venda = tipo_vend AND nr.codigo_financeiro = codigo_fin FOR UPDATE; IF (numeradora IS NULL) THEN INSERT INTO socic.numeradora_contrato(numero_corrente, id_loja, tipo_venda, codigo_financeiro) VALUES (0, loja, tipo_vend, codigo_fin); SELECT nr.numero_corrente + 1 INTO numeradora FROM socic.numeradora_contrato as nr WHERE nr.id_loja = loja AND nr.tipo_venda = tipo_vend AND nr.codigo_financeiro = codigo_fin FOR UPDATE; END IF; UPDATE socic.numeradora_contrato SET numero_corrente = numeradora WHERE id_loja = loja AND tipo_venda = tipo_vend AND codigo_financeiro = codigo_fin; UPDATE socic.contrato SET numero_contrato = numeradora WHERE id = contrato; RETURN numeradora; END; $BODY$ LANGUAGE plpgsql VOLATILE COST 100; Quando troco contrato (Em negrito na função) por contrato1 funciona. Antecipadamente agradeço a ajuda Paulo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Erro em função
Flavio Não existe um atributo denominado contrato neste schema. Além do que contrato aqui é uma variavel que é utilzada na função. mais alguma ideia? Obrigado Paulo Quando estou executando a função abaixo abaixo da msg , está dando erro. A msg abaixo tirei do log. 2013-08-27 13:15:09 BRT ERRO: refer�ncia � coluna "contrato" � amb�gua no caracter 69 2013-08-27 13:15:09 BRT DETALHE: Ela poderia referenciar uma vari�vel PL/pgSQL ou uma coluna de tabela. 2013-08-27 13:15:09 BRT CONSULTA: UPDATE socic.contrato SET numero_contrato = numeradora WHERE id = contrato Função CREATE OR REPLACE FUNCTION socic.numeradora_contrato(loja integer, tipo_vend integer, codigo_fin integer, contrato integer) RETURNS integer AS $BODY$declare numeradora int4; BEGIN SELECT nr.numero_corrente + 1 INTO numeradora FROM socic.numeradora_contrato as nr WHERE nr.id_loja = loja AND nr.tipo_venda = tipo_vend AND nr.codigo_financeiro = codigo_fin FOR UPDATE; IF (numeradora IS NULL) THEN INSERT INTO socic.numeradora_contrato(numero_corrente, id_loja, tipo_venda, codigo_financeiro) VALUES (0, loja, tipo_vend, codigo_fin); SELECT nr.numero_corrente + 1 INTO numeradora FROM socic.numeradora_contrato as nr WHERE nr.id_loja = loja AND nr.tipo_venda = tipo_vend AND nr.codigo_financeiro = codigo_fin FOR UPDATE; END IF; UPDATE socic.numeradora_contrato SET numero_corrente = numeradora WHERE id_loja = loja AND tipo_venda = tipo_vend AND codigo_financeiro = codigo_fin; UPDATE socic.contrato SET numero_contrato = numeradora WHERE id = contrato; RETURN numeradora; END; $BODY$ LANGUAGE plpgsql VOLATILE COST 100; Quando troco contrato (Em negrito na função) por contrato1 funciona. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Data de criação de tabela
Além da combinação do log_statement habilitado e log_line_prefix, há alguma outra forma de obter a data de criação de uma tabela? Obrigado pela ajuda Paulo Bastos ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: RES: REF: Trigger: Coluna Tabela Pai.
Exato, já tinha lido sobre os cuidados com herança. Mas como trata-se de uso esporádico, será uma solução Paliativa para resolver o problema no momento. Quanto o problema, vou montar aqui e explicar melhor. Att, Paulo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: REF: Trigger: Coluna Tabela Pai.
Olá Euler, a tua duvida acabou sendo a minha resposta. Vou usar Herança. Obrigado pela dica. Paulo. Tenho uma trigger manipulando dados na tabela Filho e preciso ler informações da tabela Pai. Utilizando herança? ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] REF: Trigger: Coluna Tabela Pai.
Ola pessoal, Tenho uma trigger manipulando dados na tabela Filho e preciso ler informações da tabela Pai. Ex: new.colunaFilho := ColunaPai; Atualmente uso funções, mas estou achando pouco produtivo. Alguém tem alguma dica ? Obrigado. Paulo. vp_logo pa...@visualpsistemas.com.br -Postgresql 9.1 image002.jpg___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Alta disponibilidade
Caros colegas, estou utilizando o Heartbeat e gostaria de saber como deixar um processo ativo nas duas máquinas. Situação: Vou utilizar a replicação nativa e preciso que o postgres esteja ativo. Porem ao start o Heart no servidor principal ele está derrubando o postgres no secundário. Como evitar isto? No momento preciso de uma ajuda neste tópico. Já começei a estudar outras soluções recomendadas por outros colegas. Antecipadamente agradeço a ajuda. Att Paulo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Alta disponibilidade
Caros colegas, estou utilizando o Heartbeat e gostaria de saber como deixar um processo ativo nas duas máquinas. Situação: Vou utilizar a replicação nativa e preciso que o postgres esteja ativo. Porem ao start o Heart no servidor principal ele está derrubando o postgres no secundário. Como evitar isto? No momento preciso de uma ajuda neste tópico. Já começei a estudar outras soluções recomendadas por outros colegas. Antecipadamente agradeço a ajuda. Att Paulo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: RES: RES: REF: LER RETORNO DA FUNCAO.
Ficou Show Fabrício, Era isso mesmo que precisava. Obrigado. Ps: Desculpem pelo top-posting. Att, Paulo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Alta-Disponibilidade
Ja estou trabalhando com heartbeat e Replicação Sincrona Nativa. O que voces indicam como melhores alternativas? Alguem poderia indicar material para leitura. Principalmente de replicação assincrona. Antecipadamente agradeço. Paulo Bastos ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral