forked from docs/doc-exports
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com> Co-authored-by: Lu, Huayi <luhuayi@huawei.com> Co-committed-by: Lu, Huayi <luhuayi@huawei.com>
98 lines
15 KiB
HTML
98 lines
15 KiB
HTML
<a name="EN-US_TOPIC_0000001233708653"></a><a name="EN-US_TOPIC_0000001233708653"></a>
|
|
|
|
<h1 class="topictitle1">CREATE FOREIGN TABLE (SQL on other <span id="text365645234">GaussDB(DWS)</span>)</h1>
|
|
<div id="body1546826781595"><div class="section" id="EN-US_TOPIC_0000001233708653__s007f04685f3045e5b9f1d6663b833ba6"><h4 class="sectiontitle">Function</h4><p id="EN-US_TOPIC_0000001233708653__p14389144314437">In the current database, <strong id="EN-US_TOPIC_0000001233708653__b026454711468">CREATE FOREIGN TABLE</strong> creates a foreign table for collaborative analysis. The foreign table is used to access tables stored in other databases for collaborative analysis.</p>
|
|
<p id="EN-US_TOPIC_0000001233708653__a5539e69e61514424bc1b8b74769744e4">The foreign table is read-only. It can only be queried using <strong id="EN-US_TOPIC_0000001233708653__b1382071014512">SELECT</strong>.</p>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001233708653__sdd0a8602c61a41339b29214e8f4e9fb5"><h4 class="sectiontitle">Syntax</h4><div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233708653__s8c6dc4d7632b4097b35dbf14ec234dec"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span>
|
|
<span class="normal">6</span>
|
|
<span class="normal">7</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">FOREIGN</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">IF</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="k">EXISTS</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="k">table_name</span>
|
|
<span class="p">(</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="k">column_name</span><span class="w"> </span><span class="n">type_name</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">LIKE</span><span class="w"> </span><span class="n">source_table</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">)</span>
|
|
<span class="n">SERVER</span><span class="w"> </span><span class="k">server_name</span>
|
|
<span class="k">OPTIONS</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="n">option_name</span><span class="w"> </span><span class="s1">' value '</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span><span class="w"> </span><span class="p">)</span>
|
|
<span class="p">[</span><span class="w"> </span><span class="k">READ</span><span class="w"> </span><span class="k">ONLY</span><span class="w"> </span><span class="p">]</span>
|
|
<span class="p">[</span><span class="w"> </span><span class="n">DISTRIBUTE</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="err">{</span><span class="n">ROUNDROBIN</span><span class="err">}</span><span class="w"> </span><span class="p">]</span>
|
|
<span class="p">[</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="n">groupname</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">NODE</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">nodename</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="p">];</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001233708653__section1444711503114"><h4 class="sectiontitle">Parameter Description</h4><ul id="EN-US_TOPIC_0000001233708653__ul546185021119"><li id="EN-US_TOPIC_0000001233708653__l4d281c90f2c24d5bb115a5c4c72678ef"><strong id="EN-US_TOPIC_0000001233708653__adaf7361d9a404b8ba23a7b2c8763d92a">IF NOT EXISTS</strong><p id="EN-US_TOPIC_0000001233708653__aa0b742fb82974ebcb3be3ca5e6e7da9e">Does not throw an error if a table with the same name exists. A notice is issued in this case.</p>
|
|
</li></ul>
|
|
<ul id="EN-US_TOPIC_0000001233708653__ul197416285814"><li id="EN-US_TOPIC_0000001233708653__l1ea8d0de6a4b4022a4fa2edf217c91be"><strong id="EN-US_TOPIC_0000001233708653__adeb14dc538584f259d8f972d407b3d64">table_name</strong><p id="EN-US_TOPIC_0000001233708653__a30489e2afb9040c2842b5c98e5d73e06">Specifies the name of the foreign table to be created.</p>
|
|
<p id="EN-US_TOPIC_0000001233708653__ae253f876725d443ba12939a7634dc9f5">Value range: a string. It must comply with the naming convention.</p>
|
|
</li><li id="EN-US_TOPIC_0000001233708653__la062b05736744795aabaab2df2968a1d"><strong id="EN-US_TOPIC_0000001233708653__ac5a44e2804e340548d22494b1981446b">column_name</strong><p id="EN-US_TOPIC_0000001233708653__ae7401cc4f68d41b1a557a3125a45abb7">Specifies the name of a column in the foreign table. Columns are separated by commas (,).</p>
|
|
<p id="EN-US_TOPIC_0000001233708653__a58d44cce71c74df49aa96b4fbd0998d4">Value range: a string. It must comply with the naming convention.</p>
|
|
<div class="note" id="EN-US_TOPIC_0000001233708653__nf73ab7d7e4b240ef9be2f40085fb4723"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="EN-US_TOPIC_0000001233708653__p125196733715">Constraints or indexes cannot be created on columns.</p>
|
|
</div></div>
|
|
</li><li id="EN-US_TOPIC_0000001233708653__l3c272b5daca340c1808defda982e7547"><strong id="EN-US_TOPIC_0000001233708653__a1aeb896fdb8b40fe9e69ddb9b8e37f03">type_name</strong><p id="EN-US_TOPIC_0000001233708653__ad21c43f88e02463e96357fe005c391ad">Specifies the data type of the column.</p>
|
|
<div class="note" id="EN-US_TOPIC_0000001233708653__note6609113717320"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="EN-US_TOPIC_0000001233708653__p6930138113713">Sequence and custom types are not allowed.</p>
|
|
</div></div>
|
|
</li><li id="EN-US_TOPIC_0000001233708653__l024c7c57b0664dc181cfd555eea33404"><strong id="EN-US_TOPIC_0000001233708653__a684e2a6fda5f4971a3f9b26e7f591cc8">SERVER </strong>server_name<p id="EN-US_TOPIC_0000001233708653__a3e9ecd8f567142828481ab3755298d66">Specifies the server name, which is user-definable.</p>
|
|
<p id="EN-US_TOPIC_0000001233708653__a652108c361fe453ba6b1023f451fb7c0">Value range: a string indicating an existing server. It must comply with the naming convention.</p>
|
|
</li><li id="EN-US_TOPIC_0000001233708653__li20951161316014"><strong id="EN-US_TOPIC_0000001233708653__b5952171319019">OPTIONS ( { option_name ' value ' } [, ...] )</strong><p id="EN-US_TOPIC_0000001233708653__p1795213131708">Specifies the following parameters for a foreign table:</p>
|
|
<ul id="EN-US_TOPIC_0000001233708653__ul995218135011"><li id="EN-US_TOPIC_0000001233708653__li79528135010"><strong id="EN-US_TOPIC_0000001233708653__b32467151407">table_name</strong>: table name of the associated cluster. If it is omitted, the foreign table name will be used.</li><li id="EN-US_TOPIC_0000001233708653__li2095513131101"><strong id="EN-US_TOPIC_0000001233708653__b4620612107">schema_name</strong>: schema of the associated cluster. If it is omitted, the schema of the foreign table will be used.</li><li id="EN-US_TOPIC_0000001233708653__li8970103411112"><strong id="EN-US_TOPIC_0000001233708653__b13442519123913">encoding</strong>: encoding set of the associated cluster. If it is omitted, the database encoding set of the associated cluster will be used.</li></ul>
|
|
</li><li id="EN-US_TOPIC_0000001233708653__l64d4b214cd4449c9a565bc1f5543e2ba"><strong id="EN-US_TOPIC_0000001233708653__ac5f5c4c49fea4b5b8388f2188de1f7a7">READ ONLY</strong><p id="EN-US_TOPIC_0000001233708653__abcb591bd18e24658b279b5b7883f2fc5">Indicates that a table is a read-only foreign table.</p>
|
|
</li><li id="EN-US_TOPIC_0000001233708653__la882da19e7814a53bcc13879e1cb9808"><strong id="EN-US_TOPIC_0000001233708653__a1a69dfd002ff443ea0593c5223b08e03">DISTRIBUTE BY ROUNDROBIN</strong><p id="EN-US_TOPIC_0000001233708653__a20498deb2c7e44c295af99382adb8156">Specifies <strong id="EN-US_TOPIC_0000001233708653__b713760207201549">ROUNDROBIN</strong> as the distribution mode for the foreign table.</p>
|
|
</li><li id="EN-US_TOPIC_0000001233708653__li234313210232"><strong id="EN-US_TOPIC_0000001233708653__ae3a58cce858a4746a33e116011f28202">TO { GROUP groupname | NODE ( nodename [, ... ] ) }</strong><p id="EN-US_TOPIC_0000001233708653__p15347732112318">Currently, <strong id="EN-US_TOPIC_0000001233708653__b84235270615293">TO GROUP</strong> cannot be used. <strong id="EN-US_TOPIC_0000001233708653__b842352706152947">TO NODE</strong> is used for internal scale-out tools.</p>
|
|
</li></ul>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001233708653__s07885a43a93744359b82400d0a8873b3"><h4 class="sectiontitle">Examples</h4><ol id="EN-US_TOPIC_0000001233708653__ol23151363118"><li id="EN-US_TOPIC_0000001233708653__li1431516612">Create a foreign server named <strong id="EN-US_TOPIC_0000001233708653__b186703200133459">server_remote</strong>. The corresponding foreign data wrapper is <strong id="EN-US_TOPIC_0000001233708653__b32389064433459">GC_FDW</strong>.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233708653__s0211efd2605f4c1b9bc7189580006ca8"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="n">SERVER</span><span class="w"> </span><span class="n">server_remote</span><span class="w"> </span><span class="k">FOREIGN</span><span class="w"> </span><span class="k">DATA</span><span class="w"> </span><span class="n">WRAPPER</span><span class="w"> </span><span class="n">GC_FDW</span><span class="w"> </span><span class="k">OPTIONS</span><span class="w"> </span><span class="p">(</span><span class="n">address</span><span class="w"> </span><span class="s1">'10.10.0.100:25000,10.10.0.101:25000'</span><span class="p">,</span><span class="n">dbname</span><span class="w"> </span><span class="s1">'test'</span><span class="p">,</span><span class="w"> </span><span class="n">username</span><span class="w"> </span><span class="s1">'test'</span><span class="p">,</span><span class="w"> </span><span class="n">password</span><span class="w"> </span><span class="s1">'{Password}'</span><span class="p">);</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<div class="note" id="EN-US_TOPIC_0000001233708653__n5f57b19875be47c2ae24286f1987e766"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><ul id="EN-US_TOPIC_0000001233708653__ul76631856154"><li id="EN-US_TOPIC_0000001233708653__li1675918423152">The IP addresses and port numbers of associated CNs are specified in <strong id="EN-US_TOPIC_0000001233708653__b155101712317">OPTIONS</strong>. You are advised to set this parameter to an LVS address or multiple CN addresses.</li></ul>
|
|
</div></div>
|
|
</li><li id="EN-US_TOPIC_0000001233708653__li197931522315">Create a foreign table named <strong id="EN-US_TOPIC_0000001233708653__b8991202717457">region</strong>.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233708653__sd926eb1a47c646f089d22960d0e4bfaf"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
|
|
<span class="normal"> 2</span>
|
|
<span class="normal"> 3</span>
|
|
<span class="normal"> 4</span>
|
|
<span class="normal"> 5</span>
|
|
<span class="normal"> 6</span>
|
|
<span class="normal"> 7</span>
|
|
<span class="normal"> 8</span>
|
|
<span class="normal"> 9</span>
|
|
<span class="normal">10</span>
|
|
<span class="normal">11</span>
|
|
<span class="normal">12</span>
|
|
<span class="normal">13</span>
|
|
<span class="normal">14</span>
|
|
<span class="normal">15</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">DROP</span><span class="w"> </span><span class="k">FOREIGN</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="k">IF</span><span class="w"> </span><span class="k">EXISTS</span><span class="w"> </span><span class="n">region</span><span class="p">;</span>
|
|
<span class="k">CREATE</span><span class="w"> </span><span class="k">FOREIGN</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">region</span>
|
|
<span class="p">(</span>
|
|
<span class="w"> </span><span class="n">R_REGIONKEY</span><span class="w"> </span><span class="n">INT4</span><span class="p">,</span>
|
|
<span class="w"> </span><span class="n">R_NAME</span><span class="w"> </span><span class="nb">TEXT</span><span class="p">,</span>
|
|
<span class="w"> </span><span class="n">R_COMMENT</span><span class="w"> </span><span class="nb">TEXT</span>
|
|
<span class="p">)</span>
|
|
<span class="n">SERVER</span>
|
|
<span class="w"> </span><span class="n">server_remote</span>
|
|
<span class="k">OPTIONS</span>
|
|
<span class="p">(</span>
|
|
<span class="w"> </span><span class="k">schema_name</span><span class="w"> </span><span class="s1">'test'</span><span class="p">,</span>
|
|
<span class="w"> </span><span class="k">table_name</span><span class="w"> </span><span class="s1">'region'</span><span class="p">,</span>
|
|
<span class="w"> </span><span class="k">encoding</span><span class="w"> </span><span class="s1">'gbk'</span>
|
|
<span class="p">);</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</li><li id="EN-US_TOPIC_0000001233708653__li196942614119">View the created <strong id="EN-US_TOPIC_0000001233708653__b3699130733459">region</strong> foreign table.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233708653__sb1ab13e6c6624d8b9115ccfa7a481f9e"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="err">\</span><span class="n">d</span><span class="o">+</span><span class="w"> </span><span class="n">region</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001233708653__p1795183334414"><span><img id="EN-US_TOPIC_0000001233708653__image11033584410" src="figure/en-us_image_0000001860372785.png"></span></p>
|
|
</li></ol>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001233708653__s0fbc2a5223194abfab6ef421286065cc"><h4 class="sectiontitle">Helpful Links</h4><p id="EN-US_TOPIC_0000001233708653__a7b4398c8c0884924933ea2c990002227"><a href="dws_06_0192.html">DROP FOREIGN TABLE</a>, <a href="dws_06_0125.html">ALTER FOREIGN TABLE (SQL on other GaussDB(DWS))</a></p>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div class="familylinks">
|
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="dws_06_0118.html">DDL Syntax</a></div>
|
|
</div>
|
|
</div>
|
|
|