내가 그 일을하고 어떻게 : 나는 다음과 같은 쿼리를 실행하면postgres_fdw를 사용하여 원격 db의 테이블을 업데이트하는 중 내가 여기서 무엇을하고 있습니까? 여기
CREATE EXTENSION IF NOT EXISTS postgres_fdw;
DROP SERVER IF EXISTS myserver CASCADE;
CREATE SERVER myserver FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host '10.1.1.1', dbname 'mydb', port '5432');
DROP USER MAPPING IF EXISTS FOR user SERVER myserver;
CREATE USER MAPPING FOR user
SERVER myserver
OPTIONS (user 'user', password 'password');
CREATE FOREIGN TABLE IF NOT EXISTS foriegnemployee(
id int,
name text,
is_done boolean
)
SERVER myserver
OPTIONS (schema_name 'myschema', table_name 'employee');
, 그것은 테이블 mydb.employee이 존재하지 않습니다 말한다 :
Update foriegnemployee set is_done=true where id in (select id from sometable);
sometable 로컬 테이블입니다. 직원 테이블은 내가 당신의 테이블로 mockup 시도 원격 DB
update foriegnemployee set is_done = true 여기서 id는 (select id from sometable)입니다. 나머지는 괜찮습니다. 올바른 원격 DB에 연결했는지 확인하십시오. .. –
remotedb.employee 테이블을 업데이트하여 부울 열 is_done이 sometable – Tisha
이라는 로컬 데이터베이스 테이블에있는 모든 ID에 대해 true로 설정되도록하려는 경우 코드에서 'FOREIGN TABLE FOR EXISTS foriegnemployee ...''foriegnemployee set is_done = true이어야합니다. 여기서 id는 (sometable로부터 select id); - 맞습니까? –