Postgresql
如何使用引用同名遠端表的外部數據包裝器創建外部表?
我有 2 個數據庫,其中一個名為
logs
:http_log: id: serial method: Varchar(10) url: varchar(150)
我還有一個名為的數據庫
archiving
,它也有一個名為的表http_log
:http_log: id: unsinged integer method: Varchar(10) url: varchar(150)
如何創建外部表
archived_http_log
,以便將數據http_log
從archived_http_log
. 我的 postgresql 中不能有同名的表,因此我不能有 2 個名為http_log
.我最想要實現的是通過單個 SQL 腳本將數據
logs.http_log
從archiving.http_log
. 所以在一個伺服器上執行:INSERT INTO archived_http_log VALUES (SELECT * from http_log);
外部表不必與遠端表同名:
CREATE FOREIGN TABLE remote_http_log ( id integer NOT NULL, method text, url text ) SERVER whatever OPTIONS (table_name 'http_log');
或者,您可以在不同的模式中擁有兩個同名的表。