Obrigado Flávio e Euler. Euler, é isso mesmo, quero usar o For ali para ele pegar cada tabela e já converter, mais não estou conseguindo encaixar direito ele, deve ser porque ainda sou novo e estou apanhando bastante kkkkkk Mais onde ele ficaria melhor para ler e converter tabela a tabela?
Sua função ficou ótima, eu testei e era isso mesmo que estava tentando fazer obrigado Enviado com MailTrack <https://mailtrack.io/install?source=signature&lang=pt&referral=bruno.dc.fel...@gmail.com&idSignature=24> Em 16 de novembro de 2015 00:13, Euler Taveira <eu...@timbira.com.br> escreveu: > On 15-11-2015 07:21, Flavio Henrique Araque Gurgel wrote: > >> Sua função está colocando aspas e parênteses no nome da tabela. >> Corrija a concatenação no execute. >> >> O problema não é só esse. Ele está usando o tipo record ao invés do > elemento 'relname' do record. > > Como o Flavio disse, o ideal é não usar aspas e sim a função quote_ident > que decide se precisa usar aspas duplas ou não. > > CREATE OR REPLACE FUNCTION teste() returns setof record as $$ > DECLARE > tabela CURSOR IS SELECT relname FROM pg_stat_user_tables ORDER BY relname; > linha record; > BEGIN > OPEN tabela; > FETCH tabela INTO linha; > EXECUTE 'COPY (SELECT row_to_json(t) FROM (SELECT * FROM ' || > quote_ident(linha.relname) || ') t) TO ''/tmp/teste'''; > CLOSE tabela; > END; > $$ > LANGUAGE plpgsql > > É claro que se você declarou um cursor é porque vai usar um 'FOR foo IN > bar LOOP' ali. > > > -- > 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 -- *Bruno da Cunha Felipe*
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral