Re: [pgbr-geral] Editar uma PL em tempo de execução

2017-03-27 Por tôpico lu moraes santos
Ola muito grato pelos esclarecimentos.
Deu certo agora fiz da seguinte forma:

Select pg_get_functiondef(oid) from pg_proc where proname = 'caixa_resumo'

Funcionou 100%, agora so criar um editor dentro do meu ERP para ediçao em
tempo de execução.

Grato a todos.



[image: Foto]
*LuMoraes*
*O mais completo para seu comércio.*

Em 27 de março de 2017 08:37, Glauco Torres <torres.gla...@gmail.com>
escreveu:

>
> No dia 25 de março de 2017 às 07:28, lu moraes santos <
> djrlumor...@gmail.com> escreveu:
>
>> Ola saudações a comunidade. Eu queria saber como trazer a estrutura de um
>> PL para que seja editada pela aplicação. Grato.
>>
>> Olá,
>
> Tabela pg_proc campo prosrc, mais info [1].
>
> [1] https://www.postgresql.org/docs/9.3/static/catalog-pg-proc.html
>
> -
> Glauco Torres
>
>
>
> ___
> 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] Json TO RecordSet

2017-03-25 Por tôpico lu moraes santos
Ola boa tarde.

Eu tenho uma funcao onde recebo por um parametro JSON dados do pedido como
segue o exemplo abaixo:

CREATE TYPE pedido_type AS (
  id_pedido INTEGER,
  id_cliente INTEGER,
  data DATE,
  obs VARCHAR
);

select * from json_populate_recordset(null::pedido_type,
'
[
  {
 "id_pedido":589,"id_cliente":100,"data":"20/03/2017","obs":"TESTE
JSON"
 }
]'
);

Aplicando o SELECT acima ele converte corretamente a estrutura JSON para
uma estrutura de tuplas.

Porem eu preciso receber tb dentro da estrutura de PEDIDO em JSON os itens
deste pedido.
Neste caso como eu faria pra converter os itens que vem junto com o pedido
em estrutura de tuplas.

Exemplo:

[
  {
 "id_pedido":589,"id_cliente":100,"data":"20/03/2017","obs":"TESTE
JSON"
 {
"id_produto":1010,"qtde":10.5,"unitario":1.00,"total":10.50
 }
   }
]'

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

[pgbr-geral] Editar uma PL em tempo de execução

2017-03-25 Por tôpico lu moraes santos
Ola saudações a comunidade. Eu queria saber como trazer a estrutura de um
PL para que seja editada pela aplicação. Grato.
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] Fwd: Converter de JSON para RECORD

2017-03-24 Por tôpico lu moraes santos
-- Mensagem encaminhada --
De: "lu moraes santos" <djrlumor...@gmail.com>
Data: 20 de mar de 2017 4:18 PM
Assunto: Converter de JSON para RECORD
Para: "Comunidade PostgreSQL Brasileira" <
pgbr-geral@listas.postgresql.org.br>
Cc:

Ola boa tarde.

Eu tenho uma funcao onde recebo por um parametro JSON dados do pedido como
segue o exemplo abaixo:

CREATE TYPE pedido_type AS (
  id_pedido INTEGER,
  id_cliente INTEGER,
  data DATE,
  obs VARCHAR
);

select * from json_populate_recordset(null::pedido_type,
'
[
  {
 "id_pedido":589,"id_cliente":100,"data":"20/03/2017","obs":"TESTE
JSON"
 }
]'
);

Aplicando o SELECT acima ele converte corretamente a estrutura JSON para
uma estrutura de tuplas.

Porem eu preciso receber tb dentro da estrutura de PEDIDO em JSON os itens
deste pedido.
Neste caso como eu faria pra converter os itens que vem junto com o pedido
em estrutura de tuplas.

Exemplo:

[
  {
 "id_pedido":589,"id_cliente":100,"data":"20/03/2017","obs":"TESTE
JSON"
 {
"id_produto":1010,"qtde":10.5,"unitario":1.00,"total":10.50
 }
   }
]'

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

Re: [pgbr-geral] Configuracao do PGBouncer

2016-11-08 Por tôpico lu moraes santos
Ola boa tarde
Foi resolvido o problema da configuracao no windows, era problema na versao
1.7.2 pra windows 64.

Eu instalei a versao 1.6.1 e rodou legal

Muito grato pela atenção.


[image: Foto]
*LuMoraes*
*O mais completo para seu comércio.*

Em 8 de novembro de 2016 15:35, Emanuel Araújo <eac...@gmail.com> escreveu:

> > No userlist.txt :
> > "postgres" "wg091514"
>
> Acredito que voce esteja passando usuário e senha em textplain para o
> arquivo userlist.txt.  Na documentação fala que a partir da versão 9.0 o
> mesmo precisa está com hash md5 [1].
>
> Se for realmente isso substitua o conteúdo do arquivo userlist.txt para:
>
> "postgres" "md583b2db21f99f5243a9ab66b969805d4a"
>
> Ou pode rodar esse comando que ele já deixará a(s) string(s) pronta(s):
> psql -q -t -c "SELECT '\"'||rolname||'\" \"'|| rolpassword||'\"' FROM
> pg_authid ;"
>
>
> [1] https://pgbouncer.github.io/config.html#authentication-file-format
>
> Em 2 de novembro de 2016 08:24, lu moraes santos <djrlumor...@gmail.com>
> escreveu:
>
>> Ola bom dia Euler.
>>
>>
>> Entao no linux eu consegui colocar pra rodar com a ajuda de um colega.
>>
>> Eu acompanhei a receita de bolo e faltou apenas o seguinte comando:
>>
>> su postgres -c '/usr/sbin/pgbouncer -d /etc/pgbouncer/pgbouncer.ini'
>>  (devo lembrar que sou muito leigo em Linux)
>>
>> eu achei que era so subir o servico do pacote com service pgbouncer start;
>>
>> porem minha aplicação nao roda com o pool_mode transaction por causa do
>> prepare, entao vamos rodar como session.
>>
>> No Windows nao consiguimos de jeito nenhum.
>>
>>
>> Grato
>>
>>
>>
>>
>> Em 31 de out de 2016 23:15, "Euler Taveira" <eu...@timbira.com.br>
>> escreveu:
>>
>>> On 31-10-2016 08:09, lu moraes santos wrote:
>>> > Eu tentei ontem instalar tb no debian 8 , qdo fiz o apt-get install
>>> > pgbouncer ele instalou a versao 1.5, a atual é 1.7.2 , porem fiz a
>>> > receitinha de bolo da configuracao e tb deu conexão rejeitada.
>>> >
>>> > Voce acha melhor instalar a mais atual???
>>> >
>>> Não.
>>>
>>> Há algo muito esquisito com o seu ambiente. Sem lógica conectar via psql
>>> e não conseguir via pgbouncer. Você tem certeza que o postgres está no
>>> ar e aceitando conexões?
>>>
>>> Qual é a saída do log do pgbouncer?
>>>
>>> Como você iniciando o serviço do pgbouncer? Pergunto isso porque você
>>> pode estar mexendo em um arquivo de configuração que não é o do serviço
>>> atual.
>>>
>>>
>>> --
>>>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
>>
>
>
>
> --
>
>
> *Atenciosamente,Emanuel Araújo*
>
> *Linux Certified, DBA PostgreSQL*
>
> ___
> 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] Configuracao do PGBouncer

2016-11-02 Por tôpico lu moraes santos
Ola bom dia Euler.


Entao no linux eu consegui colocar pra rodar com a ajuda de um colega.

Eu acompanhei a receita de bolo e faltou apenas o seguinte comando:

su postgres -c '/usr/sbin/pgbouncer -d /etc/pgbouncer/pgbouncer.ini'  (devo
lembrar que sou muito leigo em Linux)

eu achei que era so subir o servico do pacote com service pgbouncer start;

porem minha aplicação nao roda com o pool_mode transaction por causa do
prepare, entao vamos rodar como session.

No Windows nao consiguimos de jeito nenhum.


Grato




Em 31 de out de 2016 23:15, "Euler Taveira" <eu...@timbira.com.br> escreveu:

> On 31-10-2016 08:09, lu moraes santos wrote:
> > Eu tentei ontem instalar tb no debian 8 , qdo fiz o apt-get install
> > pgbouncer ele instalou a versao 1.5, a atual é 1.7.2 , porem fiz a
> > receitinha de bolo da configuracao e tb deu conexão rejeitada.
> >
> > Voce acha melhor instalar a mais atual???
> >
> Não.
>
> Há algo muito esquisito com o seu ambiente. Sem lógica conectar via psql
> e não conseguir via pgbouncer. Você tem certeza que o postgres está no
> ar e aceitando conexões?
>
> Qual é a saída do log do pgbouncer?
>
> Como você iniciando o serviço do pgbouncer? Pergunto isso porque você
> pode estar mexendo em um arquivo de configuração que não é o do serviço
> atual.
>
>
> --
>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

Re: [pgbr-geral] Configuracao do PGBouncer

2016-10-31 Por tôpico lu moraes santos
Ola bom dia Euler.
Eu tentei ontem instalar tb no debian 8 , qdo fiz o apt-get install
pgbouncer ele instalou a versao 1.5, a atual é 1.7.2 , porem fiz a
receitinha de bolo da configuracao e tb deu conexão rejeitada.

Voce acha melhor instalar a mais atual???

Grato


[image: Foto]
*LuMoraes*
*O mais completo para seu comércio.*

Em 28 de outubro de 2016 08:57, lu moraes santos <djrlumor...@gmail.com>
escreveu:

> Ola bom dia Euler.
>
> A versao é 1.7.2 WIndows 64
>
> Muito grato pela sua atenção.
>
>
> [image: Foto]
> *LuMoraes*
> *O mais completo para seu comércio.*
>
> Em 28 de outubro de 2016 00:04, Euler Taveira <eu...@timbira.com.br>
> escreveu:
>
>> On 27-10-2016 07:11, lu moraes santos wrote:
>> > Eu apliquei as duas instruções e conectou normalmente no banco.
>> >
>> Qual é a versão exata do pgbouncer?
>>
>>
>> --
>>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

Re: [pgbr-geral] Configuracao do PGBouncer

2016-10-28 Por tôpico lu moraes santos
Ola bom dia Euler.

A versao é 1.7.2 WIndows 64

Muito grato pela sua atenção.


[image: Foto]
*LuMoraes*
*O mais completo para seu comércio.*

Em 28 de outubro de 2016 00:04, Euler Taveira <eu...@timbira.com.br>
escreveu:

> On 27-10-2016 07:11, lu moraes santos wrote:
> > Eu apliquei as duas instruções e conectou normalmente no banco.
> >
> Qual é a versão exata do pgbouncer?
>
>
> --
>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

Re: [pgbr-geral] Configuracao do PGBouncer

2016-10-27 Por tôpico lu moraes santos
Ola bom dia Euler.

Eu apliquei as duas instruções e conectou normalmente no banco.

ou seja , caiu no console do banco revisa

Grato


[image: Foto]
*LuMoraes*
*O mais completo para seu comércio.*

2016-10-26 19:03 GMT-02:00 Euler Taveira <eu...@timbira.com.br>:

> On 26-10-2016 16:36, lu moraes santos wrote:
> > Ola Euler, consigo sim
> >
> [Favor responder no contexto. Evite top-posting.]
>
> Suspeito ser algo com o host, tente:
>
> psql -h 127.0.0.1 -U postgres -p 5432 revisa
> psql -h ::1 -U postgres -p 5432 revisa
>
>
> --
>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

Re: [pgbr-geral] Configuracao do PGBouncer

2016-10-26 Por tôpico lu moraes santos
Ola Euler, consigo sim

ele cai certinho no prompt do psql , fica revisa-#

Grato


[image: Foto]
*LuMoraes*
*O mais completo para seu comércio.*

Em 26 de outubro de 2016 17:13, Euler Taveira <eu...@timbira.com.br>
escreveu:

> On 26-10-2016 13:53, lu moraes santos wrote:
> > 2016-10-26 14:49:46.955 5184 LOG S-007A7258:
> > meudb/postgres@127.0.0.1:5432 <http://postgres@127.0.0.1:5432> closing
> > because: connect failed (age=0)
> >
> Aparentemente o pgbouncer não consegue se conectar no postgres. Você
> consegue se conectar com o comando abaixo?
>
> psql -h localhost -U postgres -p 5432 revisa
>
>
> --
>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

Re: [pgbr-geral] Configuracao do PGBouncer

2016-10-26 Por tôpico lu moraes santos
Ola boa tarde Euler, muito grato pela atencao,

fiz as seguintes alteracoes:

NO  pgbouncer.ini:

[databases]
meudb = host=localhost port=5432 dbname=revisa

acima entao eu dei um alias chamado meudb para o banco revisa em localhost
e porta 5432

[pgbouncer]

logfile = C:\Program Files (x86)\PgBouncer\log\pgbouncer.log
pidfile = C:\Program Files (x86)\PgBouncer\log\pgbouncer.pid

;ip address or * which means all ip-s

listen_addr = localhost
listen_port = 6432
auth_type = trust
auth_file = C:\Program Files (x86)\PgBouncer\etc\userlist.txt
admin_users = postgres

acima eu coloque localhost sem estar envolvido por aspas e coloquei o
caminho completo como vc mencionou.

No userlist.txt :

"postgres" "wg091514"

obs: o firewall esta desativado

ao tentar conectar ocorre o seguinte erro que eu peguei do log:

2016-10-26 14:49:26.091 5184 LOG File descriptor limit: -1 (H:-1),
max_client_conn: 100, max fds possible: 130
2016-10-26 14:49:26.104 5184 LOG listening on ::1/6432
2016-10-26 14:49:26.104 5184 LOG listening on 127.0.0.1:6432
2016-10-26 14:49:26.104 5184 LOG process up: pgbouncer 1.7.2, libevent
2.0.21-stable (win32), adns: evdns2, tls: OpenSSL 1.0.2g  1 Mar 2016
2016-10-26 14:49:46.800 5184 LOG C-00770FF0: meudb/postgres@[::1]:51808
login attempt: db=meudb user=postgres tls=no
2016-10-26 14:49:46.954 5184 WARNING
2016-10-26 14:49:46.955 5184 LOG S-007A7258: meudb/postgres@127.0.0.1:5432
closing because: connect failed (age=0)
2016-10-26 14:50:01.858 5184 WARNING
2016-10-26 14:50:01.859 5184 LOG S-007A7258: meudb/postgres@127.0.0.1:5432
closing because: connect failed (age=0)
2016-10-26 14:50:17.042 5184 WARNING
2016-10-26 14:50:17.043 5184 LOG S-007A7258: meudb/postgres@127.0.0.1:5432
closing because: connect failed (age=0)
2016-10-26 14:50:26.101 5184 LOG Stats: 0 req/s, in 0 b/s, out 0 b/s,query
0 us
2016-10-26 14:50:31.931 5184 WARNING
2016-10-26 14:50:31.931 5184 LOG S-007A7258: meudb/postgres@127.0.0.1:5432
closing because: connect failed (age=0)
2016-10-26 14:50:46.966 5184 LOG C-00770FF0: meudb/postgres@[::1]:51808
closing because: client_login_timeout (server down) (age=60)
2016-10-26 14:50:46.966 5184 WARNING C-00770FF0: meudb/postgres@[::1]:51808
Pooler Error: client_login_timeout (server down)

GRATO



[image: Foto]
*LuMoraes*
*O mais completo para seu comércio.*

2016-10-26 13:30 GMT-02:00 Euler Taveira <eu...@timbira.com.br>:

> On 26-10-2016 11:32, lu moraes santos wrote:
> > listen_addr = localhost
> > listen_port = 6432
> > auth_type = md5
> > auth_file = pgbouncer-users.txt
> > admin_users = postgres
> >
> > No userlist.txt :
> >
> pgbouncer-users.txt ou userlist.txt? Coloca o caminho completo no
> auth_file pois sem o caminho completo o carregamento do arquivo em
> auth_file depende do diretório atual. Alguma pista no log (inicie o
> serviço com -v)?
>
> > psql: ERROR:  pgbouncer cannot connect to server
> >
> Você já verificou o firewall da máquina?
>
>
> --
>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] Configuracao do PGBouncer

2016-10-26 Por tôpico lu moraes santos
Ola a todos , estou tentando configurar o PGBOUNCER no Windows 7 e estou
fazendo da seguinte forma:


No pgbouncer.ini:

[databases]
revisa2 = host=localhost port=5432 dbname=revisa

[pgbouncer]

logfile = C:\Program Files (x86)\PgBouncer\log\pgbouncer.log
pidfile = C:\Program Files (x86)\PgBouncer\log\pgbouncer.pid

listen_addr = localhost
listen_port = 6432
auth_type = md5
auth_file = pgbouncer-users.txt
admin_users = postgres

No userlist.txt :

"postgres" "wg091514"



No pg_hba.conf:

# IPv4 local connections:
hostall all 0.0.0.0/0md5
# IPv6 local connections:
hostall all ::0/0md5

Ai para testar se tudo esta ok eu faço:

psql -U postgres -p 6432 -d revisa2

Porem retorna:

psql: ERROR:  pgbouncer cannot connect to server

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

Re: [pgbr-geral] Retorno de uma funcao como tabela

2016-08-30 Por tôpico lu moraes santos
Ola amigo, me de um feedback, deu certo a funcao que eu enviei???


[image: Foto]
*LuMoraes*
*O mais completo para seu comércio.*

Em 30 de agosto de 2016 17:41, lu moraes santos <djrlumor...@gmail.com>
escreveu:

> ola amigo agora entendi , segue abaixo sua solucao:
>
> CREATE OR REPLACE FUNCTION public.dominio (
>   p_dominio text,
>   p_sequencia text
> )
> RETURNS TABLE (
>   codigo INTEGER,
>   descricao TEXT
> ) AS
> $body$
> DECLARE
>   rQtde RECORD;
>   vetDescricao TEXT[];
>   vetCodigo INTEGER[];
>   i INTEGER;
> BEGIN
>  CREATE TEMP TABLE dominio(
>   codigo INTEGER,
>   descricao TEXT );
>
>  i:=1;
>  SELECT INTO vetDescricao string_to_array(p_dominio,',');
>  SELECT INTO vetCodigo string_to_array(p_sequencia,',');
>  FOR rQtde IN SELECT unnest(string_to_array(p_dominio,',')) as dominio
>  LOOP
>INSERT INTO dominio(codigo,descricao) VALUES(vetCodigo[i],
> vetDescricao[I]);
> i:=i+1;
>  END LOOP;
>  RETURN query SELECT * FROM dominio;
>  DROP TABLE dominio;
> END;
> $body$
> LANGUAGE 'plpgsql'
> VOLATILE
> CALLED ON NULL INPUT
> SECURITY INVOKER
> COST 100 ROWS 1000;
>
> PARA USAR:
>
> SELECT * from dominio('UM,DOIS,TRES','1,2,3')
>
>
> [image: Foto]
> *LuMoraes*
> *O mais completo para seu comércio.*
>
> 2016-08-30 17:17 GMT-03:00 Carlos Antônio Pereira <
> carlosanto...@utivida.com.br>:
>
>>
>> Ola boa tarde amigo
>>
>> Veja uma funcao exemplo:
>>
>> CREATE OR REPLACE FUNCTION teste(pSeuParaMetro)
>>   RETURNS TABLE(id_produto integer, codfor character varying, codbar
>> character varying, descricao character varying, qtd_minima integer, estoque
>> numeric, reposicao numeric, prateleira character varying) AS
>> $BODY$
>> BEGIN
>>   RETURN QUERY SELECT id_produto , codfor  , codbar  , descricao,
>> qtd_minima , estoque , reposicao , prateleira FROM tabela WHERE
>> campo=pSeuParaMetro;
>> END;
>> $BODY$
>>   LANGUAGE plpgsql VOLATILE
>>   COST 100
>>   ROWS 1000;
>>
>> veja se isto te ajuda.
>>
>>
>>
>> Obrigado pela dica.
>> Mas a idéia é construir um record e retorná-lo a partir do parâmetro
>> passado para a função, sem que tenha uma tabela relacionada ao retorno.
>>
>> Algo como:
>>
>> select dominio(‘Sim;Não’);
>>
>> Retorno:
>> codigo descricao
>> 1  Sim
>> 2  Não
>>
>> select dominio(‘CPF;CNPJ’);
>> codigo descricao
>> 1  CPF
>> 2  CNPJ
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> ___
>> 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] Retorno de uma funcao como tabela

2016-08-30 Por tôpico lu moraes santos
ola amigo agora entendi , segue abaixo sua solucao:

CREATE OR REPLACE FUNCTION public.dominio (
  p_dominio text,
  p_sequencia text
)
RETURNS TABLE (
  codigo INTEGER,
  descricao TEXT
) AS
$body$
DECLARE
  rQtde RECORD;
  vetDescricao TEXT[];
  vetCodigo INTEGER[];
  i INTEGER;
BEGIN
 CREATE TEMP TABLE dominio(
  codigo INTEGER,
  descricao TEXT );

 i:=1;
 SELECT INTO vetDescricao string_to_array(p_dominio,',');
 SELECT INTO vetCodigo string_to_array(p_sequencia,',');
 FOR rQtde IN SELECT unnest(string_to_array(p_dominio,',')) as dominio
 LOOP
   INSERT INTO dominio(codigo,descricao)
VALUES(vetCodigo[i],vetDescricao[I]);
i:=i+1;
 END LOOP;
 RETURN query SELECT * FROM dominio;
 DROP TABLE dominio;
END;
$body$
LANGUAGE 'plpgsql'
VOLATILE
CALLED ON NULL INPUT
SECURITY INVOKER
COST 100 ROWS 1000;

PARA USAR:

SELECT * from dominio('UM,DOIS,TRES','1,2,3')


[image: Foto]
*LuMoraes*
*O mais completo para seu comércio.*

2016-08-30 17:17 GMT-03:00 Carlos Antônio Pereira <
carlosanto...@utivida.com.br>:

>
> Ola boa tarde amigo
>
> Veja uma funcao exemplo:
>
> CREATE OR REPLACE FUNCTION teste(pSeuParaMetro)
>   RETURNS TABLE(id_produto integer, codfor character varying, codbar
> character varying, descricao character varying, qtd_minima integer, estoque
> numeric, reposicao numeric, prateleira character varying) AS
> $BODY$
> BEGIN
>   RETURN QUERY SELECT id_produto , codfor  , codbar  , descricao,
> qtd_minima , estoque , reposicao , prateleira FROM tabela WHERE
> campo=pSeuParaMetro;
> END;
> $BODY$
>   LANGUAGE plpgsql VOLATILE
>   COST 100
>   ROWS 1000;
>
> veja se isto te ajuda.
>
>
>
> Obrigado pela dica.
> Mas a idéia é construir um record e retorná-lo a partir do parâmetro
> passado para a função, sem que tenha uma tabela relacionada ao retorno.
>
> Algo como:
>
> select dominio(‘Sim;Não’);
>
> Retorno:
> codigo descricao
> 1  Sim
> 2  Não
>
> select dominio(‘CPF;CNPJ’);
> codigo descricao
> 1  CPF
> 2  CNPJ
>
>
>
>
>
>
>
>
>
>
>
>
> ___
> 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] Retorno de uma funcao como tabela

2016-08-30 Por tôpico lu moraes santos
Ola boa tarde amigo

Veja uma funcao exemplo:

CREATE OR REPLACE FUNCTION teste(pSeuParaMetro)
  RETURNS TABLE(id_produto integer, codfor character varying, codbar
character varying, descricao character varying, qtd_minima integer, estoque
numeric, reposicao numeric, prateleira character varying) AS
$BODY$
BEGIN
  RETURN QUERY SELECT id_produto , codfor  , codbar  , descricao,
qtd_minima , estoque , reposicao , prateleira FROM tabela WHERE
campo=pSeuParaMetro;
END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100
  ROWS 1000;

veja se isto te ajuda.

Saudacoes
LUMORAES

[image: Foto]
*LuMoraes*
*O mais completo para seu comércio.*

Em 30 de agosto de 2016 15:59, Carlos Antônio Pereira <
carlosanto...@utivida.com.br> escreveu:

> Pessoal, estou querendo construir uma função assim:
>
> select tb_dominio(‘Masculino; Feminino’)
>
> Onde o retorno seja tipo record mais ou menos assim:
>
> codigo descricao
> 1Masculino
> 2Feminino
>
>
> Alguma idéia?
>
> Att Carlos
>
> ___
> 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] Ferramentas de Administração do PostgreSQL

2016-07-26 Por tôpico lu moraes santos
Ola amigo, eu uso a muito tempo o EMS ele é o melhor que existe, tem muitos
recursos ate DEBUG de Function. Incrivel,



[image: Foto]
*LuMoraes*
*O mais completo para seu comércio.*

Em 26 de julho de 2016 14:32, Ronilson  escreveu:

> Em 26/07/2016 10:32 AM, "Gustavo"  escreveu:
> >
> > Ola Senhores e Senhoras
> >
> > Iniciado no PostgreSQL recentemente gostaria de saber que ferramentas
> estão utilizando para gerenciar o Banco  alem do pgAdminIII ??
>
> Ainda estou testando,  mas estou gostando muito do PhpPgAdmin e do
> TeamPostgreSQL.  Estou achando ambos bem legais.
>
> >
> > Obrigado pela ajuda !!!
> > ᐧ
> >
> > ___
> > pgbr-geral mailing list
> > pgbr-geral@listas.postgresql.org.br
> > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] TRAVANDO REGISTROS

2016-06-27 Por tôpico lu moraes santos
Ola bom dia Sebastian, voce me sugere que qdo ocorrer o travamento eu deva
executar um

select * from pg_locks e analisar o conteudo do campo "mode"??

e tb analisar a view pg_stat_activity???

Grato



[image: Foto]
*LuMoraes*
*O mais completo para seu comércio.*

Em 27 de junho de 2016 10:09, Sebastian Webber <sebast...@swebber.me>
escreveu:

>
>
> Em 27 de junho de 2016 08:44, lu moraes santos <djrlumor...@gmail.com>
> escreveu:
>
>> Bom dia a todos, eu uso o Postgres 9.5 Pro numa maquina Windows 7 64, na
>> realidade é um terminal de vendas onde o caixa e servidor ficam na mesma
>> maquina por se tratar de uma estrutura muito pequena.
>> Os garcons enviam os pedidos atraves de um apk android que conecta direto
>> com o banco, porem neste cliente quando chega um determinado momento ele
>> trava algumas mesas, ou seja, fica impedido de enviar pedidos somente pra
>> determinadas mesas, isto tanto pelo celular como tb pela retaguarda, para
>> demais mesas tudo fica normal, O problema so corrigi se reiniciar o servico
>> do postgres.
>> Temos varios clientes que usam nossa solução , porem somente num cliente
>> que ocorre este problema.
>> Que atitude poderia tomar para cercar o problema ???
>>
>
>
> Bom dia,
>
> chegastes a verificar se o problema não é causado por algum lock[1] a um
> objeto? É comum que a "lentidão" ocorra do lado do cliente por isso. Tu
> podes verificar se o lock ocorre no servidor através da view pg_locks[2] e
> pg_stat_activity[3], filtrando a coluna waiting.
>
> Pelas mensagens do log, você mata todas as conexões (e com isso todos os
> locks são eliminados com o termino da mesma).
>
> [1] https://www.postgresql.org/docs/current/static/explicit-locking.html
> [2] https://www.postgresql.org/docs/current/static/view-pg-locks.html
> [3]
> https://www.postgresql.org/docs/9.5/static/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW
>
> --
> 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

[pgbr-geral] TRAVANDO REGISTROS

2016-06-27 Por tôpico lu moraes santos
Bom dia a todos, eu uso o Postgres 9.5 Pro numa maquina Windows 7 64, na
realidade é um terminal de vendas onde o caixa e servidor ficam na mesma
maquina por se tratar de uma estrutura muito pequena.
Os garcons enviam os pedidos atraves de um apk android que conecta direto
com o banco, porem neste cliente quando chega um determinado momento ele
trava algumas mesas, ou seja, fica impedido de enviar pedidos somente pra
determinadas mesas, isto tanto pelo celular como tb pela retaguarda, para
demais mesas tudo fica normal, O problema so corrigi se reiniciar o servico
do postgres.
Temos varios clientes que usam nossa solução , porem somente num cliente
que ocorre este problema.
Que atitude poderia tomar para cercar o problema ???

Segue em anexo o log do banco

Grato a todos.

Luciano Moraes


postgresql-2016-06-26_00.log
Description: Binary data
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] VELOCIDADE DE ACESSO REMOTO AO POSTGRESQL

2016-03-05 Por tôpico lu moraes santos
Ola amigo, delphi não é uma linguagem morta não, o Rest json você consegue
trabalhar no delphi usando datasnap. Tranquilo. Delphi você desenvolve pra
Windows, Android, Apple nativamente.  O acesso de minha aplicação em delphi
com Postgres é extremamente rápido. Peço pro amigo fazer um teste usando o
unidac.
Em 5 de mar de 2016 6:32 PM, "Itamar Reis Peixoto" 
escreveu:

>
>
> On 03/05/2016 05:28 PM, Fabrízio de Royes Mello wrote:
>
>> On 05-03-2016 16:21, Itamar Reis Peixoto wrote:
>>
>>> On 2016-03-05 04:10 PM, Ali do Amaral Pedrozo wrote:
>>>
 Olá!

 Sou iniciante no Postgres! Tenho uma aplicação em SQL SERVER 2014
 EXPRESS desenvolvida em Delphi XE 8 e estou migrando para o Postgres
 9.4.

 No ambiente de testes funciona tudo perfeitamente, porém, quando eu
 me conecto em um Postgres remoto (instalado em um Debian 8 ), a
 conexão, e a recuperação de dados é lenta.

>>> acesse o banco atraves de REST.
>>>
>>> Pq?
>>
>> delphi é um a linguagem morta, rest é algo moderno, rápido, seguro,
> utilizando rest fica mais facil colocar algo na web caso seja necessario.
>
> ___
> 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] VELOCIDADE DE ACESSO REMOTO AO POSTGRESQL

2016-03-05 Por tôpico lu moraes santos
O Firedac é muito rápido para acesso, atualmente uso o zeos, faz conexão
nativa,  tente usar o unidac ele é o mais rápido.
Em 5 de mar de 2016 5:28 PM, "Fabrízio de Royes Mello" <
fabri...@timbira.com.br> escreveu:

> On 05-03-2016 16:21, Itamar Reis Peixoto wrote:
> > On 2016-03-05 04:10 PM, Ali do Amaral Pedrozo wrote:
> >> Olá!
> >>
> >> Sou iniciante no Postgres! Tenho uma aplicação em SQL SERVER 2014
> >> EXPRESS desenvolvida em Delphi XE 8 e estou migrando para o Postgres
> >> 9.4.
> >>
> >> No ambiente de testes funciona tudo perfeitamente, porém, quando eu
> >> me conecto em um Postgres remoto (instalado em um Debian 8 ), a
> >> conexão, e a recuperação de dados é lenta.
> >
> > acesse o banco atraves de REST.
> >
>
> Pq?
>
> --
>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

Re: [pgbr-geral] RESULT TABLE DINAMICAMENTE

2016-02-25 Por tôpico lu moraes santos
Legal , vou fazer este teste.

Grato amigo

[image: Foto]
*LuMoraes*
*O mais completo para seu comércio.*

Em 25 de fevereiro de 2016 18:08, Matheus de Oliveira <
matioli.math...@gmail.com> escreveu:

>
> 2016-02-25 16:33 GMT-03:00 lu moraes santos <djrlumor...@gmail.com>:
>
>> entao o PG nao aceita vc mudar a estrutura no select de retorno que seja
>> diferente da estrutura declarada na PL.
>
>
> Não aceita. E?
>
> Minha dica é usar NULL nas colunas que não te interessam para cada caso.
>
> At.
> --
> 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

Re: [pgbr-geral] RESULT TABLE DINAMICAMENTE

2016-02-25 Por tôpico lu moraes santos
Ola Matheus, boa tarde,
Antes de qquer coisa quero agradecer tua atencao.

Entao eu vou colocar aqui a estrutura da minha pl pra vc entender melhor:

CREATE OR REPLACE FUNCTION public.lucratividade_detalhada (Pd1 Date, Pd2
Date)
RETURNS TABLE (
  ID_OS integer,
  DATA DATE,
  ID_CLIENTE integer,
  NOME VARCHAR(100),
  ID_PRODUTO INTEGER,
  CODFOR VARCHAR(100),
  CODBAR VARCHAR(100),
  DESCRICAO VARCHAR(100),
  UNIDADE VARCHAR(2),
  QTDE NUMERIC(10,3),
  CUSTO NUMERIC(10,2),
  DESCONTO NUMERIC(10,2),
  UNITARIO NUMERIC(10,2),
  TOTAL_LIQUIDO NUMERIC(10,2),
  TOTAL_BRUTO NUMERIC(10,2),
  TOTAL_CUSTO NUMERIC(10,2),
  LUCRO NUMERIC(10,2),
  MARCKUP NUMERIC(10,2),
  ML NUMERIC(10,2),
  TIPO CHAR(10)
) AS
$body$
DECLARE


veja que em return TABLE eu defino a estrutura que desejo retornar. entao
se eu retornar qquer coisa que seja diferente desta estrutura da pau.

Vou colocar aqui teu exemplo:

IF (p_resumido) THEN
RETURN QUERY SELECT foo, bar, null, null FROM ...
ELSE
   RETURN QUERY SELECT foo, bar, baz, zaz FROM ...
END IF;


entao o PG nao aceita vc mudar a estrutura no select de retorno que seja
diferente da estrutura declarada na PL.

Entendeu???



[image: Foto]
*LuMoraes*
*O mais completo para seu comércio.*

Em 25 de fevereiro de 2016 14:51, Matheus de Oliveira <
matioli.math...@gmail.com> escreveu:

>
> 2016-02-24 15:33 GMT-03:00 lu moraes santos <djrlumor...@gmail.com>:
>
>> pelo que estou vendo no seu codigo, voce preenche os campos que nao serao
>> retornados com null para atender a estrutura que foi definida no return
>> table???
>>
>>
> Correto.
>
> Se sim como ficaria no caso de fazer um agrupamento??/
>>
>
> Da mesma forma, não entendi a dúvida.
>
> 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

Re: [pgbr-geral] RESULT TABLE DINAMICAMENTE

2016-02-24 Por tôpico lu moraes santos
Ola boa tarde Matheus, seria isto sim

IF (p_resumido) THEN
RETURN QUERY SELECT foo, bar, null, null FROM ...
ELSE
   RETURN QUERY SELECT foo, bar, baz, zaz FROM ...
END IF;

pelo que estou vendo no seu codigo, voce preenche os campos que nao serao
retornados com null para atender a estrutura que foi definida no return
table???

Se sim como ficaria no caso de fazer um agrupamento??/

GRATO


[image: Foto]
*LuMoraes*
*O mais completo para seu comércio.*

Em 22 de fevereiro de 2016 10:40, Matheus de Oliveira <
matioli.math...@gmail.com> escreveu:

>
> 2016-02-22 7:17 GMT-03:00 lu moraes santos <djrlumor...@gmail.com>:
>
>> Então eu não queria especificar quais campos no return. Pq vou criar uma
>> função que vai receber um parametro Resumido ou Detalhado. Se Resumido vai
>> retornar tais campos, se detalhado retorna tais campos, por isto que falei
>> de retornar os campos dinamicamente. Grato
>
>
> Seria o seguinte?
>
> IF (p_resumido) THEN
> RETURN QUERY SELECT foo, bar, null, null FROM ...
> ELSE
> RETURN QUERY SELECT foo, bar, baz, zaz FROM ...
> END IF;
>
> Se quiser mais dinâmico:
>
> v_query := $$SELECT foo, bar, baz, zaz FROM ... $$;
> IF (p_resumido) THEN
> RETURN QUERY EXECUTE 'SELECT foo, bar, null, null FROM
> ('||v_query||') t';
> ELSE
> RETURN QUERY EXECUTE v_query;
> END IF;
>
> Era isso que queria?
>
> 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] PARAMETRO JSON PARA UMA PL

2016-02-24 Por tôpico lu moraes santos
Ola boa  tarde a todos.

Eu precisaria passar para uma PL uma colecao de dados, para quem programa
em DELPHI seria um dataset, eu achei algumas solucoes passando arrays, como
eu faria para passar uma colecao em json como parametro e dentro da pl
fazer um loop com estes dados ???

GRATO


[image: Foto]
*LuMoraes*
*O mais completo para seu comércio.*
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] RESULT TABLE DINAMICAMENTE

2016-02-22 Por tôpico lu moraes santos
Ola bom dia Matheus.
Então eu não queria especificar quais campos no return. Pq vou criar uma
função que vai receber um parametro Resumido ou Detalhado. Se Resumido vai
retornar tais campos, se detalhado retorna tais campos, por isto que falei
de retornar os campos dinamicamente. Grato
Em 22 de fev de 2016 3:39 AM, "Matheus de Oliveira" <
matioli.math...@gmail.com> escreveu:

>
> 2016-02-19 17:10 GMT-02:00 lu moraes santos <djrlumor...@gmail.com>:
>
>> return query
>> SELECT * from tmplucratividade;
>>
>> Neste ex. a tabela  tmplucratividade tem exatamente a mesma estrutura da
>> TABLE.
>>
>> Porem queria saber se existe uma maneira de eu retornar uma QUERY
>> DINAMICAMENTE
>>
>> exemplo:
>>
>> RETURN QUERY Select Nome, Endereco From CLIENTE Order by Nome;
>>
>
> Não sei se entendi, o que é "dinâmico" nessa query? Quer retornar apenas
> algumas colunas? Se quiser, basta definir somente estas no RETURNS TABLE.
>
> At.
> --
> 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] RESULT TABLE DINAMICAMENTE

2016-02-19 Por tôpico lu moraes santos
Ola boa tarde a todos.

Eu venho criando algumas pls pra resultar uma TABLE, na definicao da funcao
ja se determina a estrutura da table que vai resultar.

exemplo:


CREATE OR REPLACE FUNCTION public.lucratividade_detalhada (Pd1 Date, Pd2
Date)
RETURNS TABLE (
  ID_OS integer,
  DATA DATE,
  ID_CLIENTE integer,
  NOME VARCHAR(100),
  ID_PRODUTO INTEGER,
  CODFOR VARCHAR(100),
  CODBAR VARCHAR(100),
  DESCRICAO VARCHAR(100),
  UNIDADE VARCHAR(2),
  QTDE NUMERIC(10,3),
  CUSTO NUMERIC(10,2),
  DESCONTO NUMERIC(10,2),
  UNITARIO NUMERIC(10,2),
  TOTAL_LIQUIDO NUMERIC(10,2),
  TOTAL_BRUTO NUMERIC(10,2),
  TOTAL_CUSTO NUMERIC(10,2),
  LUCRO NUMERIC(10,2),
  MARCKUP NUMERIC(10,2),
  ML NUMERIC(10,2)
) AS
$body$ ()


AI NO RETURN DEVO CRIA-LO PRA RETORNAR EXATAMENTE A ESTRUTURA QUE ESTA
DETALHADO NA TABLE:

return query
SELECT * from tmplucratividade;

Neste ex. a tabela  tmplucratividade tem exatamente a mesma estrutura da
TABLE.

Porem queria saber se existe uma maneira de eu retornar uma QUERY
DINAMICAMENTE

exemplo:

RETURN QUERY Select Nome, Endereco From CLIENTE Order by Nome;

GRATO.
LUCIANO





[image: Foto]
*LuMoraes*
*O mais completo para seu comércio.*
___
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 DINAMICO DENTRO DE UM PL

2016-02-02 Por tôpico lu moraes santos
Então como eu faria esta modelagem de gerar as parcelas de acordo com a
forma de pagamento
Em 1 de fev de 2016 11:45 PM, "Osvaldo Kussama" <osvaldo.kuss...@gmail.com>
escreveu:

> Em 01/02/16, lu moraes santos<djrlumor...@gmail.com> escreveu:
> > veja pra vc entender:
> >
> > id_pagto  descricaoqtdparc   p1  p2  p3  p4  p5  p6 .P12
> >1   A Vista   1  0
> >2  Entrada + 30   2  0   30
> >3Entr/30/60 3  0   30   60
> >430/60/903 30  60   90
> >530/45/503 30  45   50
> >
> > Os campos p1 ate p12 DETERMINA O INTERVALO DOS VENCIMENTO
> >
> > O Campo qtdparc DETERMINA A QTDE DE PARCELAS
> >
> > Se vc fizer uma compra de 100,00 usando id_pagto=2 ficaria:
> >
> > 50,00 pra hj (current_date + 0)
> > 50,00 para 02/03/2016  (current_date + 30)
> >
>
>
> Creio que você deva repensar sua solução.
> Me parece sem sentido você utilizar estas múltiplas variáveis.
>
> Osvaldo
> ___
> 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] SQL DINAMICO DENTRO DE UM PL

2016-02-01 Por tôpico lu moraes santos
Ola bom dia a todos.

Estou precisando montar um sql dinamico dentro de uma PL, tenho uma tabela
de cond. pagto onde devo destacar os seguinte campos:

qtdparc = quantidade de parcelas

p1 ate p12 ou seja os dias de vencto de cada parcela, exemplo:

qtdparc=2
p1=30
p2=60

ou seja 2 parcelas = 30 + 60  os vencimentos

estou fazendo um loop na qtde de parcelas pra gerar o valor e vencto de
cada parcela:

for i in 1..qtdparc
 loop

-- eu fiz da seguinte forma:

  execute 'select into dDataVencto current_date + p' || i ||' from
condpagto where   id_pagto= 6';

-- O dDataVencto  é uma variavel do tipo Date para receber a data de hoje +
n
-- dias

-- note que 'p'|| i é pra concatenar o p + valor de i no loop para pegar a
parcela (p1 ou p2 ou p3 ou pnvezes)

-- aqui em baixo o resto do codigo.

 end loop;


Porem ao executar da erro de sintaxe.

Grato








[image: Foto]o
*LuMoraes*
*O mais completo para seu comércio.*
___
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 DINAMICO DENTRO DE UM PL

2016-02-01 Por tôpico lu moraes santos
Ola bom dia Osvaldo.

quando vc usa o comando INTO dDataVencto USING i; ele vai substituir o
conteudo do parametro $1 pelo conteudo de i, entao se fosse traduzir o sql:

Select Current_date + P1 from condpagto WHERE id_pagto=6; entao seria:

EXECUTE 'SELECT current_date + P*$1* FROM condpagto WHERE id_pagto=6' INTO
dDataVencto USING i; ?

Se for ai da o seguinte erro:

ERROR:  column "p$1" does not exist
LINE 1: SELECT  current_date + p$1 FROM condpagto WHERE id_pagto = 6
   ^
HINT:  Perhaps you meant to reference the column "condpagto.p1" or the
column "condpagto.p11".

MUITO GRATO PELA ATENCAO

[image: Foto]
*LuMoraes*
*O mais completo para seu comércio.*

Em 1 de fevereiro de 2016 11:05, Osvaldo Kussama <osvaldo.kuss...@gmail.com>
escreveu:

> Em 01/02/16, lu moraes santos<djrlumor...@gmail.com> escreveu:
> > Ola bom dia a todos.
> >
> > Estou precisando montar um sql dinamico dentro de uma PL, tenho uma
> tabela
> > de cond. pagto onde devo destacar os seguinte campos:
> >
> > qtdparc = quantidade de parcelas
> >
> > p1 ate p12 ou seja os dias de vencto de cada parcela, exemplo:
> >
> > qtdparc=2
> > p1=30
> > p2=60
> >
> > ou seja 2 parcelas = 30 + 60  os vencimentos
> >
> > estou fazendo um loop na qtde de parcelas pra gerar o valor e vencto de
> > cada parcela:
> >
> > for i in 1..qtdparc
> >  loop
> >
> > -- eu fiz da seguinte forma:
> >
> >   execute 'select into dDataVencto current_date + p' || i ||' from
> > condpagto where   id_pagto= 6';
> >
> > -- O dDataVencto  é uma variavel do tipo Date para receber a data de
> hoje +
> > n
> > -- dias
> >
> > -- note que 'p'|| i é pra concatenar o p + valor de i no loop para pegar
> a
> > parcela (p1 ou p2 ou p3 ou pnvezes)
> >
> > -- aqui em baixo o resto do codigo.
> >
> >  end loop;
> >
> >
> > Porem ao executar da erro de sintaxe.
> >
> >
>
> Tente:
>
> EXECUTE 'SELECT  current_date + $1*30 FROM condpagto WHERE id_pagto =
> 6' INTO dDataVencto USING i;
>
> Osvaldo
> ___
> 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] SQL DINAMICO DENTRO DE UM PL

2016-02-01 Por tôpico lu moraes santos
veja pra vc entender:

id_pagto  descricaoqtdparc   p1  p2  p3  p4  p5  p6 .P12
   1   A Vista   1  0
   2  Entrada + 30   2  0   30
   3Entr/30/60 3  0   30   60
   430/60/903 30  60   90
   530/45/503 30  45   50

Os campos p1 ate p12 DETERMINA O INTERVALO DOS VENCIMENTO

O Campo qtdparc DETERMINA A QTDE DE PARCELAS

Se vc fizer uma compra de 100,00 usando id_pagto=2 ficaria:

50,00 pra hj (current_date + 0)
50,00 para 02/03/2016  (current_date + 30)

GRATO




[image: Foto]
*LuMoraes*
*O mais completo para seu comércio.*

2016-02-01 12:14 GMT-02:00 Osvaldo Kussama <osvaldo.kuss...@gmail.com>:

> Em 01/02/16, lu moraes santos<djrlumor...@gmail.com> escreveu:
> > Ola bom dia Osvaldo.
> >
> > quando vc usa o comando INTO dDataVencto USING i; ele vai substituir o
> > conteudo do parametro $1 pelo conteudo de i, entao se fosse traduzir o
> sql:
> >
> > Select Current_date + P1 from condpagto WHERE id_pagto=6; entao seria:
> >
> > EXECUTE 'SELECT current_date + P*$1* FROM condpagto WHERE id_pagto=6'
> INTO
> > dDataVencto USING i; ?
> >
> > Se for ai da o seguinte erro:
> >
> > ERROR:  column "p$1" does not exist
> > LINE 1: SELECT  current_date + p$1 FROM condpagto WHERE id_pagto = 6
> >^
> > HINT:  Perhaps you meant to reference the column "condpagto.p1" or the
> > column "condpagto.p11".
> >
>
>
> Sinceramente não vejo muito sentido na utilização destas variáveis pi
> para definir a quantidade de dias para o vencimento de cada parcela.
>
> Osvaldo
> ___
> 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] Mudar a estrutura da tabela com dependencias de VIEWS

2016-01-11 Por tôpico lu moraes santos
Quando se muda por exemplo  o tamanho de um campo de uma tabela que exista
views o postgres exige que se apague as dependencias altere e depois refaça
tais dependencias, isto nao ocorre no sql server, sera que existe alguma
solucao pra isto no pg??

Grato

[image: Foto]
*LuMoraes*
*O mais completo para seu comércio.*
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Mudar a estrutura da tabela com dependencias de VIEWS

2016-01-11 Por tôpico lu moraes santos
Eu uso a  versao 9.4 e estou testando a versao 9.5 , o exemplo que vc
montou é exatamente isto que ocorre aqui.
O problema é que eu tenho muitas views e qdo preciso recriar dá um
trabalhao gigante, mas se for analisar isto nao poderia ser problema pro
banco de dados pois a view é criada em cima da estrutura da tabela ,
mudando a estrutura a view deveria enxergar esta nova estrutura ne, no sql
server isto nao ocorre.

Grato


[image: Foto]
*LuMoraes*
*O mais completo para seu comércio.*

Em 11 de janeiro de 2016 10:25, Sebastian Webber <sebast...@swebber.me>
escreveu:

>
>
> Em 11 de janeiro de 2016 08:57, lu moraes santos <djrlumor...@gmail.com>
> escreveu:
>
>> Quando se muda por exemplo  o tamanho de um campo de uma tabela que
>> exista views o postgres exige que se apague as dependencias altere e depois
>> refaça tais dependencias, isto nao ocorre no sql server, sera que existe
>> alguma solucao pra isto no pg??
>>
>
> Olá, bom dia!
>
> Qual é a versão do PostgreSQL que você está usando?
>
> Eu fiz um teste, conforme abaixo, e parece não ser suportado. Seria
> problema apagar e recriar essa view?
>
> $ psql
> psql (9.4.5)
> Type "help" for help.
>
> sebastian=# *create table foo (id serial primary key, nome text);*
> CREATE TABLE
> sebastian=# *insert into foo (nome) select 'nome ' ||
> generate_series(1,10);*
> INSERT 0 10
> sebastian=# *create view bar as SELECT id, nome from foo where id > 5;*
> CREATE VIEW
> sebastian=# *select * from bar;*
>  id |  nome
> +-
>   6 | nome 6
>   7 | nome 7
>   8 | nome 8
>   9 | nome 9
>  10 | nome 10
> (5 rows)
>
> sebastian=# *alter table foo alter COLUMN nome type varchar(1000);*
> ERROR:  cannot alter type of a column used by a view or rule
> DETAIL:  rule _RETURN on view bar depends on column "nome"
>
>
> --
> 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] Dúvida sobre postgres_fdw

2016-01-05 Por tôpico lu moraes santos
Ola boa tarde a todos.
Eu uso o postgres no windows pois atendo clientes de comercio que nao tem
muito como investir em um servidor dedicado. Eu precisaria de ferramenta
para replicação, onde eu poderia escolher a tabela para ser replicada.

Grato

[image: Foto]
*LuMoraes*
*O mais completo para seu comércio.*

Em 5 de janeiro de 2016 15:49, Flavio Henrique Araque Gurgel <
fha...@gmail.com> escreveu:

> Que pena.
>>
>
> Evite o top-posting, bagunça a lista.
>
>  > Pessoal, alguém sabe dizer se é possível executar uma query diretamente
>>  > num banco de dados externo, sem ter que criar uma foreign table, usando
>>  > postgres_fdw?
>>
>
> Se você explicar sua necessidade talvez possamos ajudá-lo melhor.
> O que te impede de criar uma tabela estrangeira? Não vejo porque isso
> possa ser uma restrição.
>
>
> []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

Re: [pgbr-geral] Dúvida sobre postgres_fdw

2016-01-05 Por tôpico lu moraes santos
DESCULPA AMIGO , eu postei daqui mesmo deste email , ao inves de colocar
isto no forum , grato


[image: Foto]
*LuMoraes*
*O mais completo para seu comércio.*

Em 5 de janeiro de 2016 17:39, Osvaldo Kussama <osvaldo.kuss...@gmail.com>
escreveu:

> Em 05/01/16, lu moraes santos<djrlumor...@gmail.com> escreveu:
> > Ola boa tarde a todos.
> > Eu uso o postgres no windows pois atendo clientes de comercio que nao tem
> > muito como investir em um servidor dedicado. Eu precisaria de ferramenta
> > para replicação, onde eu poderia escolher a tabela para ser replicada.
> >
>
>
> Desculpe minha ignorância, mas sua questão tem algo a ver com o que
> estava sendo discutido nesta thread?
>
> Osvaldo
> ___
> 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] Base de dados de CEP do Brasil.

2016-01-04 Por tôpico lu moraes santos
Ola bom dia amigo poderia me enviar tb
Em 4 de jan de 2016 12:51 AM, "Francis Lay Silva" 
escreveu:

> Tenho uma em formato script para PostgreSQL , de poucos anos atrás, se
> quiser me envia um email privado e vejo como posso repassar.
>
> Enviado do meu dispositivo Android
> Em 03/01/2016 18:04, "Gustavo Neto"  escreveu:
>
>> Caros,
>>
>> Os senhores teriam a base de dados de CEP do Brasil. Pesquisei, mais os
>> melhores são caros.
>>
>> --
>> *Gustavo Neto*
>> *( (85) 9942.0548 <%2885%29%209942.0548>*
>> *( (85) 8785.6315 <%2885%29%208785.6315>*
>> *( (85) 3216.8330*
>> ** jgustavon...@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 mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral