実行したいクエリがあります。このクエリを実行している現在のデータベースをdb1とし、レコードを挿入するデータベースをdb2としましょう。postgres_fdwを使って挿入クエリを別のデータベースに組み立てるにはどうすればよいですか?
insert into db2.employee(id, name, group) values(id, <db1.employee.name>, <db1.employee.group>) where id in (select id from archived limit 2);
あなたが見ることができるように、値はDB1(現在のデータベース)の従業員テーブルから選択した後、DB2の従業員テーブルに挿入されなければなりません。
私は質問が間違っていることを知っていますが、私は何をしようとしているのかを説明するだけです。
私はどのようにpostgres_fdwを使用してクエリを定式化しますか?
私はこのクエリを使用して、他の方法ラウンド何かを試してみました
INSERT INTO employee select * from
dblink('host=10.1.1.1
user=user
password=password
dbname=mydb', 'select * from employee') tt(
id int,
name character varying,
);
編集:私は、リモートインサートとローカル選択をしたいので、予めご了承ください。私は私のローカルデータベースの代わりに、あなたはMySQLの(MySQLの中で行うことができます直接のように異なるデータベース内のテーブルにアクセスすることはできません
実際のテーブルに行を挿入する - 外部テーブルからdb2.employee - どのようにそれを行うには? – Tisha
'db2.employee' *は*外部テーブルですか、いいえ? 2つのテーブルに 'WITH x AS(INSERT ... RETURNING ...)INSERT ... SELECT ... FROM x'のようなものを使用する場合は、2つのテーブルに挿入します。 –
db2.employeeは実際のテーブルです。これはdb2に存在します。それはdb1.employeeと同じスキーマを持っています – Tisha