PostgreSQL IMPORT FOREIGN SCHEMA

2021-09-10 16:51 更新

IMPORT FOREIGN SCHEMA — 從一個(gè)外部服務(wù)器導(dǎo)入表定義

大綱

IMPORT FOREIGN SCHEMA remote_schema
    [ { LIMIT TO | EXCEPT } ( table_name [, ...] ) ]
    FROM SERVER server_name
    INTO local_schema
    [ OPTIONS ( option 'value' [, ... ] ) ]

簡(jiǎn)介

IMPORT FOREIGN SCHEMA創(chuàng)建表示存在于 外部服務(wù)器上的表的外部表。新外部表將由發(fā)出該命令的用戶所擁有并且用 匹配遠(yuǎn)程表的正確的列定義和選項(xiàng)創(chuàng)建。

默認(rèn)情況下,存在于外部服務(wù)器上一個(gè)特定模式中的所有表和視圖都會(huì)被導(dǎo)入。 根據(jù)需要,表的列表可以被限制到一個(gè)指定的子集,或者可以排除特定的表。 新外部表都被創(chuàng)建在一個(gè)必須已經(jīng)存在的目標(biāo)模式中。

要使用IMPORT FOREIGN SCHEMA,用戶必 須具有外部服務(wù)器上的USAGE特權(quán)以及在目標(biāo)模式上的 CREATE特權(quán)。

參數(shù)

remote_schema

要從哪個(gè)遠(yuǎn)程模式導(dǎo)入。一個(gè)遠(yuǎn)程模式的特定含義依賴于所使用的外部數(shù)據(jù)包裝器。

LIMIT TO ( table_name [, ...] )

只導(dǎo)入匹配給定表名之一的外部表。外部模式中其他的表將被忽略。

EXCEPT ( table_name [, ...] )

把指定的外部表排除在導(dǎo)入之外。除了列在這里的表之外,外部模式 中存在的所有表都將被導(dǎo)入。

server_name

要從哪個(gè)外部服務(wù)器導(dǎo)入。

local_schema

被導(dǎo)入的外部表將創(chuàng)建在其中的模式。

OPTIONS ( option 'value' [, ...] )

要在導(dǎo)入期間使用的選項(xiàng)。允許使用的選項(xiàng)名稱和值與每一個(gè)外部數(shù)據(jù)包裝器 有關(guān)。

示例

從服務(wù)器film_server上的遠(yuǎn)程模式foreign_films 中導(dǎo)入表定義,把外部表創(chuàng)建在本地模式films中:

IMPORT FOREIGN SCHEMA foreign_films
    FROM SERVER film_server INTO films;

同上,但是只導(dǎo)入兩個(gè)表actorsdirectors(如果存在):

IMPORT FOREIGN SCHEMA foreign_films LIMIT TO (actors, directors)
    FROM SERVER film_server INTO films;

兼容性

IMPORT FOREIGN SCHEMA命令符合 SQL標(biāo)準(zhǔn),不過OPTIONS 子句是一種PostgreSQL擴(kuò)展。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)