2015-02-26 10:03 GMT-03:00 Matheus Ferreira <[email protected]>:
> select * from dblink_exec
>
> ('dbname=igobal_bk
>
> hostaddr=172.16.42.13
>
> user=postgres
>
> password=04474180
>
> port=5432',
>
> 'INSERT INTO matheus
>
> VALUES((NEW).*)');
>
Isso não vai funcionar, o dblink recebe o comando como uma string e não vai
saber de onde vem o NEW, você vai precisar desmembrar o NEW e criar o
comando INSERT. Nesse caso a contrib hstore pode ser de grande ajuda.
Exemplo (não testado):
PERFORM dblink_exec('dbname=... ',
(
SELECT 'INSERT INTO tabela(' ||
string_agg(quote_ident(key), ',')
|| ') VALUES(' || string_agg(quote_literal(value), ',')
|| ')'
FROM each(hstore(NEW))
)
);
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
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral