[pgbr-geral] REF: Teste Pgsql.

2017-11-01 Por tôpico Paulo
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.

2017-01-20 Por tôpico Paulo
>>
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.

2017-01-20 Por tôpico Paulo
>>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.

2017-01-20 Por tôpico Paulo
>>
>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.

2017-01-20 Por tôpico Paulo
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.

2016-12-23 Por tôpico Paulo
 

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

2016-12-21 Por tôpico Paulo
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"

2016-12-13 Por tôpico Paulo
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

2016-10-07 Por tôpico Paulo Vieira
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

2016-10-07 Por tôpico Paulo Vieira
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.

2016-06-20 Por tôpico Paulo
>> 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.

2016-06-20 Por tôpico Paulo
>>) 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.

2016-06-20 Por tôpico Paulo
>>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.

2016-06-20 Por tôpico Paulo
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

2016-03-09 Por tôpico Paulo
>>
>>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

2016-03-09 Por tôpico Paulo
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.

2016-01-26 Por tôpico Paulo
>>



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

2016-01-26 Por tôpico Paulo
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

2016-01-15 Por tôpico paulo






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.

2015-12-15 Por tôpico Paulo
>>
>
>>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.

2015-12-15 Por tôpico Paulo
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.

2015-12-10 Por tôpico Paulo
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.

2015-12-10 Por tôpico Paulo
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

2015-11-23 Por tôpico Paulo
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

2015-11-10 Por tôpico Paulo Vitor Bettini de Albuqerque Lima
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

2015-10-16 Por tôpico Paulo
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

2015-07-14 Por tôpico Paulo Vitor Bettini de Albuqerque Lima
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

2015-07-14 Por tôpico Paulo Vitor Bettini de Albuqerque Lima
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.

2015-07-08 Por tôpico PAULO

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.

2015-07-08 Por tôpico PAULO
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.

2015-07-07 Por tôpico PAULO
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.

2015-07-07 Por tôpico PAULO
 

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.

2015-07-06 Por tôpico PAULO
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.

2015-07-06 Por tôpico PAULO
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.

2015-07-06 Por tôpico PAULO
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.

2015-06-29 Por tôpico PAULO
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.

2015-06-29 Por tôpico PAULO
 

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.

2015-06-24 Por tôpico PAULO
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.

2015-06-24 Por tôpico PAULO
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.

2015-06-24 Por tôpico PAULO
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

2015-04-28 Por tôpico PAULO
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

2015-03-18 Por tôpico Paulo Bastos
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

2015-03-13 Por tôpico Paulo Vitor Bettini de Albuqerque Lima
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.

2015-02-20 Por tôpico Paulo Afonso Pereira
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.

2015-02-20 Por tôpico Paulo Afonso Pereira
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.

2015-02-19 Por tôpico Paulo Afonso Pereira
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.

2015-01-09 Por tôpico Paulo Afonso Pereira
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.

2015-01-09 Por tôpico Paulo Afonso Pereira
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.

2014-12-04 Por tôpico Paulo Afonso Pereira
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.

2014-12-03 Por tôpico Paulo Afonso Pereira
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.

2014-11-21 Por tôpico Paulo
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.

2014-11-21 Por tôpico Paulo
... 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.

2014-11-19 Por tôpico Paulo
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.

2014-11-19 Por tôpico Paulo
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.

2014-11-19 Por tôpico Paulo
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.

2014-11-18 Por tôpico Paulo
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.

2014-11-14 Por tôpico Paulo
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.

2014-11-14 Por tôpico Paulo
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.

2014-11-14 Por tôpico Paulo
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

2014-10-29 Por tôpico Paulo Bastos
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

2014-10-17 Por tôpico Paulo Bastos
 
  
 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

2014-09-26 Por tôpico Paulo Vitor Bettini de Albuqerque Lima
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

2014-09-26 Por tôpico Paulo Vitor Bettini de Albuqerque Lima
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

2014-09-15 Por tôpico Paulo Vitor Bettini de Albuqerque Lima
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

2014-09-11 Por tôpico Paulo Bastos
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

2014-09-05 Por tôpico Paulo
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

2014-09-04 Por tôpico Paulo Pereira

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.

2014-06-25 Por tôpico Paulo
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.

2014-06-24 Por tôpico Paulo Pereira

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

2014-06-12 Por tôpico João Paulo Rieg
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.

2014-06-05 Por tôpico Paulo Pereira


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.

2014-06-05 Por tôpico Paulo
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.

2014-06-05 Por tôpico Paulo
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

2014-03-05 Por tôpico João Paulo Rieg
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

2014-02-27 Por tôpico João Paulo Rieg
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

2014-02-13 Por tôpico Paulo Bastos
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

2014-01-16 Por tôpico Paulo Bastos
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.

2014-01-14 Por tôpico Paulo
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.

2014-01-13 Por tôpico Paulo
 

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

2013-11-14 Por tôpico Paulo Bastos
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

2013-11-13 Por tôpico Paulo Bastos
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

2013-11-11 Por tôpico João Paulo Rieg
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

2013-11-11 Por tôpico João Paulo Rieg
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

2013-10-25 Por tôpico Paulo Bastos
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

2013-10-22 Por tôpico Paulo Bastos
 
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

2013-10-21 Por tôpico Paulo Bastos
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

2013-10-21 Por tôpico Paulo Bastos
 
 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

2013-10-21 Por tôpico Paulo Bastos


 


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

2013-09-11 Por tôpico Paulo Bastos
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

2013-09-11 Por tôpico Paulo Bastos
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

2013-08-27 Por tôpico Paulo Bastos

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

2013-08-27 Por tôpico Paulo Bastos
 
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

2013-08-05 Por tôpico Paulo Bastos
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.

2013-08-01 Por tôpico Paulo
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.

2013-07-31 Por tôpico Paulo
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.

2013-07-29 Por tôpico Paulo

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

2013-07-23 Por tôpico Paulo Bastos
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

2013-07-22 Por tôpico Paulo Bastos
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.

2013-07-20 Por tôpico Paulo
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

2013-07-19 Por tôpico Paulo Bastos
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


  1   2   3   4   5   >