forked from docs/doc-exports
Reviewed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com> Co-authored-by: Lu, Huayi <luhuayi@huawei.com> Co-committed-by: Lu, Huayi <luhuayi@huawei.com>
583 lines
66 KiB
HTML
583 lines
66 KiB
HTML
<a name="EN-US_TOPIC_0000001098830800"></a><a name="EN-US_TOPIC_0000001098830800"></a>
|
|
|
|
<h1 class="topictitle1">Residual File Management Functions</h1>
|
|
<div id="body1599527222024"><div class="section" id="EN-US_TOPIC_0000001098830800__section1191493371415"><h4 class="sectiontitle">Functions for Obtaining the Residual File List</h4><ul id="EN-US_TOPIC_0000001098830800__ul886411811402"><li id="EN-US_TOPIC_0000001098830800__li1586418114016">pg_get_residualfiles()<p id="EN-US_TOPIC_0000001098830800__addf697453f6d4483932a86dd616d176f"><a name="EN-US_TOPIC_0000001098830800__li1586418114016"></a><a name="li1586418114016"></a>Description: Obtains all residual file records of the current node. This function is an instance-level function and is irrelevant to the current database. It can run on any instance.</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__aa83052a510ab43f6b158bcf2bcc72dbe">Parameter type: none</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__a261cb21a20c64c27b6feee99dc2bd092">Return type: record</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p273933210562">The following table describes return columns.</p>
|
|
|
|
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="EN-US_TOPIC_0000001098830800__table17739632135611" frame="border" border="1" rules="all"><thead align="left"><tr id="EN-US_TOPIC_0000001098830800__row1573923214561"><th align="left" class="cellrowborder" valign="top" width="19.09%" id="mcps1.3.1.2.1.5.1.4.1.1"><p id="EN-US_TOPIC_0000001098830800__p3739133295614">Column</p>
|
|
</th>
|
|
<th align="left" class="cellrowborder" valign="top" width="21%" id="mcps1.3.1.2.1.5.1.4.1.2"><p id="EN-US_TOPIC_0000001098830800__p1073933235615">Type</p>
|
|
</th>
|
|
<th align="left" class="cellrowborder" valign="top" width="59.91%" id="mcps1.3.1.2.1.5.1.4.1.3"><p id="EN-US_TOPIC_0000001098830800__p6739163235614">Description</p>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody><tr id="EN-US_TOPIC_0000001098830800__row873933211564"><td class="cellrowborder" valign="top" width="19.09%" headers="mcps1.3.1.2.1.5.1.4.1.1 "><p id="EN-US_TOPIC_0000001098830800__p157406328569">isverified</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="21%" headers="mcps1.3.1.2.1.5.1.4.1.2 "><p id="EN-US_TOPIC_0000001098830800__p1674018329563">bool</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="59.91%" headers="mcps1.3.1.2.1.5.1.4.1.3 "><p id="EN-US_TOPIC_0000001098830800__p16740173265619">Verified or not</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="EN-US_TOPIC_0000001098830800__row157402032165613"><td class="cellrowborder" valign="top" width="19.09%" headers="mcps1.3.1.2.1.5.1.4.1.1 "><p id="EN-US_TOPIC_0000001098830800__p17401932195615">isdeleted</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="21%" headers="mcps1.3.1.2.1.5.1.4.1.2 "><p id="EN-US_TOPIC_0000001098830800__p147401032195611">bool</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="59.91%" headers="mcps1.3.1.2.1.5.1.4.1.3 "><p id="EN-US_TOPIC_0000001098830800__p14740173218560">Deleted or not</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="EN-US_TOPIC_0000001098830800__row074013320566"><td class="cellrowborder" valign="top" width="19.09%" headers="mcps1.3.1.2.1.5.1.4.1.1 "><p id="EN-US_TOPIC_0000001098830800__p12740193225612">dbname</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="21%" headers="mcps1.3.1.2.1.5.1.4.1.2 "><p id="EN-US_TOPIC_0000001098830800__p15740143265617">text</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="59.91%" headers="mcps1.3.1.2.1.5.1.4.1.3 "><p id="EN-US_TOPIC_0000001098830800__p1774023217568">Database name</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="EN-US_TOPIC_0000001098830800__row147404324562"><td class="cellrowborder" valign="top" width="19.09%" headers="mcps1.3.1.2.1.5.1.4.1.1 "><p id="EN-US_TOPIC_0000001098830800__p1974013212567">residualfile</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="21%" headers="mcps1.3.1.2.1.5.1.4.1.2 "><p id="EN-US_TOPIC_0000001098830800__p8740123225611">text</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="59.91%" headers="mcps1.3.1.2.1.5.1.4.1.3 "><p id="EN-US_TOPIC_0000001098830800__p137404323569">Data file path</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="EN-US_TOPIC_0000001098830800__row10740193216566"><td class="cellrowborder" valign="top" width="19.09%" headers="mcps1.3.1.2.1.5.1.4.1.1 "><p id="EN-US_TOPIC_0000001098830800__p87404329566">filepath</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="21%" headers="mcps1.3.1.2.1.5.1.4.1.2 "><p id="EN-US_TOPIC_0000001098830800__p274015323560">text</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="59.91%" headers="mcps1.3.1.2.1.5.1.4.1.3 "><p id="EN-US_TOPIC_0000001098830800__p13740163218563">Residual file path</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="EN-US_TOPIC_0000001098830800__row87406328561"><td class="cellrowborder" valign="top" width="19.09%" headers="mcps1.3.1.2.1.5.1.4.1.1 "><p id="EN-US_TOPIC_0000001098830800__p9740133210562">notes</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="21%" headers="mcps1.3.1.2.1.5.1.4.1.2 "><p id="EN-US_TOPIC_0000001098830800__p1974093245617">text</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="59.91%" headers="mcps1.3.1.2.1.5.1.4.1.3 "><p id="EN-US_TOPIC_0000001098830800__p1074093212569">Notes</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001098830800__ad5c69250d3874381b8fc46537ee3c4c4">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001098830800__s773caa26d00244aaadbe112a57a07c2a"><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">select</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">pg_get_residualfiles</span><span class="p">();</span><span class="w"></span>
|
|
<span class="w"> </span><span class="n">isverified</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">isdeleted</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">dbname</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">residualfile</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">filepath</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">notes</span><span class="w"> </span>
|
|
<span class="c1">------------+-----------+--------+-------------------+---------------------------+-------</span>
|
|
<span class="w"> </span><span class="n">f</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">f</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">db2</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">base</span><span class="o">/</span><span class="mi">49155</span><span class="o">/</span><span class="mi">114691</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">pgrf_20200908160211441546</span><span class="w"> </span><span class="o">|</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="n">f</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">f</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">db2</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">base</span><span class="o">/</span><span class="mi">49155</span><span class="o">/</span><span class="mi">114694</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">pgrf_20200908160211441546</span><span class="w"> </span><span class="o">|</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="n">f</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">f</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">db2</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">base</span><span class="o">/</span><span class="mi">49155</span><span class="o">/</span><span class="mi">114696</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">pgrf_20200908160211441546</span><span class="w"> </span><span class="o">|</span><span class="w"> </span>
|
|
<span class="p">(</span><span class="mi">3</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span><span class="w"></span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</li></ul>
|
|
<ul id="EN-US_TOPIC_0000001098830800__ul1269971013584"><li id="EN-US_TOPIC_0000001098830800__li1269981055812">pgxc_get_residualfiles()<p id="EN-US_TOPIC_0000001098830800__p7699110125811"><a name="EN-US_TOPIC_0000001098830800__li1269981055812"></a><a name="li1269981055812"></a>Description: Unified CN query function of pg_get_residualfiles() This function is a cluster-level function and is irrelevant to the current database. It runs on CNs.</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p1169951013588">Parameter type: none</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p196997103589">Return type: record</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p1169911045815">The following table describes return columns.</p>
|
|
|
|
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="EN-US_TOPIC_0000001098830800__table1869911103586" frame="border" border="1" rules="all"><thead align="left"><tr id="EN-US_TOPIC_0000001098830800__row369961085818"><th align="left" class="cellrowborder" valign="top" width="19.09%" id="mcps1.3.1.3.1.5.1.4.1.1"><p id="EN-US_TOPIC_0000001098830800__p67002107583">Column</p>
|
|
</th>
|
|
<th align="left" class="cellrowborder" valign="top" width="21%" id="mcps1.3.1.3.1.5.1.4.1.2"><p id="EN-US_TOPIC_0000001098830800__p1700410135816">Type</p>
|
|
</th>
|
|
<th align="left" class="cellrowborder" valign="top" width="59.91%" id="mcps1.3.1.3.1.5.1.4.1.3"><p id="EN-US_TOPIC_0000001098830800__p070021035815">Description</p>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody><tr id="EN-US_TOPIC_0000001098830800__row497517241881"><td class="cellrowborder" valign="top" width="19.09%" headers="mcps1.3.1.3.1.5.1.4.1.1 "><p id="EN-US_TOPIC_0000001098830800__p597662418813">nodename</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="21%" headers="mcps1.3.1.3.1.5.1.4.1.2 "><p id="EN-US_TOPIC_0000001098830800__p1597620241086">text</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="59.91%" headers="mcps1.3.1.3.1.5.1.4.1.3 "><p id="EN-US_TOPIC_0000001098830800__p1597612412810">Node name</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="EN-US_TOPIC_0000001098830800__row8700181085816"><td class="cellrowborder" valign="top" width="19.09%" headers="mcps1.3.1.3.1.5.1.4.1.1 "><p id="EN-US_TOPIC_0000001098830800__p197002010175818">isverified</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="21%" headers="mcps1.3.1.3.1.5.1.4.1.2 "><p id="EN-US_TOPIC_0000001098830800__p15700210105811">bool</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="59.91%" headers="mcps1.3.1.3.1.5.1.4.1.3 "><p id="EN-US_TOPIC_0000001098830800__p137009108582">Verified or not</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="EN-US_TOPIC_0000001098830800__row47009105585"><td class="cellrowborder" valign="top" width="19.09%" headers="mcps1.3.1.3.1.5.1.4.1.1 "><p id="EN-US_TOPIC_0000001098830800__p1770071011583">isdeleted</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="21%" headers="mcps1.3.1.3.1.5.1.4.1.2 "><p id="EN-US_TOPIC_0000001098830800__p14700121015812">bool</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="59.91%" headers="mcps1.3.1.3.1.5.1.4.1.3 "><p id="EN-US_TOPIC_0000001098830800__p1700171019583">Deleted or not</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="EN-US_TOPIC_0000001098830800__row7700510105815"><td class="cellrowborder" valign="top" width="19.09%" headers="mcps1.3.1.3.1.5.1.4.1.1 "><p id="EN-US_TOPIC_0000001098830800__p10700171014589">dbname</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="21%" headers="mcps1.3.1.3.1.5.1.4.1.2 "><p id="EN-US_TOPIC_0000001098830800__p1470021085810">text</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="59.91%" headers="mcps1.3.1.3.1.5.1.4.1.3 "><p id="EN-US_TOPIC_0000001098830800__p1370021055819">Database name</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="EN-US_TOPIC_0000001098830800__row137002108584"><td class="cellrowborder" valign="top" width="19.09%" headers="mcps1.3.1.3.1.5.1.4.1.1 "><p id="EN-US_TOPIC_0000001098830800__p8701610165819">residualfile</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="21%" headers="mcps1.3.1.3.1.5.1.4.1.2 "><p id="EN-US_TOPIC_0000001098830800__p18701810175811">text</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="59.91%" headers="mcps1.3.1.3.1.5.1.4.1.3 "><p id="EN-US_TOPIC_0000001098830800__p19701510205815">Data file path</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="EN-US_TOPIC_0000001098830800__row77011210115817"><td class="cellrowborder" valign="top" width="19.09%" headers="mcps1.3.1.3.1.5.1.4.1.1 "><p id="EN-US_TOPIC_0000001098830800__p5701610125818">filepath</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="21%" headers="mcps1.3.1.3.1.5.1.4.1.2 "><p id="EN-US_TOPIC_0000001098830800__p67011010155820">text</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="59.91%" headers="mcps1.3.1.3.1.5.1.4.1.3 "><p id="EN-US_TOPIC_0000001098830800__p270116103588">Residual file path</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="EN-US_TOPIC_0000001098830800__row167011310185818"><td class="cellrowborder" valign="top" width="19.09%" headers="mcps1.3.1.3.1.5.1.4.1.1 "><p id="EN-US_TOPIC_0000001098830800__p3701151012583">notes</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="21%" headers="mcps1.3.1.3.1.5.1.4.1.2 "><p id="EN-US_TOPIC_0000001098830800__p14701210115815">text</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="59.91%" headers="mcps1.3.1.3.1.5.1.4.1.3 "><p id="EN-US_TOPIC_0000001098830800__p670151016587">Notes</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001098830800__p1701101020581">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001098830800__screen270116108585"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">select</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">pgxc_get_residualfiles</span><span class="p">();</span><span class="w"></span>
|
|
<span class="w"> </span><span class="n">nodename</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">isverified</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">isdeleted</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">dbname</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">residualfile</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">filepath</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">notes</span><span class="w"> </span>
|
|
<span class="c1">--------------+------------+-----------+----------+-------------------+---------------------------+-------</span>
|
|
<span class="w"> </span><span class="n">cn_5001</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">f</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">f</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">gaussdb</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">base</span><span class="o">/</span><span class="mi">15092</span><span class="o">/</span><span class="mi">32803</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">pgrf_20200910170129360401</span><span class="w"> </span><span class="o">|</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="n">dn_6001_6002</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">f</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">f</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">db2</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">base</span><span class="o">/</span><span class="mi">49155</span><span class="o">/</span><span class="mi">114691</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">pgrf_20200908160211441546</span><span class="w"> </span><span class="o">|</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="n">dn_6001_6002</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">f</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">f</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">db2</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">base</span><span class="o">/</span><span class="mi">49155</span><span class="o">/</span><span class="mi">114694</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">pgrf_20200908160211441546</span><span class="w"> </span><span class="o">|</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="n">dn_6001_6002</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">f</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">f</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">db2</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">base</span><span class="o">/</span><span class="mi">49155</span><span class="o">/</span><span class="mi">114696</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">pgrf_20200908160211441546</span><span class="w"> </span><span class="o">|</span><span class="w"> </span>
|
|
<span class="p">(</span><span class="mi">4</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span><span class="w"></span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</li></ul>
|
|
<p id="EN-US_TOPIC_0000001098830800__p412822110105"></p>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001098830800__section1847081955817"><h4 class="sectiontitle">Functions for Verifying Residual Files</h4><ul id="EN-US_TOPIC_0000001098830800__ul197132491159"><li id="EN-US_TOPIC_0000001098830800__li1271312491854">pg_verify_residualfiles(filepath)<p id="EN-US_TOPIC_0000001098830800__p16713649256"><a name="EN-US_TOPIC_0000001098830800__li1271312491854"></a><a name="li1271312491854"></a>Description: Verifies whether the file recorded in the parameter specified file is a residual file. This function is an instance-level function and is related to the current database. It can run on any instance.</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p571315491458">Parameter type: text</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p107131049755">Return type: bool</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p167131649952">The following table describes return columns.</p>
|
|
|
|
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="EN-US_TOPIC_0000001098830800__table1671304914511" frame="border" border="1" rules="all"><thead align="left"><tr id="EN-US_TOPIC_0000001098830800__row5714164916515"><th align="left" class="cellrowborder" valign="top" width="19.09%" id="mcps1.3.2.2.1.5.1.4.1.1"><p id="EN-US_TOPIC_0000001098830800__p1171418491450">Column</p>
|
|
</th>
|
|
<th align="left" class="cellrowborder" valign="top" width="21%" id="mcps1.3.2.2.1.5.1.4.1.2"><p id="EN-US_TOPIC_0000001098830800__p1471474912520">Type</p>
|
|
</th>
|
|
<th align="left" class="cellrowborder" valign="top" width="59.91%" id="mcps1.3.2.2.1.5.1.4.1.3"><p id="EN-US_TOPIC_0000001098830800__p97148491357">Description</p>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody><tr id="EN-US_TOPIC_0000001098830800__row07141949859"><td class="cellrowborder" valign="top" width="19.09%" headers="mcps1.3.2.2.1.5.1.4.1.1 "><p id="EN-US_TOPIC_0000001098830800__p771404913511">isverified</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="21%" headers="mcps1.3.2.2.1.5.1.4.1.2 "><p id="EN-US_TOPIC_0000001098830800__p271420491153">bool</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="59.91%" headers="mcps1.3.2.2.1.5.1.4.1.3 "><p id="EN-US_TOPIC_0000001098830800__p167145494511">Verification completed or not</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001098830800__p671517491651">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001098830800__screen771510498514"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">select</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">pg_verify_residualfiles</span><span class="p">(</span><span class="s1">'pgrf_20200908160211441546'</span><span class="p">);</span><span class="w"></span>
|
|
<span class="w"> </span><span class="n">isverified</span><span class="w"> </span>
|
|
<span class="c1">------------</span>
|
|
<span class="w"> </span><span class="n">t</span><span class="w"></span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span><span class="w"></span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<div class="note" id="EN-US_TOPIC_0000001098830800__note4715849156"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="EN-US_TOPIC_0000001098830800__p371514913513">This function only verifies whether the recorded file is a residual file in the current database. If the recorded file is not in the current database, the verification is not applicable.</p>
|
|
</div></div>
|
|
</li></ul>
|
|
<ul id="EN-US_TOPIC_0000001098830800__ul1711012582510"><li id="EN-US_TOPIC_0000001098830800__li161102581052">pg_verify_residualfiles()<p id="EN-US_TOPIC_0000001098830800__p51101258152"><a name="EN-US_TOPIC_0000001098830800__li161102581052"></a><a name="li161102581052"></a>Description: Verifies whether recorded files on all residual file lists of the current instance are residual files. This function is an instance-level function and is related to the current database. It can run on any instance.</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p18110758754">Parameter type: none</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p101108587514">Return type: record</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p11102581756">The following table describes return columns.</p>
|
|
|
|
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="EN-US_TOPIC_0000001098830800__table91107580519" frame="border" border="1" rules="all"><thead align="left"><tr id="EN-US_TOPIC_0000001098830800__row8111145811516"><th align="left" class="cellrowborder" valign="top" width="19.09%" id="mcps1.3.2.3.1.5.1.4.1.1"><p id="EN-US_TOPIC_0000001098830800__p2011125819515">Column</p>
|
|
</th>
|
|
<th align="left" class="cellrowborder" valign="top" width="21%" id="mcps1.3.2.3.1.5.1.4.1.2"><p id="EN-US_TOPIC_0000001098830800__p81112584510">Type</p>
|
|
</th>
|
|
<th align="left" class="cellrowborder" valign="top" width="59.91%" id="mcps1.3.2.3.1.5.1.4.1.3"><p id="EN-US_TOPIC_0000001098830800__p211145818512">Description</p>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody><tr id="EN-US_TOPIC_0000001098830800__row1211111586519"><td class="cellrowborder" valign="top" width="19.09%" headers="mcps1.3.2.3.1.5.1.4.1.1 "><p id="EN-US_TOPIC_0000001098830800__p911117588518">result</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="21%" headers="mcps1.3.2.3.1.5.1.4.1.2 "><p id="EN-US_TOPIC_0000001098830800__p71111258658">bool</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="59.91%" headers="mcps1.3.2.3.1.5.1.4.1.3 "><p id="EN-US_TOPIC_0000001098830800__p161115581055">Verification completed or not</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="EN-US_TOPIC_0000001098830800__row11117581655"><td class="cellrowborder" valign="top" width="19.09%" headers="mcps1.3.2.3.1.5.1.4.1.1 "><p id="EN-US_TOPIC_0000001098830800__p111110581651">filepath</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="21%" headers="mcps1.3.2.3.1.5.1.4.1.2 "><p id="EN-US_TOPIC_0000001098830800__p4111175819520">text</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="59.91%" headers="mcps1.3.2.3.1.5.1.4.1.3 "><p id="EN-US_TOPIC_0000001098830800__p41121058459">Residual file path</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="EN-US_TOPIC_0000001098830800__row511218582518"><td class="cellrowborder" valign="top" width="19.09%" headers="mcps1.3.2.3.1.5.1.4.1.1 "><p id="EN-US_TOPIC_0000001098830800__p16112858357">notes</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="21%" headers="mcps1.3.2.3.1.5.1.4.1.2 "><p id="EN-US_TOPIC_0000001098830800__p101127581253">text</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="59.91%" headers="mcps1.3.2.3.1.5.1.4.1.3 "><p id="EN-US_TOPIC_0000001098830800__p311219582515">Notes</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001098830800__p111128581250">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001098830800__screen911219582058"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">select</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">pg_verify_residualfiles</span><span class="p">();</span><span class="w"></span>
|
|
<span class="w"> </span><span class="k">result</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">filepath</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">notes</span><span class="w"> </span>
|
|
<span class="c1">--------+---------------------------+-------</span>
|
|
<span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">pgrf_20200908160211441546</span><span class="w"> </span><span class="o">|</span><span class="w"> </span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span><span class="w"></span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<div class="note" id="EN-US_TOPIC_0000001098830800__note121121258656"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="EN-US_TOPIC_0000001098830800__p411285820511">This function only verifies whether the recorded file is a residual file in the current database. If the recorded file is not in the current database, the verification is not applicable.</p>
|
|
</div></div>
|
|
</li></ul>
|
|
<ul id="EN-US_TOPIC_0000001098830800__ul106518014620"><li id="EN-US_TOPIC_0000001098830800__li1365119011620">pgxc_verify_residualfiles()<p id="EN-US_TOPIC_0000001098830800__p86511801616"><a name="EN-US_TOPIC_0000001098830800__li1365119011620"></a><a name="li1365119011620"></a>Description: Unified CN query function of pg_verify_residualfiles() This function is a cluster-level function and is related to the current database. It runs on CNs.</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p3651190766">Parameter type: none</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p18651602617">Return type: record</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p10651707619">The following table describes return columns.</p>
|
|
|
|
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="EN-US_TOPIC_0000001098830800__table36511001661" frame="border" border="1" rules="all"><thead align="left"><tr id="EN-US_TOPIC_0000001098830800__row17651101467"><th align="left" class="cellrowborder" valign="top" width="19.09%" id="mcps1.3.2.4.1.5.1.4.1.1"><p id="EN-US_TOPIC_0000001098830800__p565217017615">Column</p>
|
|
</th>
|
|
<th align="left" class="cellrowborder" valign="top" width="21%" id="mcps1.3.2.4.1.5.1.4.1.2"><p id="EN-US_TOPIC_0000001098830800__p86521201261">Type</p>
|
|
</th>
|
|
<th align="left" class="cellrowborder" valign="top" width="59.91%" id="mcps1.3.2.4.1.5.1.4.1.3"><p id="EN-US_TOPIC_0000001098830800__p176526016614">Description</p>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody><tr id="EN-US_TOPIC_0000001098830800__row56524016612"><td class="cellrowborder" valign="top" width="19.09%" headers="mcps1.3.2.4.1.5.1.4.1.1 "><p id="EN-US_TOPIC_0000001098830800__p8652001764">nodename</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="21%" headers="mcps1.3.2.4.1.5.1.4.1.2 "><p id="EN-US_TOPIC_0000001098830800__p176521309613">text</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="59.91%" headers="mcps1.3.2.4.1.5.1.4.1.3 "><p id="EN-US_TOPIC_0000001098830800__p1665270164">Node name</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="EN-US_TOPIC_0000001098830800__row2652160965"><td class="cellrowborder" valign="top" width="19.09%" headers="mcps1.3.2.4.1.5.1.4.1.1 "><p id="EN-US_TOPIC_0000001098830800__p36521909616">result</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="21%" headers="mcps1.3.2.4.1.5.1.4.1.2 "><p id="EN-US_TOPIC_0000001098830800__p106526012620">bool</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="59.91%" headers="mcps1.3.2.4.1.5.1.4.1.3 "><p id="EN-US_TOPIC_0000001098830800__p865280168">Verification completed or not</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="EN-US_TOPIC_0000001098830800__row16652909616"><td class="cellrowborder" valign="top" width="19.09%" headers="mcps1.3.2.4.1.5.1.4.1.1 "><p id="EN-US_TOPIC_0000001098830800__p165212017613">filepath</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="21%" headers="mcps1.3.2.4.1.5.1.4.1.2 "><p id="EN-US_TOPIC_0000001098830800__p1565215013615">text</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="59.91%" headers="mcps1.3.2.4.1.5.1.4.1.3 "><p id="EN-US_TOPIC_0000001098830800__p106531303618">Residual file path</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="EN-US_TOPIC_0000001098830800__row9653190760"><td class="cellrowborder" valign="top" width="19.09%" headers="mcps1.3.2.4.1.5.1.4.1.1 "><p id="EN-US_TOPIC_0000001098830800__p18653160769">notes</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="21%" headers="mcps1.3.2.4.1.5.1.4.1.2 "><p id="EN-US_TOPIC_0000001098830800__p965360166">text</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="59.91%" headers="mcps1.3.2.4.1.5.1.4.1.3 "><p id="EN-US_TOPIC_0000001098830800__p116531701364">Notes</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001098830800__p565318017613">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001098830800__screen66531901265"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">select</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">pgxc_verify_residualfiles</span><span class="p">();</span><span class="w"></span>
|
|
<span class="w"> </span><span class="n">nodename</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">result</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">filepath</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">notes</span><span class="w"> </span>
|
|
<span class="c1">--------------+--------+---------------------------+-------</span>
|
|
<span class="w"> </span><span class="n">cn_5001</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">pgrf_20200910170129360401</span><span class="w"> </span><span class="o">|</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="n">dn_6001_6002</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">pgrf_20200908160211441546</span><span class="w"> </span><span class="o">|</span><span class="w"> </span>
|
|
<span class="p">(</span><span class="mi">2</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span><span class="w"></span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<div class="note" id="EN-US_TOPIC_0000001098830800__note15653001667"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="EN-US_TOPIC_0000001098830800__p86531101461">This function only verifies whether the recorded file is a residual file in the current database. If the recorded file is not in the current database, the verification is not applicable.</p>
|
|
</div></div>
|
|
</li></ul>
|
|
<ul id="EN-US_TOPIC_0000001098830800__ul91217312610"><li id="EN-US_TOPIC_0000001098830800__li1812114316611">pg_is_residualfiles(residualfile)<p id="EN-US_TOPIC_0000001098830800__p4121123466"><a name="EN-US_TOPIC_0000001098830800__li1812114316611"></a><a name="li1812114316611"></a>Description: Queries whether a specified <strong id="EN-US_TOPIC_0000001098830800__b11324361180">relfilenode</strong> is a residual file in the current database. This function is an instance-level function and is related to the current database. It can run on any instance.</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p14121931265">Parameter type: text</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p4121163767">Return type: bool</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p91211033616">The following table describes return columns.</p>
|
|
|
|
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="EN-US_TOPIC_0000001098830800__table61217315611" frame="border" border="1" rules="all"><thead align="left"><tr id="EN-US_TOPIC_0000001098830800__row81217314616"><th align="left" class="cellrowborder" valign="top" width="19.09%" id="mcps1.3.2.5.1.5.1.4.1.1"><p id="EN-US_TOPIC_0000001098830800__p141211734618">Column</p>
|
|
</th>
|
|
<th align="left" class="cellrowborder" valign="top" width="21%" id="mcps1.3.2.5.1.5.1.4.1.2"><p id="EN-US_TOPIC_0000001098830800__p91211234618">Type</p>
|
|
</th>
|
|
<th align="left" class="cellrowborder" valign="top" width="59.91%" id="mcps1.3.2.5.1.5.1.4.1.3"><p id="EN-US_TOPIC_0000001098830800__p71221331666">Description</p>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody><tr id="EN-US_TOPIC_0000001098830800__row13122153261"><td class="cellrowborder" valign="top" width="19.09%" headers="mcps1.3.2.5.1.5.1.4.1.1 "><p id="EN-US_TOPIC_0000001098830800__p1112216310618">result</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="21%" headers="mcps1.3.2.5.1.5.1.4.1.2 "><p id="EN-US_TOPIC_0000001098830800__p1412213863">bool</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="59.91%" headers="mcps1.3.2.5.1.5.1.4.1.3 "><p id="EN-US_TOPIC_0000001098830800__p812215314619">Residual file or not</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001098830800__p912363668">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001098830800__screen1412393566"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">select</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">pg_is_residualfiles</span><span class="p">(</span><span class="s1">'base/49155/114691'</span><span class="p">);</span><span class="w"></span>
|
|
<span class="w"> </span><span class="k">result</span><span class="w"> </span>
|
|
<span class="c1">--------</span>
|
|
<span class="w"> </span><span class="n">t</span><span class="w"></span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span><span class="w"></span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<div class="note" id="EN-US_TOPIC_0000001098830800__note6123733619"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="EN-US_TOPIC_0000001098830800__p7123836611">This function only verifies whether the recorded file is a residual file in the current database. If the recorded file is not in the current database, it is verified as a residual file.</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p5514205102312">For example, the file <strong id="EN-US_TOPIC_0000001098830800__b26139258215">base/15092/14790</strong> is not regarded as a residual file in a <strong id="EN-US_TOPIC_0000001098830800__b154329292113"></strong><strong id="EN-US_TOPIC_0000001098830800__b84321299116"><span id="EN-US_TOPIC_0000001098830800__text57551230143711">gaussdb</span></strong> database, but it is regarded as a residual file in other databases.</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p947514132615"><span id="EN-US_TOPIC_0000001098830800__text13171174518526"></span>select * from pg_is_residualfiles('base/15092/14790');</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p647511411262">result</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p44751341192619">--------</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p1547518415265">f</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p104756418260">(1 row)</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p1447594117260"></p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p1447510415265"><span id="EN-US_TOPIC_0000001098830800__text4384857145713"></span>\c db2</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p2475124172615">db2=# select * from pg_is_residualfiles('base/15092/14790');</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p147519413269">result</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p647515418262">--------</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p11475154110266">t</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p84751741112614">(1 row)</p>
|
|
</div></div>
|
|
</li></ul>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001098830800__section615134619597"><h4 class="sectiontitle">Functions for Deleting Residual Files</h4><ul id="EN-US_TOPIC_0000001098830800__ul1725255362"><li id="EN-US_TOPIC_0000001098830800__li625213515613">pg_rm_residualfiles(filepath)<p id="EN-US_TOPIC_0000001098830800__p102524518610"><a name="EN-US_TOPIC_0000001098830800__li625213515613"></a><a name="li625213515613"></a>Description: Deletes files from a specified residual file list on the current instance. This function is an instance-level function and is irrelevant to the current database. It can run on any instance.</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p4252205761">Parameter type: text</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p9252654611">Return type: record</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p92521853620">The following table describes return columns.</p>
|
|
|
|
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="EN-US_TOPIC_0000001098830800__table225216517618" frame="border" border="1" rules="all"><thead align="left"><tr id="EN-US_TOPIC_0000001098830800__row425245069"><th align="left" class="cellrowborder" valign="top" width="19.09%" id="mcps1.3.3.2.1.5.1.4.1.1"><p id="EN-US_TOPIC_0000001098830800__p112524517614">Column</p>
|
|
</th>
|
|
<th align="left" class="cellrowborder" valign="top" width="21%" id="mcps1.3.3.2.1.5.1.4.1.2"><p id="EN-US_TOPIC_0000001098830800__p82521452063">Type</p>
|
|
</th>
|
|
<th align="left" class="cellrowborder" valign="top" width="59.91%" id="mcps1.3.3.2.1.5.1.4.1.3"><p id="EN-US_TOPIC_0000001098830800__p82521657618">Description</p>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody><tr id="EN-US_TOPIC_0000001098830800__row152523513615"><td class="cellrowborder" valign="top" width="19.09%" headers="mcps1.3.3.2.1.5.1.4.1.1 "><p id="EN-US_TOPIC_0000001098830800__p18252651165">result</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="21%" headers="mcps1.3.3.2.1.5.1.4.1.2 "><p id="EN-US_TOPIC_0000001098830800__p2253852620">bool</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="59.91%" headers="mcps1.3.3.2.1.5.1.4.1.3 "><p id="EN-US_TOPIC_0000001098830800__p5253185561">Deletion completed or not</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001098830800__p1225313516610">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001098830800__screen62531251067"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">select</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">pg_rm_residualfiles</span><span class="p">(</span><span class="s1">'pgrf_20200908160211441599'</span><span class="p">);</span><span class="w"></span>
|
|
<span class="w"> </span><span class="k">result</span><span class="w"> </span>
|
|
<span class="c1">--------</span>
|
|
<span class="w"> </span><span class="n">t</span><span class="w"></span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span><span class="w"></span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<div class="note" id="EN-US_TOPIC_0000001098830800__note6254105164"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="EN-US_TOPIC_0000001098830800__p8254458610">1. Residual files can be deleted only after verification using the pg_verify_residualfiles() function.</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p8328337123620">2. All verified files, regardless which database they are in, will be deleted.</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p768925123713">3. If all files recorded in the specified file have been deleted, the specified file will be removed and backed up in the <strong id="EN-US_TOPIC_0000001098830800__b8721201515305">$PGDATA/pg_residualfile/backup</strong> directory.</p>
|
|
</div></div>
|
|
</li></ul>
|
|
<ul id="EN-US_TOPIC_0000001098830800__ul12405476617"><li id="EN-US_TOPIC_0000001098830800__li16405879613">pg_rm_residualfiles()<p id="EN-US_TOPIC_0000001098830800__p14051773612"><a name="EN-US_TOPIC_0000001098830800__li16405879613"></a><a name="li16405879613"></a>Description: Deletes all files recorded on all residual file lists on the current instance. This function is an instance-level function and is irrelevant to the current database. It can run on any instance.</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p1240577962">Parameter type: none</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p1405671862">Return type: record</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p54051078620">The following table describes return columns.</p>
|
|
|
|
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="EN-US_TOPIC_0000001098830800__table2040517169" frame="border" border="1" rules="all"><thead align="left"><tr id="EN-US_TOPIC_0000001098830800__row154056711610"><th align="left" class="cellrowborder" valign="top" width="19.09%" id="mcps1.3.3.3.1.5.1.4.1.1"><p id="EN-US_TOPIC_0000001098830800__p440510717613">Column</p>
|
|
</th>
|
|
<th align="left" class="cellrowborder" valign="top" width="21%" id="mcps1.3.3.3.1.5.1.4.1.2"><p id="EN-US_TOPIC_0000001098830800__p14405167462">Type</p>
|
|
</th>
|
|
<th align="left" class="cellrowborder" valign="top" width="59.91%" id="mcps1.3.3.3.1.5.1.4.1.3"><p id="EN-US_TOPIC_0000001098830800__p1640547564">Description</p>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody><tr id="EN-US_TOPIC_0000001098830800__row124051472614"><td class="cellrowborder" valign="top" width="19.09%" headers="mcps1.3.3.3.1.5.1.4.1.1 "><p id="EN-US_TOPIC_0000001098830800__p16405872066">result</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="21%" headers="mcps1.3.3.3.1.5.1.4.1.2 "><p id="EN-US_TOPIC_0000001098830800__p54054717612">bool</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="59.91%" headers="mcps1.3.3.3.1.5.1.4.1.3 "><p id="EN-US_TOPIC_0000001098830800__p44065714611">Deleted or not</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="EN-US_TOPIC_0000001098830800__row3406179613"><td class="cellrowborder" valign="top" width="19.09%" headers="mcps1.3.3.3.1.5.1.4.1.1 "><p id="EN-US_TOPIC_0000001098830800__p154066717616">filepath</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="21%" headers="mcps1.3.3.3.1.5.1.4.1.2 "><p id="EN-US_TOPIC_0000001098830800__p164061376619">text</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="59.91%" headers="mcps1.3.3.3.1.5.1.4.1.3 "><p id="EN-US_TOPIC_0000001098830800__p1940697964">Residual file path</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="EN-US_TOPIC_0000001098830800__row19406378615"><td class="cellrowborder" valign="top" width="19.09%" headers="mcps1.3.3.3.1.5.1.4.1.1 "><p id="EN-US_TOPIC_0000001098830800__p184064714617">notes</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="21%" headers="mcps1.3.3.3.1.5.1.4.1.2 "><p id="EN-US_TOPIC_0000001098830800__p6406672610">text</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="59.91%" headers="mcps1.3.3.3.1.5.1.4.1.3 "><p id="EN-US_TOPIC_0000001098830800__p740687661">Notes</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001098830800__p164061071665">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001098830800__screen19406771166"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">select</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">pg_rm_residualfiles</span><span class="p">();</span><span class="w"></span>
|
|
<span class="w"> </span><span class="k">result</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">filepath</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">notes</span><span class="w"> </span>
|
|
<span class="c1">--------+---------------------------+-------</span>
|
|
<span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">pgrf_20200908160211441546</span><span class="w"> </span><span class="o">|</span><span class="w"> </span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span><span class="w"></span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<div class="note" id="EN-US_TOPIC_0000001098830800__note15407871565"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><ul id="EN-US_TOPIC_0000001098830800__ul9489142812018"><li id="EN-US_TOPIC_0000001098830800__li13489192812019">Residual files can be deleted only after verification using the pg_verify_residualfiles() function.</li><li id="EN-US_TOPIC_0000001098830800__li16489728500">All verified files, regardless which database they are in, will be deleted.</li><li id="EN-US_TOPIC_0000001098830800__li0489728302">If all files recorded in the specified file have been deleted, the specified file will be removed and backed up in the <strong id="EN-US_TOPIC_0000001098830800__b1789121283218">$PGDATA/pg_residualfile/backup</strong> directory.</li></ul>
|
|
</div></div>
|
|
</li></ul>
|
|
<ul id="EN-US_TOPIC_0000001098830800__ul151583101612"><li id="EN-US_TOPIC_0000001098830800__li315811101063">pgxc_rm_residualfiles()<p id="EN-US_TOPIC_0000001098830800__p41584101260"><a name="EN-US_TOPIC_0000001098830800__li315811101063"></a><a name="li315811101063"></a>Description: Unified CN query function of pgxc_rm_residualfiles. This function is a cluster-level function and is irrelevant to the current database. It runs on CNs.</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p615810101664">Parameter type: none</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p51581710661">Return type: record</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p81581102618">The following table describes return columns.</p>
|
|
|
|
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="EN-US_TOPIC_0000001098830800__table16363134613430" frame="border" border="1" rules="all"><thead align="left"><tr id="EN-US_TOPIC_0000001098830800__row143631146134313"><th align="left" class="cellrowborder" valign="top" width="19.09%" id="mcps1.3.3.4.1.5.1.4.1.1"><p id="EN-US_TOPIC_0000001098830800__p036374664314">Column</p>
|
|
</th>
|
|
<th align="left" class="cellrowborder" valign="top" width="21%" id="mcps1.3.3.4.1.5.1.4.1.2"><p id="EN-US_TOPIC_0000001098830800__p636394624318">Type</p>
|
|
</th>
|
|
<th align="left" class="cellrowborder" valign="top" width="59.91%" id="mcps1.3.3.4.1.5.1.4.1.3"><p id="EN-US_TOPIC_0000001098830800__p173638461438">Description</p>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody><tr id="EN-US_TOPIC_0000001098830800__row692502194412"><td class="cellrowborder" valign="top" width="19.09%" headers="mcps1.3.3.4.1.5.1.4.1.1 "><p id="EN-US_TOPIC_0000001098830800__p179251626445">nodename</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="21%" headers="mcps1.3.3.4.1.5.1.4.1.2 "><p id="EN-US_TOPIC_0000001098830800__p592582194420">text</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="59.91%" headers="mcps1.3.3.4.1.5.1.4.1.3 "><p id="EN-US_TOPIC_0000001098830800__p10925142174417">Node name</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="EN-US_TOPIC_0000001098830800__row14363546164313"><td class="cellrowborder" valign="top" width="19.09%" headers="mcps1.3.3.4.1.5.1.4.1.1 "><p id="EN-US_TOPIC_0000001098830800__p15363164604318">result</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="21%" headers="mcps1.3.3.4.1.5.1.4.1.2 "><p id="EN-US_TOPIC_0000001098830800__p33631246164317">bool</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="59.91%" headers="mcps1.3.3.4.1.5.1.4.1.3 "><p id="EN-US_TOPIC_0000001098830800__p1236364674317">Deletion completed or not</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="EN-US_TOPIC_0000001098830800__row14363204654312"><td class="cellrowborder" valign="top" width="19.09%" headers="mcps1.3.3.4.1.5.1.4.1.1 "><p id="EN-US_TOPIC_0000001098830800__p6364104610438">filepath</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="21%" headers="mcps1.3.3.4.1.5.1.4.1.2 "><p id="EN-US_TOPIC_0000001098830800__p436434611437">text</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="59.91%" headers="mcps1.3.3.4.1.5.1.4.1.3 "><p id="EN-US_TOPIC_0000001098830800__p12364154616432">Residual file path</p>
|
|
</td>
|
|
</tr>
|
|
<tr id="EN-US_TOPIC_0000001098830800__row1036454654314"><td class="cellrowborder" valign="top" width="19.09%" headers="mcps1.3.3.4.1.5.1.4.1.1 "><p id="EN-US_TOPIC_0000001098830800__p11364194684314">notes</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="21%" headers="mcps1.3.3.4.1.5.1.4.1.2 "><p id="EN-US_TOPIC_0000001098830800__p2364154664314">text</p>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="59.91%" headers="mcps1.3.3.4.1.5.1.4.1.3 "><p id="EN-US_TOPIC_0000001098830800__p836424620432">Notes</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001098830800__p13434142810488">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001098830800__screen1372617118492"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">select</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">pgxc_rm_residualfiles</span><span class="p">();</span><span class="w"></span>
|
|
<span class="w"> </span><span class="n">nodename</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">result</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">filepath</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">notes</span><span class="w"> </span>
|
|
<span class="c1">--------------+--------+---------------------------+-------</span>
|
|
<span class="w"> </span><span class="n">cn_5001</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">pgrf_20200910170129360401</span><span class="w"> </span><span class="o">|</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="n">dn_6001_6002</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">pgrf_20200908160211441546</span><span class="w"> </span><span class="o">|</span><span class="w"> </span>
|
|
<span class="p">(</span><span class="mi">2</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span><span class="w"></span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001098830800__p1250930112712"></p>
|
|
</li></ul>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001098830800__section5523432102719"><h4 class="sectiontitle">Using the Residual File Management Function:</h4><p id="EN-US_TOPIC_0000001098830800__p11969481489">Procedure:</p>
|
|
<ol id="EN-US_TOPIC_0000001098830800__ol129415150481"><li id="EN-US_TOPIC_0000001098830800__li229415155484"><span>Call the <strong id="EN-US_TOPIC_0000001098830800__b2025103914516">pgxc_get_residualfiles()</strong> function to obtain the name of the database that has residual files.</span></li><li id="EN-US_TOPIC_0000001098830800__li1520773724815"><span>Go to the databases where residual files exist and call the <strong id="EN-US_TOPIC_0000001098830800__b91331815155219">pgxc_verify_residualfiles()</strong> function to verify the residual files recorded in the current database.</span></li><li id="EN-US_TOPIC_0000001098830800__li614824111482"><span>Call the pgxc_rm_residualfiles() function to delete all the verified residual files.</span></li></ol>
|
|
<div class="note" id="EN-US_TOPIC_0000001098830800__note177121328194914"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="EN-US_TOPIC_0000001098830800__p1945313557509">The pgxc residual file management function only operates on the CN and the current primary DN, and does not verify or clear residual files on the standby DN. Therefore, after the primary DN is cleared, you need to clear residual files on the standby DN or build the standby DN in a timely manner. This prevents residual files on the standby DN from being copied back to the primary DN due to incremental build after a primary/standby switchover.</p>
|
|
</div></div>
|
|
<p id="EN-US_TOPIC_0000001098830800__p834821174915">Example:</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p18392026122812">The following example uses two user-created databases, <strong id="EN-US_TOPIC_0000001098830800__b21401453165213">db1</strong> and <strong id="EN-US_TOPIC_0000001098830800__b2088415554526">db2</strong>.</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p171412372917"><span><img id="EN-US_TOPIC_0000001098830800__image1664983219271" src="figure/en-us_image_0000001145911035.png"></span></p>
|
|
</div>
|
|
<ol id="EN-US_TOPIC_0000001098830800__ol6357650183116"><li id="EN-US_TOPIC_0000001098830800__li8358165016317">Run the following command to obtain all residual file records of the cluster on the CNs:<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001098830800__screen1917130132915"><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="n">db1</span><span class="o">=#</span><span class="w"> </span><span class="k">select</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">pgxc_get_residualfiles</span><span class="p">()</span><span class="w"> </span><span class="k">order</span><span class="w"> </span><span class="k">by</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">;</span><span class="w"> </span><span class="c1">-- order by is optional.</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001098830800__p1017143017296"><span><img id="EN-US_TOPIC_0000001098830800__image181716306299" src="figure/en-us_image_0000001145511057.png"></span></p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p1838105613389">In the current cluster:</p>
|
|
<ul id="EN-US_TOPIC_0000001098830800__ul14551086397"><li id="EN-US_TOPIC_0000001098830800__li1145610873918">Residual file records exist in the <strong id="EN-US_TOPIC_0000001098830800__b5577131215553">db1</strong> and <strong id="EN-US_TOPIC_0000001098830800__b351341595512">db2</strong> databases on the <strong id="EN-US_TOPIC_0000001098830800__b15713422175512">dn_6001_6002</strong> node (active node instance).</li><li id="EN-US_TOPIC_0000001098830800__li445614823915">Residual files are displayed in the <strong id="EN-US_TOPIC_0000001098830800__b204811756105520">residualfile</strong> column.</li><li id="EN-US_TOPIC_0000001098830800__li545668143917">The <strong id="EN-US_TOPIC_0000001098830800__b166411615560">filepath</strong> column lists the files that record residual files. These files are stored in the <strong id="EN-US_TOPIC_0000001098830800__b1297913411563">pg_residualfiles</strong> directory under the instance data directory.</li></ul>
|
|
</li><li id="EN-US_TOPIC_0000001098830800__li1719719477356">Call the <strong id="EN-US_TOPIC_0000001098830800__b751405995619">pgxc_verify_residualfiles()</strong> function to verify the db1 database.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001098830800__screen111715300295"><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="n">db1</span><span class="o">=#</span><span class="w"> </span><span class="k">select</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">pgxc_verify_residualfiles</span><span class="p">();</span><span class="w"></span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001098830800__p14171730122916"><span><img id="EN-US_TOPIC_0000001098830800__image13171530102911" src="figure/en-us_image_0000001145710991.png"></span></p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p1817113022916">Verification functions are at the database level. Therefore, when a verification function is called in the <strong id="EN-US_TOPIC_0000001098830800__b176117685817">db1</strong> database, it only verifies residual files in <strong id="EN-US_TOPIC_0000001098830800__b11549193335820">db1</strong>.</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p61783014298">You can call the <strong id="EN-US_TOPIC_0000001098830800__b17661174915812">get</strong> function again to check whether the verification is complete.</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001098830800__screen517163017295"><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="n">db1</span><span class="o">=#</span><span class="w"> </span><span class="k">select</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">pgxc_get_residualfiles</span><span class="p">()</span><span class="w"> </span><span class="k">order</span><span class="w"> </span><span class="k">by</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">;</span><span class="w"></span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001098830800__p1717143015297"><span><img id="EN-US_TOPIC_0000001098830800__image1117173010292" src="figure/en-us_image_0000001098831060.png"></span></p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p21743011295">As shown in the preceding figure, the residual files in the <strong id="EN-US_TOPIC_0000001098830800__b3758113118598">db1</strong> database have been verified, and the residual files in the db2 database are not verified.</p>
|
|
</li><li id="EN-US_TOPIC_0000001098830800__li179281321123613">Call the <strong id="EN-US_TOPIC_0000001098830800__b1486354125917">pgxc_rm_residualfiles()</strong> function to delete residual files.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001098830800__screen161815307297"><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="n">db1</span><span class="o">=#</span><span class="w"> </span><span class="k">select</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">pgxc_rm_residualfiles</span><span class="p">();</span><span class="w"></span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001098830800__p31814306296"><span><img id="EN-US_TOPIC_0000001098830800__image1118430122912" src="figure/en-us_image_0000001098831058.png"></span></p>
|
|
</li><li id="EN-US_TOPIC_0000001098830800__li1452534220364">Call the <strong id="EN-US_TOPIC_0000001098830800__b87101660012">pgxc_get_residualfiles()</strong> function again to check the deletion result.<p id="EN-US_TOPIC_0000001098830800__p14187306299"><span><img id="EN-US_TOPIC_0000001098830800__image1318143011299" src="figure/en-us_image_0000001145830907.png"></span></p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p111813010298">The result shows that the residual files in the <strong id="EN-US_TOPIC_0000001098830800__b1664217211501">db1</strong> database are deleted (<strong id="EN-US_TOPIC_0000001098830800__b6731305016">isdeleted</strong> is marked as <strong id="EN-US_TOPIC_0000001098830800__b1262219353010">t</strong>) and the residual files in the <strong id="EN-US_TOPIC_0000001098830800__b1649614442011">db2</strong> database are not deleted.</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p131813015299">In addition, nine query results are displayed. Compared with the previous query results, a record for the residual file ending with <strong id="EN-US_TOPIC_0000001098830800__b241816201524">9438</strong> is missing. This is because the record file that records the residual file ending with <strong id="EN-US_TOPIC_0000001098830800__b489661518420">9438</strong> contains only one record, which is deleted in step 3. If all residual files in a record file are deleted, the record file is also deleted. Deleted files are backed up in the <strong id="EN-US_TOPIC_0000001098830800__b1580010361612">pg_residualfiles/backup</strong> directory.</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p4180302297"><span><img id="EN-US_TOPIC_0000001098830800__image21816304293" src="figure/en-us_image_0000001098991054.png"></span></p>
|
|
</li><li id="EN-US_TOPIC_0000001098830800__li9462165963611">To delete files from the <strong id="EN-US_TOPIC_0000001098830800__b172231701874">db2</strong> database, you need to call the <strong id="EN-US_TOPIC_0000001098830800__b14640191472">verify</strong> function in the <strong id="EN-US_TOPIC_0000001098830800__b768117192719">db2</strong> database and then call the <strong id="EN-US_TOPIC_0000001098830800__b1854613281379">rm</strong> function.<ol type="a" id="EN-US_TOPIC_0000001098830800__ol4210157134616"><li id="EN-US_TOPIC_0000001098830800__li318118194617">Go to the <strong id="EN-US_TOPIC_0000001098830800__b79284431477">db2</strong> database and call the verification function.<p id="EN-US_TOPIC_0000001098830800__p1218183017293"><span><img id="EN-US_TOPIC_0000001098830800__image201873013298" src="figure/en-us_image_0000001145911037.png"></span></p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p2018173017292">Query the verification result:</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p623430122917"><span><img id="EN-US_TOPIC_0000001098830800__image3231130142910" src="figure/en-us_image_0000001098671232.png"></span></p>
|
|
</li><li id="EN-US_TOPIC_0000001098830800__li11283618174617">Call the deletion function:<p id="EN-US_TOPIC_0000001098830800__p13300121811461"><a name="EN-US_TOPIC_0000001098830800__li11283618174617"></a><a name="li11283618174617"></a><span><img id="EN-US_TOPIC_0000001098830800__image10300418154618" src="figure/en-us_image_0000001098671234.png"></span></p>
|
|
</li><li id="EN-US_TOPIC_0000001098830800__li747692219462">Query the deletion result:<p id="EN-US_TOPIC_0000001098830800__p18489102218469"><a name="EN-US_TOPIC_0000001098830800__li747692219462"></a><a name="li747692219462"></a><span><img id="EN-US_TOPIC_0000001098830800__image6489142213460" src="figure/en-us_image_0000001145830909.png"></span></p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p1049015226468">All residual files recorded in the record file whose name ends with <strong id="EN-US_TOPIC_0000001098830800__b545145714815">8342</strong> have been deleted, so the record file is deleted and backed up in the <strong id="EN-US_TOPIC_0000001098830800__b12252193613106">backup</strong> directory. As a result, no records are found.</p>
|
|
<p id="EN-US_TOPIC_0000001098830800__p44902222463"><span><img id="EN-US_TOPIC_0000001098830800__image24901822104619" src="figure/en-us_image_0000001145710989.png"></span></p>
|
|
</li></ol>
|
|
</li></ol>
|
|
</div>
|
|
<div>
|
|
<div class="familylinks">
|
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="dws_06_0052.html">System Administration Functions</a></div>
|
|
</div>
|
|
</div>
|
|
|