Re: [pgbr-geral] Campo calculado

2018-04-18 Por tôpico Amir
Boam dia...  Rogério Martins

Eu usaria isso... faz o mesmo resultado ou o campo tem que ser guardado
na tabela?

select
t.data_nascimento,
date_part('year', age(t.data_nascimento) ) as t.campo_calculado_idade
from tabela t



Em 18 de abril de 2018 08:29, Rogério Martins 
escreveu:

> Bom dia pessoal !
>
> É possível criar no PG 9.6 um campo calculado ?
> Exemplo:
>
> select
> t.data_nascimento,
> t.campo_calculado_idade,
> from tabela t
>
> onde:
> t.campo_calculado_idade = date_part('year', age(t.data_nascimento) )
>
> Não quero usar view,  preciso desse campo na tabela.
>
> Obrigado
>
>
> --
> The Ubuntu Counter Project - user number # 33192
> 
>
> ___
> 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] como descobrir se uma procedure foi modificado no postgresql

2017-11-23 Por tôpico Amir
Fabrízio... Obrigado... vou andar neste caminho, para ver se consigo
resolver



Em 21 de novembro de 2017 20:03, Fabrízio de Royes Mello <
fabri...@timbira.com.br> escreveu:

>
> Em ter, 21 de nov de 2017 às 18:57, Amir <here...@gmail.com> escreveu:
>
>> Boa noite...
>>
>> Com saber se uma procedure foi modificada, no banco
>>
>
> Se vc não está com log de DDL habilitado não vejo outra forma de saber.
>
>
> --
>Fabrízio de Royes Mello Timbira - http://www.timbira.com.br/
>PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] como descobrir se uma procedure foi modificado no postgresql

2017-11-21 Por tôpico Amir
Boa noite...

Com saber se uma procedure foi modificada, no banco
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] dificuldade com trigger postgresql em json

2017-11-10 Por tôpico Amir
Necessidade: Toda a vez que uma cities for colocada ou retirada da table
reach.address_012, esta deve ser somada ou decrescida do campo
units-->’number_of_units’ tabela reach.address_010 de 1(um); Lembramos que
cities-->’unit_of_the_federation’ da reach.address_012 é ligado a
units-->"acronym" na reach.address_010.

Tenho estas tabelas:

CREATE TABLE reach.address_010 (
units reach.dmn_jsonb
) WITH (oids = false);

COMMENT ON TABLE reach.address_010 IS ' The unit of the federation';

CREATE INDEX units_id_address12_index ON reach.address_010
USING gin (((units)::jsonb->' unit_id'::text));
Com os seguintes campos:

'{" unit_id": 9, "state”:{"name": " Michigan ", "acronym": "MI"},
"number_of_units", 3283}';

CREATE TABLE reach.address_012 (
cities reach.dmn_jsonb
)  WITH (oids = false);

COMMENT ON TABLE reach.address_012 IS ' The cities name';

CREATE INDEX cities_city_id_address12_index ON reach.address_012
USING gin (((cities)::jsonb->'city_id'::text));
Com os seguintes campos:

'{"city_id": 1, "city_base": {"city_name": "Lansing", "city_type": "C",
"postal_code": "48823517", "city_situation": 0, "unit_of_the_federation":
"MI"}, "country_code": 1}';

Dificuldade: Não consigo definir a trigger, pois não entendo como devo
utilizar os campos “old” e “new” em uma base jsonb, se fosse uma tabela
relacional, seria assim:

Na tabela hipotética relacional reach.address_010

CREATE FUNCTION reach.func_before_update_of_number_of_units_address10()
RETURNS trigger AS
$body$
begin
new.number_of_units := old.number_of_units + new.number_of_units;
return new;
end;
$body$
LANGUAGE 'plpgsql'
VOLATILE CALLED ON NULL
INPUT SECURITY
INVOKER COST 100;


CREATE TRIGGER trigger_before_update_of_number_of_units_address10
  BEFORE UPDATE OF number_of_units ON reach.address_010 FOR EACH ROW
  EXECUTE PROCEDURE func_before_update_of_number_of_units_address10();

Na tabela hipotética relacional reach.address_012

CREATE OR REPLACE FUNCTION reach.func_after_insert_delete_address12()
RETURNS trigger AS
$body$
declare
characronym   reach.dmn_vc002= '';
smallint_number   reach.dmn_smallint = 0;
begin
if (TG_OP = 'DELETE') then
characronym := old.unit_of_the_federation;
smallint_number := -1;
else
characronym := new.unit_of_the_federation;
smallint_number := 1;
end if;

update reach.address_010
   set number_of_units = smallint_number
 where acronym = characronym;

return new;
end;
$body$
LANGUAGE 'plpgsql'
VOLATILE CALLED ON NULL
INPUT SECURITY
INVOKER COST 100;

CREATE TRIGGER trigger_after_insert_delete_address12
AFTER INSERT OR DELETE ON reach.address_012 FOR EACH ROW
EXECUTE PROCEDURE reach.func_after_insert_delete_address12();

Alguém do grupo pode ajudar-me!

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

Re: [pgbr-geral] Não consigo fazer backup

2016-10-18 Por tôpico Amir
Estou fazendo backup na versão 9.6 mas os arquivos foram gerados em 9.3

Em 18 de outubro de 2016 11:32, Euler Taveira <eu...@timbira.com.br>
escreveu:

> On 18-10-2016 01:49, Amir wrote:
> > Olá... Após atualizar o Postgresql da versão 9.3 para a 9.6.0, importei
> > através de roteiro de carga SQL a minha base que passou a funcionar
> > normalmente no sistema para testes desta versão... mas deste então ao
> > disparar o comando de cópia automática F:\so_copias\pg_dump.exe --file
> > "g:\\hrb0023" --host "localhost" --port "3815" --username "postgres"
> > --no-password --verbose --role "sistema" --format=c --blobs "hrb_0023"
> >  o banco devolve o seguinte erro 'utf8' codec can't decode byte 0xa0 in
> > position 49: invalid start byte...
> >
> Esse é um erro do Python. Ese comando está sendo disparado pelo pgAdmin 4?
>
> Suas informações ficaram confusas/incompletas. O erro ocorre ao tentar
> fazer o backup da versão 9.3 ou da 9.6? Qual é a codificação do banco
> "hrb_0023" de ambas as versões (vide comando abaixo)?
>
> SELECT datname,pg_encoding_to_char(encoding) FROM pg_database WHERE
> datistemplate IS FALSE
>
> > Então instalei o pgAdmin 4, o qual funciona normalmente, mas não retorna
> > os ‘backup’ da versão 9.3 e apresenta o mesmo erro quando vou executar
> > um cópia geral da base (backup).
> >
> Como foi feito esse backup na versão 9.3 (digo, qual o comando completo)?
>
>
> --
>Euler Taveira   Timbira - http://www.timbira.com.br/
>PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] Não consigo fazer backup

2016-10-17 Por tôpico Amir
Olá... Após atualizar o Postgresql da versão 9.3 para a 9.6.0, importei
através de roteiro de carga SQL a minha base que passou a funcionar
normalmente no sistema para testes desta versão... mas deste então ao
disparar o comando de cópia automática F:\so_copias\pg_dump.exe --file
"g:\\hrb0023" --host "localhost" --port "3815" --username "postgres"
--no-password --verbose --role "sistema" --format=c --blobs "hrb_0023"  o
banco devolve o seguinte erro 'utf8' codec can't decode byte 0xa0 in
position 49: invalid start byte...

Então instalei o pgAdmin 4, o qual funciona normalmente, mas não retorna os
‘backup’ da versão 9.3 e apresenta o mesmo erro quando vou executar um
cópia geral da base (backup).

Alguém sabe qual é o meu erro..??!!!

Obrigado!!!

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

[pgbr-geral] Não consigo fazer backup

2016-10-17 Por tôpico Amir
Atualizei o Postgresql da versão 9.3 para a 9.6.0 em seguida importei
através de roteiro de carga SQL a minha base que passou a funcionar
normalmente no sistema... mas deste então ao disparar o comando de cópia
automática F:\so_copias\pg_dump.exe --file "g:\\hrb0023" --host "localhost"
--port "3815" --username "postgres" --no-password --verbose --role
"sistema" --format=c --blobs "hrb_0023"  o banco devolve o seguinte erro
'utf8' codec can't decode byte 0xa0 in position 49: invalid start byte...

Então instalar o pgAdmin 4, o qual funciona normalmente, mas não retorna os
‘backup’ da versão 9.3 e apresenta o mesmo erro quando vou executar um
cópia geral da base (backup). Alguém sabe qual é o meu erro..??!!!

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