Re: Insertar datos en tabla remota

From: Hellmuth Vargas <hivs77(at)gmail(dot)com>
To: Anthony Sotolongo <asotolongo(at)gmail(dot)com>
Cc: Alberto Cardenas Cardenas <alberto(dot)cardenas(dot)c(dot)68(at)gmail(dot)com>, pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Insertar datos en tabla remota
Date: 2018-01-29 19:36:11
Message-ID: CAN3Qy4pZp083ZL4xMW0OE4irvK9SmpLQbV2+RtoArGApYN5jYA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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<asotolongo(at)gmail(dot)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 <hivs77(at)gmail(dot)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(dot)cardenas(dot)c(dot)68(at)gmail(dot)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

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alberto Cardenas Cardenas 2018-01-29 20:14:08 Re: Insertar datos en tabla remota
Previous Message Anthony Sotolongo 2018-01-29 19:24:28 Re: Insertar datos en tabla remota