Guimarães,

quero replicar todas as informações maior do que 30 dias do banco online
para um banco de dados "archive"

Entao, com a query abaixo queria que a mesma consulta-se no banco online as
informacoes maiores do que 30 dias e as inseri-se em uma tabela.

WITH moved AS (
select dblink_exec('host=host user_db=reply password=123 dbname=db',
'DELETE FROM remote_table where where campo < date_trunc(''second'', now())
 - INTERVAL ''30 day'' ')');
     RETURNING *
)
INSERT INTO local_table
SELECT * FROM moved;


Em 12 de novembro de 2013 14:16, Matheus de Oliveira <
[email protected]> escreveu:

>
> 2013/11/12 Eduardo Rodrigues <[email protected]>
>
>> Pessoal, estou utilizando CTE para copiar os dados de um banco de dados
>> remoto. Ao executar a instrução abaixo acusa erro o seguinte erro no
>> PgAdmin:
>>
>> ERROR:  syntax error at or near "RETURNING"
>> LINE 6:     RETURNING *
>>             ^
>>
>> ********** Error **********
>>
>> ERROR: syntax error at or near "RETURNING"
>> SQL state: 42601
>> Character: 238
>>
>> *Instrucao SQL que retorna o Erro*
>>
>>
>> WITH moved AS (
>> select dblink_exec('host=host user=user_db password=123 dbname=db',
>>  'DELETE FROM remote_table ')
>>  RETURNING *
>>
>
> Acho que você queria o returning dentro do SQL remoto, e, como espera
> retornar linhas usar a função dblink ao invés de dblink_exec:
>
> SELECT * FROM dblink('host=host user=user_db password=123 dbname=db',
>  'DELETE FROM remote_table RETURNING *')  AS t(col1 tipo1, col2 tipo2,
> ...);
>
>
>
>>  )
>> INSERT INTO table_local
>> SELECT * FROM moved;
>>
>> Nao posso utilizar o CTE para migrar os dados atraves do DBLINK?
>>
>>
>
> PS: Cuidado com esse tipo de operação, da forma como está fazendo não está
> garantido a atomicidade.
>
> 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
>
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a