Hola Alberto

Pues creo que podría crear la FOREIGN TABLE  con la estructura de la tabla
remota para insertar los datos que genera locamente...

El 29 de enero de 2018, 15:14, Alberto Cardenas Cardenas<
alberto.cardenas.c...@gmail.com> escribió:

> Gracias Hellmuth, pero no funciona lo que me indicas.
>
> Lo que necesito es que datos que tengo en mi servidor local, puedan ser
> insertados en un servidor externo con postgresql tambien en una tabla con
> cierta estructura
>
> El 29 de enero de 2018, 15:36, Hellmuth Vargas <hiv...@gmail.com>
> escribió:
>
>>
>> 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
>>
>>
>


-- 
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