Hola Alberto

con  postgres_fdw  se puede inserta en una tabla remota


-- en el servidor remoto:
CREATE  TABLE remota(id int, texto text, fecha timestamp);

-- no olvidar registrar en el pg_hba.conf


-- en el servidor local


CREATE EXTENSION postgres_fdw;


CREATE SERVER postgresqlserver FOREIGN DATA WRAPPER postgres_fdw;



CREATE SERVER postgresql_server
        FOREIGN DATA WRAPPER postgres_fdw
        OPTIONS (host '192.168.XX.YY', port '5432', dbname 'bd_remota');


CREATE USER MAPPING FOR 'user_local'
        SERVER postgresql_server
        OPTIONS (user 'user_remoto', password 'pass_remoto');



CREATE FOREIGN TABLE foreign_table (
        id int, texto text, fecha timestamp
)
        SERVER postgresql_server
        OPTIONS (schema_name 'public', table_name 'remota');


INSERT INTO foreign_table(id,texto,fecha) VALUES(1,'a',now());
INSERT INTO foreign_table(id,texto,fecha) VALUES (2,'b',now());
INSERT INTO foreign_table(id,texto,fecha) VALUES (3,'c',now());




El 29 de enero de 2018, 14:24, Anthony Sotolongo<asotolo...@gmail.com>
escribió:

> Hola Alberto,
>
> On 29/01/18 16:15, Alberto Cardenas Cardenas wrote:
>
> Hola Hellmuth, no me sirve eso porque lo que necesito insertar es el
> resultado de unas querys en la tabla remota, no los mismos datos de la
> tabla origen, lo que debo insertar son datos procesados obtenidos desde una
> funcion local
>
> ya esto cambia un poco de tu escenario inicial donde se entendía  que (las
> tablas eran la misma en ambos servidores ) :
> insert into <tabla_remota>
> select * from <tabla_local>
>
> pero bueno si lo que necesitas es un resultado procesado de una función,
> igual te ajusta el FDW, crea una tabla foránea en el local con la
> estructura que te devuelve esos datos procesados de tu función, donde esa
> tabla apunte en tu definición a la tabla remota e inserta en esa tabla
> foranea local y ella misma se hara cargo de enviártelos al remoto.
>
>
> Saludos
>
>
>
>
> Saludos
>
> El 29 de enero de 2018, 15:07, Hellmuth Vargas <hiv...@gmail.com>
> escribió:
>
>> Hola Lista
>>
>> dado que  esta empleando PostgreSQL 9.6 puede  hacer uso de  postgres_fdw
>>
>> https://www.postgresql.org/docs/9.6/static/postgres-fdw.html
>>
>> "F.33.1.5. Updatability Options
>> By default all foreign tables using postgres_fdw are assumed to be
>> updatable. This may be overridden using the following option:
>>
>> updatable
>> This option controls whether postgres_fdw allows foreign tables to be
>> modified using *INSERT*, UPDATE and DELETE commands. It can be specified
>> for a foreign table or a foreign server. A table-level option overrides a
>> server-level option. The default is true."
>>
>>
>> El 29 de enero de 2018, 14:00, Alberto Cardenas Cardenas<
>> alberto.cardenas.c...@gmail.com> escribió:
>>
>>> Estimada Lista:
>>>
>>> Tengo el siguiente problema, necesito insertar datos desde una tabla
>>> local a una base de datos que esta en otro servidor, la tabla es la misma
>>> en ambos servidores, ambos motores son postgresql 9.6.
>>>
>>> Los datos que debo insertar son el resultado de un select. He estado
>>> leyendo que lo puedo hacer con dblink_exec, pero no se como hacerlo. Yo uso
>>> dblinks, para consultar datos entre distindas bases de datos, pero insertar
>>> de una base local a otra remota, no se como hacerlo.
>>>
>>> en el fono lo que debo hacer es lo siguiente;
>>>
>>> insert into <tabla_remota>
>>> select * from <tabla_local>
>>>
>>>
>>> Les agradeceríamucho si alguien me pudiera ayudar con mi problema
>>>
>>>
>>> Saludos Cordiales
>>>
>>> Alberto
>>>
>>>
>>
>>
>> --
>> Cordialmente,
>>
>> Ing. Hellmuth I. Vargas S.
>> Esp. Telemática y Negocios por Internet
>> Oracle Database 10g Administrator Certified Associate
>> EnterpriseDB Certified PostgreSQL 9.3 Associate
>>
>>
>
>


-- 
Cordialmente,

Ing. Hellmuth I. Vargas S.
Esp. Telemática y Negocios por Internet
Oracle Database 10g Administrator Certified Associate
EnterpriseDB Certified PostgreSQL 9.3 Associate

Reply via email to