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>
54 lines
8.0 KiB
HTML
54 lines
8.0 KiB
HTML
<a name="EN-US_TOPIC_0000001233883307"></a><a name="EN-US_TOPIC_0000001233883307"></a>
|
|
|
|
<h1 class="topictitle1">Checking Blocked Statements</h1>
|
|
<div id="body8662426"><p id="EN-US_TOPIC_0000001233883307__p451719935116">During database running, query statements are blocked in some service scenarios and run for an excessively long time. In this case, you can forcibly terminate the faulty session.</p>
|
|
<div class="section" id="EN-US_TOPIC_0000001233883307__s68867044a3144d86956a446e59853e7e"><h4 class="sectiontitle">Procedure</h4><ol id="EN-US_TOPIC_0000001233883307__o0cd80be2203046cdba73c813bd95aba4"><li id="EN-US_TOPIC_0000001233883307__lb2c84b7e000449cc80478b467ae3bd47"><span>View blocked query statements and information about the tables and schemas that block the query statements.</span><p><div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233883307__s644ea2c1c64a46acac9abcdbfaeaf9b6"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">w</span><span class="p">.</span><span class="n">query</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">waiting_query</span><span class="p">,</span>
|
|
<span class="n">w</span><span class="p">.</span><span class="n">pid</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">w_pid</span><span class="p">,</span>
|
|
<span class="n">w</span><span class="p">.</span><span class="n">usename</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">w_user</span><span class="p">,</span>
|
|
<span class="n">l</span><span class="p">.</span><span class="n">query</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">locking_query</span><span class="p">,</span>
|
|
<span class="n">l</span><span class="p">.</span><span class="n">pid</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">l_pid</span><span class="p">,</span>
|
|
<span class="n">l</span><span class="p">.</span><span class="n">usename</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">l_user</span><span class="p">,</span>
|
|
<span class="n">t</span><span class="p">.</span><span class="n">schemaname</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="s1">'.'</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">t</span><span class="p">.</span><span class="n">relname</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">tablename</span>
|
|
<span class="k">from</span><span class="w"> </span><span class="n">pg_stat_activity</span><span class="w"> </span><span class="n">w</span><span class="w"> </span><span class="k">join</span><span class="w"> </span><span class="n">pg_locks</span><span class="w"> </span><span class="n">l1</span><span class="w"> </span><span class="k">on</span><span class="w"> </span><span class="n">w</span><span class="p">.</span><span class="n">pid</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">l1</span><span class="p">.</span><span class="n">pid</span>
|
|
<span class="k">and</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="n">l1</span><span class="p">.</span><span class="k">granted</span><span class="w"> </span><span class="k">join</span><span class="w"> </span><span class="n">pg_locks</span><span class="w"> </span><span class="n">l2</span><span class="w"> </span><span class="k">on</span><span class="w"> </span><span class="n">l1</span><span class="p">.</span><span class="n">relation</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">l2</span><span class="p">.</span><span class="n">relation</span>
|
|
<span class="k">and</span><span class="w"> </span><span class="n">l2</span><span class="p">.</span><span class="k">granted</span><span class="w"> </span><span class="k">join</span><span class="w"> </span><span class="n">pg_stat_activity</span><span class="w"> </span><span class="n">l</span><span class="w"> </span><span class="k">on</span><span class="w"> </span><span class="n">l2</span><span class="p">.</span><span class="n">pid</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">l</span><span class="p">.</span><span class="n">pid</span><span class="w"> </span><span class="k">join</span><span class="w"> </span><span class="n">pg_stat_user_tables</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="k">on</span><span class="w"> </span><span class="n">l1</span><span class="p">.</span><span class="n">relation</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">t</span><span class="p">.</span><span class="n">relid</span>
|
|
<span class="k">where</span><span class="w"> </span><span class="n">w</span><span class="p">.</span><span class="n">waiting</span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001233883307__af7ac5c321d0e45ed987fe479170f937b">The thread ID, user information, query status, as well as information about the tables and schemas that block the query statements are returned.</p>
|
|
</p></li><li id="EN-US_TOPIC_0000001233883307__l1c3de51cc2474cfa96e3ddc987fb6706"><span>Run the following command to terminate the required session, where <strong id="EN-US_TOPIC_0000001233883307__b842352706171354">139834762094352</strong> is the thread ID:</span><p><div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233883307__sb940a2a6d9224b93b84aab3dc1812713"><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">SELECT</span><span class="w"> </span><span class="n">PG_TERMINATE_BACKEND</span><span class="p">(</span><span class="mi">139834762094352</span><span class="p">);</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001233883307__a9d731ea17e6a4267bd47295d9ecf2a2e">If information similar to the following is displayed, the session is successfully terminated:</p>
|
|
<pre class="screen" id="EN-US_TOPIC_0000001233883307__s81a6245f5e13450381076dcebb8cdfb7"> PG_TERMINATE_BACKEND
|
|
----------------------
|
|
t
|
|
(1 row)</pre>
|
|
<p id="EN-US_TOPIC_0000001233883307__a31483faeea4b4fa8968def6662a5f064">If a command output similar to the following is displayed, a user is attempting to terminate the session, and the session will be reconnected rather than being terminated.</p>
|
|
<pre class="screen" id="EN-US_TOPIC_0000001233883307__s8fa773c629434a8493eff3e3ba560e13">FATAL: terminating connection due to administrator command
|
|
FATAL: terminating connection due to administrator command
|
|
The connection to the server was lost. Attempting reset: Succeeded.</pre>
|
|
<div class="note" id="EN-US_TOPIC_0000001233883307__nfd68e3a7ba1a4a408560d921245e256a"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="EN-US_TOPIC_0000001233883307__a6d58b1087698456c89827276d225583b">If the <strong id="EN-US_TOPIC_0000001233883307__b842352706143550">PG_TERMINATE_BACKEND</strong> function is used to terminate the background threads of the session, the gsql client will be reconnected rather than be logged out.</p>
|
|
</div></div>
|
|
</p></li></ol>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div class="familylinks">
|
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="dws_04_0403.html">Determining the Performance Optimization Scope</a></div>
|
|
</div>
|
|
</div>
|
|
|