doc-exports/docs/dws/umn/dws_01_0171.html
Lu, Huayi 95132e24fc DWS UMN 830.201_new version
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com>
Reviewed-by: Rechenburg, Matthias <matthias.rechenburg@t-systems.com>
Co-authored-by: Lu, Huayi <luhuayi@huawei.com>
Co-committed-by: Lu, Huayi <luhuayi@huawei.com>
2024-05-27 11:54:34 +00:00

1790 lines
180 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<a name="EN-US_TOPIC_0000001707254549"></a><a name="EN-US_TOPIC_0000001707254549"></a>
<h1 class="topictitle1">Using the Python Library PyGreSQL to Connect to a Cluster</h1>
<div id="body8662426"><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p458821416515">After creating a data warehouse cluster and using the third-party function library PyGreSQL to connect to the cluster, you can use Python to access GaussDB(DWS) and perform various operations on data tables.</p>
<div class="section" id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_section5781841515252"><h4 class="sectiontitle">Preparations Before Connecting to a Cluster</h4><ul id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_ul45554082154819"><li id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_li26944207154837">An EIP has been bound to the data warehouse cluster.</li><li id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_li15641651154819">You have obtained the administrator username and password for logging in to the database in the data warehouse cluster.<div class="p" id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p4241153345010"><a name="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_li15641651154819"></a><a name="en-us_topic_0000001372679778_li15641651154819"></a>MD5 algorithms may by vulnerable to collision attacks and cannot be used for password verification. Currently, GaussDB(DWS) uses the default security design. By default, MD5 password verification is disabled, and this may cause failures of connections from open source clients. You are advised to set <strong id="EN-US_TOPIC_0000001707254549__b75735820911">password_encryption_type</strong> to <strong id="EN-US_TOPIC_0000001707254549__b1057388395">1</strong>. For details, see "Modifying Database Parameters" in <em id="EN-US_TOPIC_0000001707254549__i95743819917">User Guide</em>.<div class="note" id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_note0736103131316"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><ul id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_ul622991113241"><li id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_li7230131152410">For security purposes, GaussDB(DWS) no longer uses MD5 to store password digests by default. As a result, the open-source drives and clients may fail to connect to the database. To use the MD5 algorithm used in an open-source protocol, you must modify your password policy and create a new user, or change the password of an existing user.</li><li id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_li82301611172414">The database stores the hash digest of passwords instead of password text. During password verification, the system compares the hash digest with the password digest sent from the client (salt operations are involved). If you change your cryptographic algorithm policy, the database cannot generate a new hash digest for your existing password. For connectivity purposes, you must manually change your password or create a new user. The new password will be encrypted using the hash algorithm and stored for authentication in the next connection.</li></ul>
</div></div>
</div>
</li><li id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_li21675327154819">You have obtained the public network address, including the IP address and port number in the data warehouse cluster. For details, see <a href="dws_01_0033.html">Obtaining the Cluster Connection Address</a>.</li><li id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_li1063531922419">You have installed the third-party function library PyGreSQL.<p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p15638162832413"><a name="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_li1063531922419"></a><a name="en-us_topic_0000001372679778_li1063531922419"></a>Download address: <a href="http://www.pygresql.org/download/index.html" target="_blank" rel="noopener noreferrer">http://www.pygresql.org/download/index.html</a></p>
</li><li id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_li324310331382">For details about the installation and deployment operations, see <a href="http://www.pygresql.org/contents/install.html" target="_blank" rel="noopener noreferrer">http://www.pygresql.org/contents/install.html</a><div class="note" id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_note776310276369"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><ul id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_ul1512511484239"><li id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_li912634815237">In CentOS and Red Hat OS, run the following <strong id="EN-US_TOPIC_0000001707254549__b1054421592216">yum</strong> command:<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_screen18567144015222"><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">yum</span><span class="w"> </span><span class="n">install</span><span class="w"> </span><span class="n">PyGreSQL</span>
</pre></div></td></tr></table></div>
</div>
</li><li id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_li161261148132311">PyGreSQL depends on the libpq dynamic library of PostgreSQL (32-bit or 64-bit version, whichever matches the PyGreSQL bit version). In Linux, you can run the <strong id="EN-US_TOPIC_0000001707254549__b6283192015229">yum</strong> command and do not need to install the library. Before using PyGreSQL in Windows, you need to install libpq in either of the following ways:<ul id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_ul196345832320"><li id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_li121251048182311">Install PostgreSQL and configure the libpq, ssl, and crypto dynamic libraries in the environment variable <strong id="EN-US_TOPIC_0000001707254549__b1080041211237">PATH</strong>.</li><li id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_li212634811234">Install <strong id="EN-US_TOPIC_0000001707254549__b37211424112212">psqlodbc</strong> and use the <strong id="EN-US_TOPIC_0000001707254549__b97262241222">libpq</strong>,<strong id="EN-US_TOPIC_0000001707254549__b572722411222"> ssl</strong>, and <strong id="EN-US_TOPIC_0000001707254549__b1272712242223">crypto </strong>dynamic libraries carried by the PostgreSQL ODBC driver.</li></ul>
</li></ul>
</div></div>
</li></ul>
</div>
<div class="section" id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_section346571443710"><h4 class="sectiontitle">Constraints</h4><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p145631431373">PyGreSQL is a PostgreSQL-based client interface, and its functions are not fully supported by GaussDB(DWS). For details, see <a href="#EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_table12568181118545">Table 1</a>.</p>
<div class="note" id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_note6957181343811"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p39227294383">The following APIs are supported based on Python 3.8.5 and PyGreSQL 5.2.4.</p>
</div></div>
<div class="tablenoborder"><a name="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_table12568181118545"></a><a name="en-us_topic_0000001372679778_table12568181118545"></a><table cellpadding="4" cellspacing="0" summary="" id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_table12568181118545" frame="border" border="1" rules="all"><caption><b>Table 1 </b>PyGreSQL APIs supported by DWS</caption><thead align="left"><tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row1880714111545"><th align="left" class="cellrowborder" colspan="2" valign="top" id="mcps1.3.3.4.2.5.1.1"><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p48071211155418">PyGreSQL</p>
</th>
<th align="left" class="cellrowborder" valign="top" id="mcps1.3.3.4.2.5.1.2"><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p2080716112546">Yes</p>
</th>
<th align="left" class="cellrowborder" valign="top" id="mcps1.3.3.4.2.5.1.3"><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p13807811195419"><strong id="EN-US_TOPIC_0000001707254549__b8875324721095">Remarks</strong></p>
</th>
</tr>
</thead>
<tbody><tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row1980791120545"><td class="cellrowborder" rowspan="24" valign="top" width="15%" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1980791145413">Module functions and constants</p>
</td>
<td class="cellrowborder" valign="top" width="65%" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p080751118548">connect Open a PostgreSQL connection</p>
</td>
<td class="cellrowborder" valign="top" width="10%" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1480751110548">Y</p>
</td>
<td class="cellrowborder" valign="top" width="10%" headers="mcps1.3.3.4.2.5.1.3 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p580710115542">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row19807201175419"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p19808111117542">get_pqlib_version get the version of libpq</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1980831110547">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p138081011115410">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row11808811175413"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p158087117546">get/set_defhost default server host [DV]</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p6808131105413">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p580881175419">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row88081911135419"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p7808211185420">get/set_defport default server port [DV]</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p158081711105417">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1808131113542">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row1380861155418"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1180841185419">get/set_defopt default connection options [DV]</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p108081111115418">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p168081911155417">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row88081511165415"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p12808201195410">get/set_defbase default database name [DV]</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p88084118541">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1680861155414">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row168087115547"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p198081711165414">get/set_defuser default database user [DV]</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p880871105415">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p208089112548">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row1280851115546"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p2808141195416">get/set_defpasswd default database password [DV]</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p168085117546">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p19808511185419">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row8808121111547"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p18082011105415">escape_string escape a string for use within SQL</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p3808111116545">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1180991175420">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row480941185417"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p180951117549">escape_bytea escape binary data for use within SQL</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p178097112546">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p3810161165419">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row1981031111549"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1981071155412">unescape_bytea unescape data that has been retrieved as text</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p8810161110544">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1181021115413">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row88101411135411"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p17810111116541">get/set_namedresult conversion to named tuples</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p168106114549">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p16810211105416">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row1081071114549"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p16810141119548">get/set_decimal decimal type to be used for numeric values</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p181061185413">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p128104111549">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row158101811155411"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p181011115417">get/set_decimal_point decimal mark used for monetary values</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p16810611195420">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1781041155411">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row1181015119547"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p18810201145411">get/set_bool whether boolean values are returned as bool objects</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p781031116541">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p16810811195416">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row28101111135411"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p181091195415">get/set_array whether arrays are returned as list objects</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p4810141125419">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1681051115412">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row3810161110542"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p13810151110548">get/set_bytea_escaped whether bytea data is returned escaped</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p10810131111546">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p198101111185413">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row18810171112546"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p381071115546">get/set_jsondecode decoding JSON format</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p6810101111541">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p38101111105411">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row148111311155418"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p481161135415">get/set_cast_hook fallback typecast function</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p4811211205413">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1281117114543">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row13811111113549"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p13811121165412">get/set_datestyle assume a fixed date style</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1581181118545">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1811201125416">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row1281121175414"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p19811111112546">get/set_typecast custom typecasting</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p178111411105412">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p58111511135412">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row19811151118545"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p981131195416">cast_array/record fast parsers for arrays and records</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p2811101165417">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p28113118544">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row7811121105414"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1481101110548">Type helpers</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p68111911195413">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p3811141195417">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row3811151195412"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p18118111542">Module constants</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1681131110549">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p7811111135411">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row12811181119547"><td class="cellrowborder" rowspan="25" valign="top" width="15%" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1081112117547">Connection The connection object</p>
</td>
<td class="cellrowborder" valign="top" width="65%" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p178111911115418">query execute a SQL command string</p>
</td>
<td class="cellrowborder" valign="top" width="10%" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p198118119541">Y</p>
</td>
<td class="cellrowborder" valign="top" width="10%" headers="mcps1.3.3.4.2.5.1.3 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1181115119547">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row081101125412"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p2081116116548">send_query - executes a SQL command string asynchronously</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p8811511175412">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1381171120548">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row148121011155412"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1881261112546">query_prepared execute a prepared statement</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p198120115548">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p18123114546">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row11812101114546"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p48121411155417">prepare create a prepared statement</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p4812111115411">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p5812101185415">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row1481218113548"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p2812171114547">describe_prepared describe a prepared statement</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p17812191175417">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p98122114546">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row1781291135415"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p13812511135412">reset reset the connection</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p118121311165411">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p16812711175414">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row281261175413"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p15812141185411">poll - completes an asynchronous connection</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p781210113548">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1781201165413">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row681271112549"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p281217114548">cancel abandon processing of current SQL command</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p5812101135411">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p3812191112540">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row19812191135413"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p12812191119542">close close the database connection</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1781291112542">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1481210115549">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row08121111175416"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1081214117549">transaction get the current transaction state</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1081217116543">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p081216113545">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row3812161145414"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p5813411125417">parameter get a current server parameter setting</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p88137119548">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1813011145416">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row1181351115417"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p2813201155416">date_format get the currently used date format</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1781321112547">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1813171111547">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row17813101155411"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p981310115543">fileno get the socket used to connect to the database</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1781381113548">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1681361175414">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row1081391135413"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p38131211115410">set_non_blocking - set the non-blocking status of the connection</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p481381120540">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1881381125418">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row118131611165414"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1881341115410">is_non_blocking - report the blocking status of the connection</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p2081319119547">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p281311115543">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row18131711125420"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p481321185411">getnotify get the last notify from the server</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p78131115542">N</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1181314115549">The database does not support <strong id="EN-US_TOPIC_0000001707254549__b0704117132510">listen</strong>/<strong id="EN-US_TOPIC_0000001707254549__b1470417712516">notify</strong>.</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row1181321105412"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p188131511115414">inserttable insert a list into a table</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p4813141111541">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1381341115411">Use double quotation marks ("") to quote <strong id="EN-US_TOPIC_0000001707254549__b84235270610630">\n</strong> in the <strong id="EN-US_TOPIC_0000001707254549__b8423527061078">copy</strong> command.</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row481341111549"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p20813111117548">get/set_notice_receiver custom notice receiver</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p4813171111549">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1881371118545">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row28132112545"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p98139112542">putline write a line to the server socket [DA]</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p188147117546">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1281411119544">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row18141511115416"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p5814141155416">getline get a line from server socket [DA]</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p17814131145418">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p13814111112549">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row13814161113549"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p16814911125416">endcopy synchronize client and server [DA]</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p148141211135414">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p18142011105419">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row19814161114548"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p88143119546">locreate create a large object in the database [LO]</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p281421113545">N</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p5814121155417">Operations related to large objects</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row58142119543"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1814171114543">getlo build a large object from given oid [LO]</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p081411119542">N</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p10814111115542">Operations related to large objects</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row19814131114540"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p281401175411">loimport import a file to a large object [LO]</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p48141911195410">N</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p681481112540">Operations related to large objects</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row9814121125418"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p17814121119541">Object attributes</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p15814121175417">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p981411125417">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row7814121185417"><td class="cellrowborder" rowspan="29" valign="top" width="15%" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p198146114547">The DB wrapper class</p>
</td>
<td class="cellrowborder" valign="top" width="65%" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p4814191195419">Initialization</p>
</td>
<td class="cellrowborder" valign="top" width="10%" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p118141311115411">Y</p>
</td>
<td class="cellrowborder" valign="top" width="10%" headers="mcps1.3.3.4.2.5.1.3 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p5814911175412">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row1381420114548"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p681401145420">pkey return the primary key of a table</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1281515115548">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p15815111114547">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row8815191165413"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p13815211125419">get_databases get list of databases in the system</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p13815141115410">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p13815111111546">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row17815211125416"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1181516112541">get_relations get list of relations in connected database</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p118150115549">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p148151211105412">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row1781581185418"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p181501125417">get_tables get list of tables in connected database</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p18815141112543">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p281519113544">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row128151311175411"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p128155114541">get_attnames get the attribute names of a table</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p48157116544">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p10815111105410">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row168151911155415"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p10815211185410">has_table_privilege check table privilege</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p481561113542">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p148155119547">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row198151211165415"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p178151114544">get/set_parameter get or set run-time parameters</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p781671112549">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p10816811135417">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row3816511205414"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1816151155412">begin/commit/rollback/savepoint/release transaction handling</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1081611113540">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p10816411165417">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row20816171110546"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p4816811135410">get get a row from a database table or view</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p11816111115541">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p481611119548">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row158161311105417"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1881741112543">insert insert a row into a database table</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1381713111545">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p16817111175416">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row481721115543"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1981781110543">update update a row in a database table</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p168175114541">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p9817171125419">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row178174116549"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p98171811145414">upsert insert a row with conflict resolution</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p981761145412">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p118171711165419">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row4817131113542"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p17817111155417">query execute a SQL command string</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1181721165415">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p128171611135414">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row148171911135418"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p15817131165418">query_formatted execute a formatted SQL command string</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p3817811125416">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p88171011105416">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row8817141112548"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1581721185414">query_prepared execute a prepared statement</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p381721105412">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p19817171155413">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row4817101111541"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p68171511205410">prepare create a prepared statement</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p17817611145414">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p6817121116543">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row17817211175412"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p181716115549">describe_prepared describe a prepared statement</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p481731165411">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p10817161125413">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row14817191135411"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p981751116548">delete_prepared delete a prepared statement</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1081814119546">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p2818911175413">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row148181011135410"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p881813117543">clear clear row values in memory</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p148189117548">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p2818181175416">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row148181114545"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p11818141175412">delete delete a row from a database table</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p3818111105410">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p28181611155419">A tuple must have unique key or primary key.</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row1081810118541"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p4818131175414">truncate quickly empty database tables</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p13818191116546">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p38181111175412">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row11818121195415"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1681851117541">get_as_list/dict read a table as a list or dictionary</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p198184119547">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1481811111546">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row1081881118548"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p28183118544">escape_literal/identifier/string/bytea escape for SQL</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p6818181119546">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p681841110541">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row1981861114541"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p168181711205411">unescape_bytea unescape data retrieved from the database</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p14818161155418">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p3818131105414">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row17818131115544"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1981820111545">encode/decode_json encode and decode JSON data</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1581871135415">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p168181115542">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row1381851135413"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p981831155413">use_regtypes determine use of regular type names</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p08191711185419">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p158191611155412">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row9819181115547"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p98191211165414">notification_handler create a notification handler</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p581921119549">N</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p11819151175416">The database does not support <strong id="EN-US_TOPIC_0000001707254549__b4170131814251">listen</strong>/<strong id="EN-US_TOPIC_0000001707254549__b217191810254">notify</strong>.</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row481913119540"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1881918115541">Attributes of the DB wrapper class</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p8819611165419">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p138191411135413">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row15819711105419"><td class="cellrowborder" rowspan="11" valign="top" width="15%" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p19819511145413">Query methods</p>
</td>
<td class="cellrowborder" valign="top" width="65%" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p881961195415">getresult get query values as list of tuples</p>
</td>
<td class="cellrowborder" valign="top" width="10%" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1181913112545">Y</p>
</td>
<td class="cellrowborder" valign="top" width="10%" headers="mcps1.3.3.4.2.5.1.3 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p13819151185418">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row1681961165410"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p781931175410">dictresult/dictiter get query values as dictionaries</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p881951120546">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p581914116548">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row98191411115418"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1481911118544">namedresult/namediter get query values as named tuples</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p6819131115546">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p188191116547">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row1381951145411"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p128198115543">scalarresult/scalariter get query values as scalars</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1281971185417">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p188192116547">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row58196114541"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p148198118543">one/onedict/onenamed/onescalar get one result of a query</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1981971115410">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p681981135416">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row108198118547"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1381910115546">single/singledict/singlenamed/singlescalar get single result of a query</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p18819121165420">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p15820131113546">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row198201811175416"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p11820121118544">listfields list fields names of previous query result</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p158202011195413">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p4820111165417">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row128201611145419"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p12820171195412">fieldname, fieldnum field name/number conversion</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p782071115413">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p16820181110548">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row188201511195417"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p17820141111545">fieldinfo detailed info about query result fields</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1582018115544">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p5820411195418">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row18820191115418"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1082061113545">ntuples return number of tuples in query object</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p48209110546">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p482012110546">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row28204115545"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p12820141117549">memsize return number of bytes allocated by query result</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p16820151115546">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p16820611115416">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row1820191115415"><td class="cellrowborder" rowspan="6" valign="top" width="15%" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p48207115546">LargeObject Large Objects</p>
</td>
<td class="cellrowborder" valign="top" width="65%" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1982012119543">open open a large object</p>
</td>
<td class="cellrowborder" valign="top" width="10%" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p19820151165416">N</p>
</td>
<td class="cellrowborder" valign="top" width="10%" headers="mcps1.3.3.4.2.5.1.3 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p582015115548">Operations related to large objects</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row16820181125417"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1382013114542">close close a large object</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p10820211105414">N</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1820511205419">Operations related to large objects</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row38201411125411"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p8820201120548">read, write, tell, seek, unlink file-like large object handling</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p882071145417">N</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p9821191145419">Operations related to large objects</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row1482141165410"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1382151135416">size get the large object size</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p18211111165412">N</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p6821211105412">Operations related to large objects</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row158211911125415"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p188211511105420">export save a large object to a file</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1582116113544">N</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1482117113542">Operations related to large objects</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row68211911135415"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p15821161111542">Object attributes</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p6821101155420">N</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p3821131195416">Operations related to large objects</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row782118112543"><td class="cellrowborder" rowspan="4" valign="top" width="15%" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p88210117549">The Notification Handler</p>
</td>
<td class="cellrowborder" valign="top" width="65%" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1082161135413">Instantiating the notification handler</p>
</td>
<td class="cellrowborder" valign="top" width="10%" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p14821111145411">N</p>
</td>
<td class="cellrowborder" valign="top" width="10%" headers="mcps1.3.3.4.2.5.1.3 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p18821191111543">The database does not support <strong id="EN-US_TOPIC_0000001707254549__b7752224162519">listen</strong>/<strong id="EN-US_TOPIC_0000001707254549__b67530245256">notify</strong>.</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row178211011105415"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1782191113541">Invoking the notification handler</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p15821911115416">N</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p2082101135417">The database does not support <strong id="EN-US_TOPIC_0000001707254549__b17719142812518">listen</strong>/<strong id="EN-US_TOPIC_0000001707254549__b14719328152519">notify</strong>.</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row0822311165415"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p98227115547">Sending notifications</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p10822611185414">N</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p20822161195414">The database does not support <strong id="EN-US_TOPIC_0000001707254549__b12535429102517">listen</strong>/<strong id="EN-US_TOPIC_0000001707254549__b1653611293258">notify</strong>.</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row682271155419"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p18822911125412">Auxiliary methods</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p88227117543">N</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p18822911185415">The database does not support <strong id="EN-US_TOPIC_0000001707254549__b233373010257">listen</strong>/<strong id="EN-US_TOPIC_0000001707254549__b1033493072518">notify</strong>.</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row982261110542"><td class="cellrowborder" colspan="4" valign="top" headers="mcps1.3.3.4.2.5.1.1 mcps1.3.3.4.2.5.1.2 mcps1.3.3.4.2.5.1.3 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p17822711195417"><strong id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_b1182241125413">pgdb</strong></p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row19822111110548"><td class="cellrowborder" rowspan="4" valign="top" width="15%" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p4822111113541">Module functions and constants</p>
</td>
<td class="cellrowborder" valign="top" width="65%" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1822151119542">connect Open a PostgreSQL connection</p>
</td>
<td class="cellrowborder" valign="top" width="10%" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p182281118545">Y</p>
</td>
<td class="cellrowborder" valign="top" width="10%" headers="mcps1.3.3.4.2.5.1.3 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p682211117549">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row11822121113542"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p198231911125419">get/set/reset_typecast Control the global typecast functions</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p13823111105418">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p208231611165414">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row2823111117543"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p082315115545">Module constants</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p8823171120546">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1282311111545">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row3823211185412"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p148236114547">Errors raised by this module</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1182331118545">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p782391111542">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row17823121116548"><td class="cellrowborder" rowspan="5" valign="top" width="15%" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1823181116549">Connection The connection object</p>
</td>
<td class="cellrowborder" valign="top" width="65%" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p5823181118549">close close the connection</p>
</td>
<td class="cellrowborder" valign="top" width="10%" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1382331175416">Y</p>
</td>
<td class="cellrowborder" valign="top" width="10%" headers="mcps1.3.3.4.2.5.1.3 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p582361110543">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row15823161110543"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p48236111540">commit commit the connection</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p11823171165415">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p98231411115417">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row48237118545"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p118237112542">rollback roll back the connection</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p38231111175417">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p282391105414">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row1682311195416"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p882301115541">cursor return a new cursor object</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p18823311155419">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p188238115542">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row12823171118540"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p98231115549">Attributes that are not part of the standard</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p18823181114544">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p982441115419">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row382411114543"><td class="cellrowborder" rowspan="11" valign="top" width="15%" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p18241911185410">Cursor The cursor object</p>
</td>
<td class="cellrowborder" valign="top" width="65%" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p782441114544">description details regarding the result columns</p>
</td>
<td class="cellrowborder" valign="top" width="10%" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p11824911115415">Y</p>
</td>
<td class="cellrowborder" valign="top" width="10%" headers="mcps1.3.3.4.2.5.1.3 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1782419112543">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row128247110546"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p8824201115545">rowcount number of rows of the result</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p17824181120549">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1824011105411">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row13824411125411"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p14824811205415">close close the cursor</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p6824161125413">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1182431114547">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row148246118540"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p108241311175412">execute execute a database operation</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p582418118545">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p6824911155418">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row14824191115541"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p382415119546">executemany execute many similar database operations</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p28243118547">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p5824011175417">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row28241911205413"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p6824171175415">callproc Call a stored procedure</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1824131115542">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p28243118546">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row20824311115419"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p12824121185412">fetchone fetch next row of the query result</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1382419110543">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p8824911145412">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row68251511125415"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p18825181155420">fetchmany fetch next set of rows of the query result</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p16825191111545">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p48258118548">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row8825211145411"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p282571113545">fetchall fetch all rows of the query result</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p082511115410">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1482521119544">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row1382511110543"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p178250115544">arraysize - the number of rows to fetch at a time</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p982541115412">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p108251911195412">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row4825211195411"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p082521165418">Methods and attributes that are not part of the standard</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p282510111544">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p282515115540">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row15825201111543"><td class="cellrowborder" rowspan="2" valign="top" width="15%" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p12825121195416">Type Type objects and constructors</p>
</td>
<td class="cellrowborder" valign="top" width="65%" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p15825121175416">Type constructors</p>
</td>
<td class="cellrowborder" valign="top" width="10%" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p168251811105411">Y</p>
</td>
<td class="cellrowborder" valign="top" width="10%" headers="mcps1.3.3.4.2.5.1.3 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p20825191118546">-</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_row0825161119542"><td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p682541145410">Type objects</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.1 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p5825101185411">Y</p>
</td>
<td class="cellrowborder" valign="top" headers="mcps1.3.3.4.2.5.1.2 "><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p13825411105414">-</p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="section" id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_section1331571718565"><h4 class="sectiontitle">Using the Third-Party Function Library PyGreSQL to Connect to a Cluster (Linux)</h4><ol id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_ol84538175566"><li id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_li16453181785617"><span>Log in to the Linux environment as user <strong id="EN-US_TOPIC_0000001707254549__b1945319177562">root</strong>.</span></li><li id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_li134531517105615"><span>Run the following command to create the <strong id="EN-US_TOPIC_0000001707254549__b15161404551095">python_dws.py</strong> file:</span><p><div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_screen1453141714562"><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">vi</span><span class="w"> </span><span class="n">python_dws</span><span class="p">.</span><span class="n">py</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p9453121735611">Copy and paste the following content to the <strong id="EN-US_TOPIC_0000001707254549__b20807506671095">python_dws.py</strong> file:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_screen945341711567"><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>
<span class="normal">16</span>
<span class="normal">17</span>
<span class="normal">18</span>
<span class="normal">19</span>
<span class="normal">20</span>
<span class="normal">21</span>
<span class="normal">22</span>
<span class="normal">23</span>
<span class="normal">24</span>
<span class="normal">25</span>
<span class="normal">26</span>
<span class="normal">27</span>
<span class="normal">28</span>
<span class="normal">29</span>
<span class="normal">30</span>
<span class="normal">31</span>
<span class="normal">32</span>
<span class="normal">33</span>
<span class="normal">34</span>
<span class="normal">35</span>
<span class="normal">36</span>
<span class="normal">37</span>
<span class="normal">38</span>
<span class="normal">39</span>
<span class="normal">40</span>
<span class="normal">41</span>
<span class="normal">42</span>
<span class="normal">43</span>
<span class="normal">44</span>
<span class="normal">45</span>
<span class="normal">46</span>
<span class="normal">47</span>
<span class="normal">48</span>
<span class="normal">49</span>
<span class="normal">50</span>
<span class="normal">51</span>
<span class="normal">52</span>
<span class="normal">53</span>
<span class="normal">54</span>
<span class="normal">55</span>
<span class="normal">56</span>
<span class="normal">57</span>
<span class="normal">58</span>
<span class="normal">59</span>
<span class="normal">60</span>
<span class="normal">61</span>
<span class="normal">62</span>
<span class="normal">63</span>
<span class="normal">64</span>
<span class="normal">65</span>
<span class="normal">66</span>
<span class="normal">67</span>
<span class="normal">68</span>
<span class="normal">69</span>
<span class="normal">70</span>
<span class="normal">71</span>
<span class="normal">72</span>
<span class="normal">73</span>
<span class="normal">74</span>
<span class="normal">75</span>
<span class="normal">76</span>
<span class="normal">77</span>
<span class="normal">78</span>
<span class="normal">79</span>
<span class="normal">80</span>
<span class="normal">81</span>
<span class="normal">82</span>
<span class="normal">83</span>
<span class="normal">84</span>
<span class="normal">85</span>
<span class="normal">86</span>
<span class="normal">87</span>
<span class="normal">88</span>
<span class="normal">89</span>
<span class="normal">90</span>
<span class="normal">91</span>
<span class="normal">92</span>
<span class="normal">93</span>
<span class="normal">94</span>
<span class="normal">95</span>
<span class="normal">96</span></pre></div></td><td class="code"><div><pre><span></span><span class="o">#!/</span><span class="n">usr</span><span class="o">/</span><span class="n">bin</span><span class="o">/</span><span class="n">env</span><span class="w"> </span><span class="n">python3</span>
<span class="o">#</span><span class="w"> </span><span class="n">_</span><span class="o">*</span><span class="n">_</span><span class="w"> </span><span class="k">encoding</span><span class="p">:</span><span class="n">utf</span><span class="o">-</span><span class="mi">8</span><span class="w"> </span><span class="n">_</span><span class="o">*</span><span class="n">_</span>
<span class="w"> </span>
<span class="k">from</span><span class="w"> </span><span class="n">__future__</span><span class="w"> </span><span class="n">import</span><span class="w"> </span><span class="n">print_function</span>
<span class="w"> </span>
<span class="n">import</span><span class="w"> </span><span class="n">pg</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="n">def</span><span class="w"> </span><span class="n">create_table</span><span class="p">(</span><span class="k">connection</span><span class="p">):</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Begin to create table&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="n">try</span><span class="p">:</span>
<span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="n">query</span><span class="p">(</span><span class="ss">&quot;drop table if exists test;&quot;</span>
<span class="w"> </span><span class="ss">&quot;create table test(id int, name text);&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">except</span><span class="w"> </span><span class="n">pg</span><span class="p">.</span><span class="n">InternalError</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">e</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
<span class="w"> </span><span class="k">else</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Table created successfully&quot;</span><span class="p">)</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="n">def</span><span class="w"> </span><span class="n">insert_data</span><span class="p">(</span><span class="k">connection</span><span class="p">):</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Begin to insert data&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="n">try</span><span class="p">:</span>
<span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="n">query</span><span class="p">(</span><span class="ss">&quot;insert into test values(1,'number1');&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="n">query</span><span class="p">(</span><span class="ss">&quot;insert into test values(2,'number2');&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="n">query</span><span class="p">(</span><span class="ss">&quot;insert into test values(3,'number3');&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">except</span><span class="w"> </span><span class="n">pg</span><span class="p">.</span><span class="n">InternalError</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">e</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
<span class="w"> </span><span class="k">else</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Insert data successfully&quot;</span><span class="p">)</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="n">def</span><span class="w"> </span><span class="n">update_data</span><span class="p">(</span><span class="k">connection</span><span class="p">):</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Begin to update data&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="n">try</span><span class="p">:</span>
<span class="w"> </span><span class="k">result</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="n">query</span><span class="p">(</span><span class="ss">&quot;update test set name = 'numberupdated' where id=1;&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Total number of rows updated :&quot;</span><span class="p">,</span><span class="w"> </span><span class="k">result</span><span class="p">)</span>
<span class="w"> </span><span class="k">result</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="n">query</span><span class="p">(</span><span class="ss">&quot;select * from test order by 1;&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">rows</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">result</span><span class="p">.</span><span class="n">getresult</span><span class="p">()</span>
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="k">row</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="k">rows</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;id = &quot;</span><span class="p">,</span><span class="w"> </span><span class="k">row</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;name = &quot;</span><span class="p">,</span><span class="w"> </span><span class="k">row</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="w"> </span><span class="ss">&quot;\n&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">except</span><span class="w"> </span><span class="n">pg</span><span class="p">.</span><span class="n">InternalError</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">e</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
<span class="w"> </span><span class="k">else</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;After Update, Operation done successfully&quot;</span><span class="p">)</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="n">def</span><span class="w"> </span><span class="n">delete_data</span><span class="p">(</span><span class="k">connection</span><span class="p">):</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Begin to delete data&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="n">try</span><span class="p">:</span>
<span class="w"> </span><span class="k">result</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="n">query</span><span class="p">(</span><span class="ss">&quot;delete from test where id=3;&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Total number of rows deleted :&quot;</span><span class="p">,</span><span class="w"> </span><span class="k">result</span><span class="p">)</span>
<span class="w"> </span><span class="k">result</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="n">query</span><span class="p">(</span><span class="ss">&quot;select * from test order by 1;&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">rows</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">result</span><span class="p">.</span><span class="n">getresult</span><span class="p">()</span>
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="k">row</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="k">rows</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;id = &quot;</span><span class="p">,</span><span class="w"> </span><span class="k">row</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;name = &quot;</span><span class="p">,</span><span class="w"> </span><span class="k">row</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="w"> </span><span class="ss">&quot;\n&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">except</span><span class="w"> </span><span class="n">pg</span><span class="p">.</span><span class="n">InternalError</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">e</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
<span class="w"> </span><span class="k">else</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;After Delete,Operation done successfully&quot;</span><span class="p">)</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="n">def</span><span class="w"> </span><span class="n">select_data</span><span class="p">(</span><span class="k">connection</span><span class="p">):</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Begin to select data&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="n">try</span><span class="p">:</span>
<span class="w"> </span><span class="k">result</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="n">query</span><span class="p">(</span><span class="ss">&quot;select * from test order by 1;&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">rows</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">result</span><span class="p">.</span><span class="n">getresult</span><span class="p">()</span>
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="k">row</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="k">rows</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;id = &quot;</span><span class="p">,</span><span class="w"> </span><span class="k">row</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;name = &quot;</span><span class="p">,</span><span class="w"> </span><span class="k">row</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
<span class="w"> </span><span class="k">except</span><span class="w"> </span><span class="n">pg</span><span class="p">.</span><span class="n">InternalError</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">e</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;select failed&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">else</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Operation done successfully&quot;</span><span class="p">)</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="k">if</span><span class="w"> </span><span class="n">__name__</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="s1">'__main__'</span><span class="p">:</span>
<span class="w"> </span><span class="n">try</span><span class="p">:</span>
<span class="w"> </span><span class="n">conn</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">pg</span><span class="p">.</span><span class="n">DB</span><span class="p">(</span><span class="k">host</span><span class="o">=</span><span class="s1">'10.154.70.231'</span><span class="p">,</span>
<span class="w"> </span><span class="n">port</span><span class="o">=</span><span class="mi">8000</span><span class="p">,</span>
<span class="w"> </span><span class="n">dbname</span><span class="o">=</span><span class="s1">'gaussdb'</span><span class="p">,</span><span class="w"> </span><span class="o">#</span><span class="w"> </span><span class="k">Database</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="n">be</span><span class="w"> </span><span class="n">connected</span>
<span class="w"> </span><span class="k">user</span><span class="o">=</span><span class="s1">'dbadmin'</span><span class="p">,</span>
<span class="w"> </span><span class="n">passwd</span><span class="o">=</span><span class="s1">'password'</span><span class="p">)</span><span class="w"> </span><span class="o">#</span><span class="w"> </span><span class="k">Database</span><span class="w"> </span><span class="k">user</span><span class="w"> </span><span class="n">password</span>
<span class="w"> </span><span class="k">except</span><span class="w"> </span><span class="n">pg</span><span class="p">.</span><span class="n">InternalError</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">ex</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="n">ex</span><span class="p">)</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Connect database failed&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">else</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Opened database successfully&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="n">create_table</span><span class="p">(</span><span class="n">conn</span><span class="p">)</span>
<span class="w"> </span><span class="n">insert_data</span><span class="p">(</span><span class="n">conn</span><span class="p">)</span>
<span class="w"> </span><span class="n">select_data</span><span class="p">(</span><span class="n">conn</span><span class="p">)</span>
<span class="w"> </span><span class="n">update_data</span><span class="p">(</span><span class="n">conn</span><span class="p">)</span>
<span class="w"> </span><span class="n">delete_data</span><span class="p">(</span><span class="n">conn</span><span class="p">)</span>
<span class="w"> </span><span class="n">conn</span><span class="p">.</span><span class="k">close</span><span class="p">()</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p10455717195615">Alternatively, use the dbapi interface.</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_screen34551117185618"><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>
<span class="normal"> 16</span>
<span class="normal"> 17</span>
<span class="normal"> 18</span>
<span class="normal"> 19</span>
<span class="normal"> 20</span>
<span class="normal"> 21</span>
<span class="normal"> 22</span>
<span class="normal"> 23</span>
<span class="normal"> 24</span>
<span class="normal"> 25</span>
<span class="normal"> 26</span>
<span class="normal"> 27</span>
<span class="normal"> 28</span>
<span class="normal"> 29</span>
<span class="normal"> 30</span>
<span class="normal"> 31</span>
<span class="normal"> 32</span>
<span class="normal"> 33</span>
<span class="normal"> 34</span>
<span class="normal"> 35</span>
<span class="normal"> 36</span>
<span class="normal"> 37</span>
<span class="normal"> 38</span>
<span class="normal"> 39</span>
<span class="normal"> 40</span>
<span class="normal"> 41</span>
<span class="normal"> 42</span>
<span class="normal"> 43</span>
<span class="normal"> 44</span>
<span class="normal"> 45</span>
<span class="normal"> 46</span>
<span class="normal"> 47</span>
<span class="normal"> 48</span>
<span class="normal"> 49</span>
<span class="normal"> 50</span>
<span class="normal"> 51</span>
<span class="normal"> 52</span>
<span class="normal"> 53</span>
<span class="normal"> 54</span>
<span class="normal"> 55</span>
<span class="normal"> 56</span>
<span class="normal"> 57</span>
<span class="normal"> 58</span>
<span class="normal"> 59</span>
<span class="normal"> 60</span>
<span class="normal"> 61</span>
<span class="normal"> 62</span>
<span class="normal"> 63</span>
<span class="normal"> 64</span>
<span class="normal"> 65</span>
<span class="normal"> 66</span>
<span class="normal"> 67</span>
<span class="normal"> 68</span>
<span class="normal"> 69</span>
<span class="normal"> 70</span>
<span class="normal"> 71</span>
<span class="normal"> 72</span>
<span class="normal"> 73</span>
<span class="normal"> 74</span>
<span class="normal"> 75</span>
<span class="normal"> 76</span>
<span class="normal"> 77</span>
<span class="normal"> 78</span>
<span class="normal"> 79</span>
<span class="normal"> 80</span>
<span class="normal"> 81</span>
<span class="normal"> 82</span>
<span class="normal"> 83</span>
<span class="normal"> 84</span>
<span class="normal"> 85</span>
<span class="normal"> 86</span>
<span class="normal"> 87</span>
<span class="normal"> 88</span>
<span class="normal"> 89</span>
<span class="normal"> 90</span>
<span class="normal"> 91</span>
<span class="normal"> 92</span>
<span class="normal"> 93</span>
<span class="normal"> 94</span>
<span class="normal"> 95</span>
<span class="normal"> 96</span>
<span class="normal"> 97</span>
<span class="normal"> 98</span>
<span class="normal"> 99</span>
<span class="normal">100</span>
<span class="normal">101</span>
<span class="normal">102</span>
<span class="normal">103</span>
<span class="normal">104</span>
<span class="normal">105</span>
<span class="normal">106</span>
<span class="normal">107</span>
<span class="normal">108</span>
<span class="normal">109</span></pre></div></td><td class="code"><div><pre><span></span><span class="o">#!/</span><span class="n">usr</span><span class="o">/</span><span class="n">bin</span><span class="o">/</span><span class="n">python</span>
<span class="o">#</span><span class="w"> </span><span class="o">-*-</span><span class="w"> </span><span class="n">coding</span><span class="p">:</span><span class="w"> </span><span class="n">UTF</span><span class="o">-</span><span class="mi">8</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">__future__</span><span class="w"> </span><span class="n">import</span><span class="w"> </span><span class="n">print_function</span>
<span class="w"> </span>
<span class="n">import</span><span class="w"> </span><span class="n">pg</span>
<span class="n">import</span><span class="w"> </span><span class="n">pgdb</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="n">def</span><span class="w"> </span><span class="n">create_table</span><span class="p">(</span><span class="k">connection</span><span class="p">):</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Begin to create table&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="n">try</span><span class="p">:</span>
<span class="w"> </span><span class="k">cursor</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="k">cursor</span><span class="p">()</span>
<span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="k">execute</span><span class="p">(</span><span class="ss">&quot;drop table if exists test;&quot;</span>
<span class="w"> </span><span class="ss">&quot;create table test(id int, name text);&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="k">commit</span><span class="p">()</span>
<span class="w"> </span><span class="k">except</span><span class="w"> </span><span class="n">pg</span><span class="p">.</span><span class="n">InternalError</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">e</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
<span class="w"> </span><span class="k">else</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Table created successfully&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="k">close</span><span class="p">()</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="n">def</span><span class="w"> </span><span class="n">insert_data</span><span class="p">(</span><span class="k">connection</span><span class="p">):</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Begin to insert data&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="n">try</span><span class="p">:</span>
<span class="w"> </span><span class="k">cursor</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="k">cursor</span><span class="p">()</span>
<span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="k">execute</span><span class="p">(</span><span class="ss">&quot;insert into test values(1,'number1');&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="k">execute</span><span class="p">(</span><span class="ss">&quot;insert into test values(2,'number2');&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="k">execute</span><span class="p">(</span><span class="ss">&quot;insert into test values(3,'number3');&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="k">commit</span><span class="p">()</span>
<span class="w"> </span><span class="k">except</span><span class="w"> </span><span class="n">pg</span><span class="p">.</span><span class="n">InternalError</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">e</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
<span class="w"> </span><span class="k">else</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Insert data successfully&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="k">close</span><span class="p">()</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="n">def</span><span class="w"> </span><span class="n">update_data</span><span class="p">(</span><span class="k">connection</span><span class="p">):</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Begin to update data&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="n">try</span><span class="p">:</span>
<span class="w"> </span><span class="k">cursor</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="k">cursor</span><span class="p">()</span>
<span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="k">execute</span><span class="p">(</span><span class="ss">&quot;update test set name = 'numberupdated' where id=1;&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="k">commit</span><span class="p">()</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Total number of rows updated :&quot;</span><span class="p">,</span><span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="n">rowcount</span><span class="p">)</span>
<span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="k">execute</span><span class="p">(</span><span class="ss">&quot;select * from test;&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">rows</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="n">fetchall</span><span class="p">()</span>
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="k">row</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="k">rows</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;id = &quot;</span><span class="p">,</span><span class="w"> </span><span class="k">row</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;name = &quot;</span><span class="p">,</span><span class="w"> </span><span class="k">row</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="w"> </span><span class="ss">&quot;\n&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">except</span><span class="w"> </span><span class="n">pg</span><span class="p">.</span><span class="n">InternalError</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">e</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
<span class="w"> </span><span class="k">else</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;After Update, Operation done successfully&quot;</span><span class="p">)</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="n">def</span><span class="w"> </span><span class="n">delete_data</span><span class="p">(</span><span class="k">connection</span><span class="p">):</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Begin to delete data&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="n">try</span><span class="p">:</span>
<span class="w"> </span><span class="k">cursor</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="k">cursor</span><span class="p">()</span>
<span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="k">execute</span><span class="p">(</span><span class="ss">&quot;delete from test where id=3;&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="k">commit</span><span class="p">()</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Total number of rows deleted :&quot;</span><span class="p">,</span><span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="n">rowcount</span><span class="p">)</span>
<span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="k">execute</span><span class="p">(</span><span class="ss">&quot;select * from test;&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">rows</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="n">fetchall</span><span class="p">()</span>
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="k">row</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="k">rows</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;id = &quot;</span><span class="p">,</span><span class="w"> </span><span class="k">row</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;name = &quot;</span><span class="p">,</span><span class="w"> </span><span class="k">row</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="w"> </span><span class="ss">&quot;\n&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">except</span><span class="w"> </span><span class="n">pg</span><span class="p">.</span><span class="n">InternalError</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">e</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
<span class="w"> </span><span class="k">else</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;After Delete,Operation done successfully&quot;</span><span class="p">)</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="n">def</span><span class="w"> </span><span class="n">select_data</span><span class="p">(</span><span class="k">connection</span><span class="p">):</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Begin to select data&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="n">try</span><span class="p">:</span>
<span class="w"> </span><span class="k">cursor</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="k">cursor</span><span class="p">()</span>
<span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="k">execute</span><span class="p">(</span><span class="ss">&quot;select * from test;&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">rows</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="n">fetchall</span><span class="p">()</span>
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="k">row</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="k">rows</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;id = &quot;</span><span class="p">,</span><span class="w"> </span><span class="k">row</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;name = &quot;</span><span class="p">,</span><span class="w"> </span><span class="k">row</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="w"> </span><span class="ss">&quot;\n&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">except</span><span class="w"> </span><span class="n">pg</span><span class="p">.</span><span class="n">InternalError</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">e</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;select failed&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">else</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Operation done successfully&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="k">close</span><span class="p">()</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="k">if</span><span class="w"> </span><span class="n">__name__</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="s1">'__main__'</span><span class="p">:</span>
<span class="w"> </span><span class="n">try</span><span class="p">:</span>
<span class="w"> </span><span class="n">conn</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">pgdb</span><span class="p">.</span><span class="k">connect</span><span class="p">(</span><span class="k">host</span><span class="o">=</span><span class="s1">'10.154.70.231'</span><span class="p">,</span>
<span class="w"> </span><span class="n">port</span><span class="o">=</span><span class="s1">'8000'</span><span class="p">,</span>
<span class="w"> </span><span class="k">database</span><span class="o">=</span><span class="s1">'gaussdb'</span><span class="p">,</span><span class="w"> </span><span class="o">#</span><span class="w"> </span><span class="k">Database</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="n">be</span><span class="w"> </span><span class="n">connected</span>
<span class="w"> </span><span class="k">user</span><span class="o">=</span><span class="s1">'dbadmin'</span><span class="p">,</span>
<span class="w"> </span><span class="n">password</span><span class="o">=</span><span class="s1">'password'</span><span class="p">)</span><span class="w"> </span><span class="o">#</span><span class="w"> </span><span class="k">Database</span><span class="w"> </span><span class="k">user</span><span class="w"> </span><span class="n">password</span>
<span class="w"> </span><span class="k">except</span><span class="w"> </span><span class="n">pg</span><span class="p">.</span><span class="n">InternalError</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">ex</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="n">ex</span><span class="p">)</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Connect database failed&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">else</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Opened database successfully&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="n">create_table</span><span class="p">(</span><span class="n">conn</span><span class="p">)</span>
<span class="w"> </span><span class="n">insert_data</span><span class="p">(</span><span class="n">conn</span><span class="p">)</span>
<span class="w"> </span><span class="n">select_data</span><span class="p">(</span><span class="n">conn</span><span class="p">)</span>
<span class="w"> </span><span class="n">update_data</span><span class="p">(</span><span class="n">conn</span><span class="p">)</span>
<span class="w"> </span><span class="n">delete_data</span><span class="p">(</span><span class="n">conn</span><span class="p">)</span>
<span class="w"> </span><span class="n">conn</span><span class="p">.</span><span class="k">close</span><span class="p">()</span>
</pre></div></td></tr></table></div>
</div>
</p></li><li id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_li10457317175612"><span>Change the public network address, cluster port number, database name, database username, and database password in the <strong id="EN-US_TOPIC_0000001707254549__b17108331441095">python_dws.py</strong> file based on the actual cluster information.</span><p><div class="note" id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_note711295614298"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p191121156142915">The PyGreSQL API does not provide the connection retry capability. You need to implement the retry processing in the service code.</p>
</div></div>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_screen184571317185617"><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="w"> </span><span class="n">conn</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">pgdb</span><span class="p">.</span><span class="k">connect</span><span class="p">(</span><span class="k">host</span><span class="o">=</span><span class="s1">'10.154.70.231'</span><span class="p">,</span>
<span class="w"> </span><span class="n">port</span><span class="o">=</span><span class="s1">'8000'</span><span class="p">,</span>
<span class="w"> </span><span class="k">database</span><span class="o">=</span><span class="s1">'gaussdb'</span><span class="p">,</span><span class="w"> </span><span class="o">#</span><span class="w"> </span><span class="k">Database</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="n">be</span><span class="w"> </span><span class="n">connected</span>
<span class="w"> </span><span class="k">user</span><span class="o">=</span><span class="s1">'dbadmin'</span><span class="p">,</span>
<span class="w"> </span><span class="n">password</span><span class="o">=</span><span class="s1">'password'</span><span class="p">)</span><span class="w"> </span><span class="o">#</span><span class="w"> </span><span class="k">Database</span><span class="w"> </span><span class="k">user</span><span class="w"> </span><span class="n">password</span>
</pre></div></td></tr></table></div>
</div>
</p></li><li id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_li13457191711568"><span>Run the following command to connect to the cluster using the third-party function library PyGreSQL:</span><p><div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_screen0457111725614"><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">python</span><span class="w"> </span><span class="n">python_dws</span><span class="p">.</span><span class="n">py</span>
</pre></div></td></tr></table></div>
</div>
</p></li></ol>
</div>
<div class="section" id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_section17342517105618"><h4 class="sectiontitle">Using the Third-Party Function Library PyGreSQL to Connect to a Cluster (Windows)</h4><ol id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_ol7457161795611"><li id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_li1445761718565"><span>In the Windows operating system, click the <span class="uicontrol" id="EN-US_TOPIC_0000001707254549__uicontrol7126929441095"><b>Start</b></span> button, enter <strong id="EN-US_TOPIC_0000001707254549__b14126770151095">cmd</strong> in the search box, and click <strong id="EN-US_TOPIC_0000001707254549__b550145281095">cmd.exe</strong> in the result list to open the command-line interface (CLI).</span></li><li id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_li18457181745613"><span>In the CLI, run the following command to create the <strong id="EN-US_TOPIC_0000001707254549__b6958535811095">python_dws.py</strong> file:</span><p><div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_screen10457201705618"><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">type</span><span class="w"> </span><span class="n">nul</span><span class="o">&gt;</span><span class="w"> </span><span class="n">python_dws</span><span class="p">.</span><span class="n">py</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p545771785617">Copy and paste the following content to the <strong id="EN-US_TOPIC_0000001707254549__b754496281095">python_dws.py</strong> file:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_screen1245721716561"><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>
<span class="normal">16</span>
<span class="normal">17</span>
<span class="normal">18</span>
<span class="normal">19</span>
<span class="normal">20</span>
<span class="normal">21</span>
<span class="normal">22</span>
<span class="normal">23</span>
<span class="normal">24</span>
<span class="normal">25</span>
<span class="normal">26</span>
<span class="normal">27</span>
<span class="normal">28</span>
<span class="normal">29</span>
<span class="normal">30</span>
<span class="normal">31</span>
<span class="normal">32</span>
<span class="normal">33</span>
<span class="normal">34</span>
<span class="normal">35</span>
<span class="normal">36</span>
<span class="normal">37</span>
<span class="normal">38</span>
<span class="normal">39</span>
<span class="normal">40</span>
<span class="normal">41</span>
<span class="normal">42</span>
<span class="normal">43</span>
<span class="normal">44</span>
<span class="normal">45</span>
<span class="normal">46</span>
<span class="normal">47</span>
<span class="normal">48</span>
<span class="normal">49</span>
<span class="normal">50</span>
<span class="normal">51</span>
<span class="normal">52</span>
<span class="normal">53</span>
<span class="normal">54</span>
<span class="normal">55</span>
<span class="normal">56</span>
<span class="normal">57</span>
<span class="normal">58</span>
<span class="normal">59</span>
<span class="normal">60</span>
<span class="normal">61</span>
<span class="normal">62</span>
<span class="normal">63</span>
<span class="normal">64</span>
<span class="normal">65</span>
<span class="normal">66</span>
<span class="normal">67</span>
<span class="normal">68</span>
<span class="normal">69</span>
<span class="normal">70</span>
<span class="normal">71</span>
<span class="normal">72</span>
<span class="normal">73</span>
<span class="normal">74</span>
<span class="normal">75</span>
<span class="normal">76</span>
<span class="normal">77</span>
<span class="normal">78</span>
<span class="normal">79</span>
<span class="normal">80</span>
<span class="normal">81</span>
<span class="normal">82</span>
<span class="normal">83</span>
<span class="normal">84</span>
<span class="normal">85</span>
<span class="normal">86</span>
<span class="normal">87</span>
<span class="normal">88</span>
<span class="normal">89</span>
<span class="normal">90</span>
<span class="normal">91</span>
<span class="normal">92</span>
<span class="normal">93</span>
<span class="normal">94</span>
<span class="normal">95</span>
<span class="normal">96</span></pre></div></td><td class="code"><div><pre><span></span><span class="o">#!/</span><span class="n">usr</span><span class="o">/</span><span class="n">bin</span><span class="o">/</span><span class="n">env</span><span class="w"> </span><span class="n">python3</span>
<span class="o">#</span><span class="w"> </span><span class="n">_</span><span class="o">*</span><span class="n">_</span><span class="w"> </span><span class="k">encoding</span><span class="p">:</span><span class="n">utf</span><span class="o">-</span><span class="mi">8</span><span class="w"> </span><span class="n">_</span><span class="o">*</span><span class="n">_</span>
<span class="w"> </span>
<span class="k">from</span><span class="w"> </span><span class="n">__future__</span><span class="w"> </span><span class="n">import</span><span class="w"> </span><span class="n">print_function</span>
<span class="w"> </span>
<span class="n">import</span><span class="w"> </span><span class="n">pg</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="n">def</span><span class="w"> </span><span class="n">create_table</span><span class="p">(</span><span class="k">connection</span><span class="p">):</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Begin to create table&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="n">try</span><span class="p">:</span>
<span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="n">query</span><span class="p">(</span><span class="ss">&quot;drop table if exists test;&quot;</span>
<span class="w"> </span><span class="ss">&quot;create table test(id int, name text);&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">except</span><span class="w"> </span><span class="n">pg</span><span class="p">.</span><span class="n">InternalError</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">e</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
<span class="w"> </span><span class="k">else</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Table created successfully&quot;</span><span class="p">)</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="n">def</span><span class="w"> </span><span class="n">insert_data</span><span class="p">(</span><span class="k">connection</span><span class="p">):</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Begin to insert data&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="n">try</span><span class="p">:</span>
<span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="n">query</span><span class="p">(</span><span class="ss">&quot;insert into test values(1,'number1');&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="n">query</span><span class="p">(</span><span class="ss">&quot;insert into test values(2,'number2');&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="n">query</span><span class="p">(</span><span class="ss">&quot;insert into test values(3,'number3');&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">except</span><span class="w"> </span><span class="n">pg</span><span class="p">.</span><span class="n">InternalError</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">e</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
<span class="w"> </span><span class="k">else</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Insert data successfully&quot;</span><span class="p">)</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="n">def</span><span class="w"> </span><span class="n">update_data</span><span class="p">(</span><span class="k">connection</span><span class="p">):</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Begin to update data&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="n">try</span><span class="p">:</span>
<span class="w"> </span><span class="k">result</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="n">query</span><span class="p">(</span><span class="ss">&quot;update test set name = 'numberupdated' where id=1;&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Total number of rows updated :&quot;</span><span class="p">,</span><span class="w"> </span><span class="k">result</span><span class="p">)</span>
<span class="w"> </span><span class="k">result</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="n">query</span><span class="p">(</span><span class="ss">&quot;select * from test order by 1;&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">rows</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">result</span><span class="p">.</span><span class="n">getresult</span><span class="p">()</span>
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="k">row</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="k">rows</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;id = &quot;</span><span class="p">,</span><span class="w"> </span><span class="k">row</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;name = &quot;</span><span class="p">,</span><span class="w"> </span><span class="k">row</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="w"> </span><span class="ss">&quot;\n&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">except</span><span class="w"> </span><span class="n">pg</span><span class="p">.</span><span class="n">InternalError</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">e</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
<span class="w"> </span><span class="k">else</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;After Update, Operation done successfully&quot;</span><span class="p">)</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="n">def</span><span class="w"> </span><span class="n">delete_data</span><span class="p">(</span><span class="k">connection</span><span class="p">):</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Begin to delete data&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="n">try</span><span class="p">:</span>
<span class="w"> </span><span class="k">result</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="n">query</span><span class="p">(</span><span class="ss">&quot;delete from test where id=3;&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Total number of rows deleted :&quot;</span><span class="p">,</span><span class="w"> </span><span class="k">result</span><span class="p">)</span>
<span class="w"> </span><span class="k">result</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="n">query</span><span class="p">(</span><span class="ss">&quot;select * from test order by 1;&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">rows</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">result</span><span class="p">.</span><span class="n">getresult</span><span class="p">()</span>
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="k">row</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="k">rows</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;id = &quot;</span><span class="p">,</span><span class="w"> </span><span class="k">row</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;name = &quot;</span><span class="p">,</span><span class="w"> </span><span class="k">row</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="w"> </span><span class="ss">&quot;\n&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">except</span><span class="w"> </span><span class="n">pg</span><span class="p">.</span><span class="n">InternalError</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">e</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
<span class="w"> </span><span class="k">else</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;After Delete,Operation done successfully&quot;</span><span class="p">)</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="n">def</span><span class="w"> </span><span class="n">select_data</span><span class="p">(</span><span class="k">connection</span><span class="p">):</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Begin to select data&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="n">try</span><span class="p">:</span>
<span class="w"> </span><span class="k">result</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="n">query</span><span class="p">(</span><span class="ss">&quot;select * from test order by 1;&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">rows</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">result</span><span class="p">.</span><span class="n">getresult</span><span class="p">()</span>
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="k">row</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="k">rows</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;id = &quot;</span><span class="p">,</span><span class="w"> </span><span class="k">row</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;name = &quot;</span><span class="p">,</span><span class="w"> </span><span class="k">row</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
<span class="w"> </span><span class="k">except</span><span class="w"> </span><span class="n">pg</span><span class="p">.</span><span class="n">InternalError</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">e</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;select failed&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">else</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Operation done successfully&quot;</span><span class="p">)</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="k">if</span><span class="w"> </span><span class="n">__name__</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="s1">'__main__'</span><span class="p">:</span>
<span class="w"> </span><span class="n">try</span><span class="p">:</span>
<span class="w"> </span><span class="n">conn</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">pg</span><span class="p">.</span><span class="n">DB</span><span class="p">(</span><span class="k">host</span><span class="o">=</span><span class="s1">'10.154.70.231'</span><span class="p">,</span>
<span class="w"> </span><span class="n">port</span><span class="o">=</span><span class="mi">8000</span><span class="p">,</span>
<span class="w"> </span><span class="n">dbname</span><span class="o">=</span><span class="s1">'gaussdb'</span><span class="p">,</span><span class="w"> </span><span class="o">#</span><span class="w"> </span><span class="k">Database</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="n">be</span><span class="w"> </span><span class="n">connected</span>
<span class="w"> </span><span class="k">user</span><span class="o">=</span><span class="s1">'dbadmin'</span><span class="p">,</span>
<span class="w"> </span><span class="n">passwd</span><span class="o">=</span><span class="s1">'password'</span><span class="p">)</span><span class="w"> </span><span class="o">#</span><span class="w"> </span><span class="k">Database</span><span class="w"> </span><span class="k">user</span><span class="w"> </span><span class="n">password</span>
<span class="w"> </span><span class="k">except</span><span class="w"> </span><span class="n">pg</span><span class="p">.</span><span class="n">InternalError</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">ex</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="n">ex</span><span class="p">)</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Connect database failed&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">else</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Opened database successfully&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="n">create_table</span><span class="p">(</span><span class="n">conn</span><span class="p">)</span>
<span class="w"> </span><span class="n">insert_data</span><span class="p">(</span><span class="n">conn</span><span class="p">)</span>
<span class="w"> </span><span class="n">select_data</span><span class="p">(</span><span class="n">conn</span><span class="p">)</span>
<span class="w"> </span><span class="n">update_data</span><span class="p">(</span><span class="n">conn</span><span class="p">)</span>
<span class="w"> </span><span class="n">delete_data</span><span class="p">(</span><span class="n">conn</span><span class="p">)</span>
<span class="w"> </span><span class="n">conn</span><span class="p">.</span><span class="k">close</span><span class="p">()</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p846091745612">Alternatively, use the dbapi interface.</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_screen18460717155618"><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>
<span class="normal"> 16</span>
<span class="normal"> 17</span>
<span class="normal"> 18</span>
<span class="normal"> 19</span>
<span class="normal"> 20</span>
<span class="normal"> 21</span>
<span class="normal"> 22</span>
<span class="normal"> 23</span>
<span class="normal"> 24</span>
<span class="normal"> 25</span>
<span class="normal"> 26</span>
<span class="normal"> 27</span>
<span class="normal"> 28</span>
<span class="normal"> 29</span>
<span class="normal"> 30</span>
<span class="normal"> 31</span>
<span class="normal"> 32</span>
<span class="normal"> 33</span>
<span class="normal"> 34</span>
<span class="normal"> 35</span>
<span class="normal"> 36</span>
<span class="normal"> 37</span>
<span class="normal"> 38</span>
<span class="normal"> 39</span>
<span class="normal"> 40</span>
<span class="normal"> 41</span>
<span class="normal"> 42</span>
<span class="normal"> 43</span>
<span class="normal"> 44</span>
<span class="normal"> 45</span>
<span class="normal"> 46</span>
<span class="normal"> 47</span>
<span class="normal"> 48</span>
<span class="normal"> 49</span>
<span class="normal"> 50</span>
<span class="normal"> 51</span>
<span class="normal"> 52</span>
<span class="normal"> 53</span>
<span class="normal"> 54</span>
<span class="normal"> 55</span>
<span class="normal"> 56</span>
<span class="normal"> 57</span>
<span class="normal"> 58</span>
<span class="normal"> 59</span>
<span class="normal"> 60</span>
<span class="normal"> 61</span>
<span class="normal"> 62</span>
<span class="normal"> 63</span>
<span class="normal"> 64</span>
<span class="normal"> 65</span>
<span class="normal"> 66</span>
<span class="normal"> 67</span>
<span class="normal"> 68</span>
<span class="normal"> 69</span>
<span class="normal"> 70</span>
<span class="normal"> 71</span>
<span class="normal"> 72</span>
<span class="normal"> 73</span>
<span class="normal"> 74</span>
<span class="normal"> 75</span>
<span class="normal"> 76</span>
<span class="normal"> 77</span>
<span class="normal"> 78</span>
<span class="normal"> 79</span>
<span class="normal"> 80</span>
<span class="normal"> 81</span>
<span class="normal"> 82</span>
<span class="normal"> 83</span>
<span class="normal"> 84</span>
<span class="normal"> 85</span>
<span class="normal"> 86</span>
<span class="normal"> 87</span>
<span class="normal"> 88</span>
<span class="normal"> 89</span>
<span class="normal"> 90</span>
<span class="normal"> 91</span>
<span class="normal"> 92</span>
<span class="normal"> 93</span>
<span class="normal"> 94</span>
<span class="normal"> 95</span>
<span class="normal"> 96</span>
<span class="normal"> 97</span>
<span class="normal"> 98</span>
<span class="normal"> 99</span>
<span class="normal">100</span>
<span class="normal">101</span>
<span class="normal">102</span>
<span class="normal">103</span>
<span class="normal">104</span>
<span class="normal">105</span>
<span class="normal">106</span>
<span class="normal">107</span>
<span class="normal">108</span>
<span class="normal">109</span></pre></div></td><td class="code"><div><pre><span></span><span class="o">#!/</span><span class="n">usr</span><span class="o">/</span><span class="n">bin</span><span class="o">/</span><span class="n">python</span>
<span class="o">#</span><span class="w"> </span><span class="o">-*-</span><span class="w"> </span><span class="n">coding</span><span class="p">:</span><span class="w"> </span><span class="n">UTF</span><span class="o">-</span><span class="mi">8</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">__future__</span><span class="w"> </span><span class="n">import</span><span class="w"> </span><span class="n">print_function</span>
<span class="w"> </span>
<span class="n">import</span><span class="w"> </span><span class="n">pg</span>
<span class="n">import</span><span class="w"> </span><span class="n">pgdb</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="n">def</span><span class="w"> </span><span class="n">create_table</span><span class="p">(</span><span class="k">connection</span><span class="p">):</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Begin to create table&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="n">try</span><span class="p">:</span>
<span class="w"> </span><span class="k">cursor</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="k">cursor</span><span class="p">()</span>
<span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="k">execute</span><span class="p">(</span><span class="ss">&quot;drop table if exists test;&quot;</span>
<span class="w"> </span><span class="ss">&quot;create table test(id int, name text);&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="k">commit</span><span class="p">()</span>
<span class="w"> </span><span class="k">except</span><span class="w"> </span><span class="n">pg</span><span class="p">.</span><span class="n">InternalError</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">e</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
<span class="w"> </span><span class="k">else</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Table created successfully&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="k">close</span><span class="p">()</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="n">def</span><span class="w"> </span><span class="n">insert_data</span><span class="p">(</span><span class="k">connection</span><span class="p">):</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Begin to insert data&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="n">try</span><span class="p">:</span>
<span class="w"> </span><span class="k">cursor</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="k">cursor</span><span class="p">()</span>
<span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="k">execute</span><span class="p">(</span><span class="ss">&quot;insert into test values(1,'number1');&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="k">execute</span><span class="p">(</span><span class="ss">&quot;insert into test values(2,'number2');&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="k">execute</span><span class="p">(</span><span class="ss">&quot;insert into test values(3,'number3');&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="k">commit</span><span class="p">()</span>
<span class="w"> </span><span class="k">except</span><span class="w"> </span><span class="n">pg</span><span class="p">.</span><span class="n">InternalError</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">e</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
<span class="w"> </span><span class="k">else</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Insert data successfully&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="k">close</span><span class="p">()</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="n">def</span><span class="w"> </span><span class="n">update_data</span><span class="p">(</span><span class="k">connection</span><span class="p">):</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Begin to update data&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="n">try</span><span class="p">:</span>
<span class="w"> </span><span class="k">cursor</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="k">cursor</span><span class="p">()</span>
<span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="k">execute</span><span class="p">(</span><span class="ss">&quot;update test set name = 'numberupdated' where id=1;&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="k">commit</span><span class="p">()</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Total number of rows updated :&quot;</span><span class="p">,</span><span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="n">rowcount</span><span class="p">)</span>
<span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="k">execute</span><span class="p">(</span><span class="ss">&quot;select * from test;&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">rows</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="n">fetchall</span><span class="p">()</span>
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="k">row</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="k">rows</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;id = &quot;</span><span class="p">,</span><span class="w"> </span><span class="k">row</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;name = &quot;</span><span class="p">,</span><span class="w"> </span><span class="k">row</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="w"> </span><span class="ss">&quot;\n&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">except</span><span class="w"> </span><span class="n">pg</span><span class="p">.</span><span class="n">InternalError</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">e</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
<span class="w"> </span><span class="k">else</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;After Update, Operation done successfully&quot;</span><span class="p">)</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="n">def</span><span class="w"> </span><span class="n">delete_data</span><span class="p">(</span><span class="k">connection</span><span class="p">):</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Begin to delete data&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="n">try</span><span class="p">:</span>
<span class="w"> </span><span class="k">cursor</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="k">cursor</span><span class="p">()</span>
<span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="k">execute</span><span class="p">(</span><span class="ss">&quot;delete from test where id=3;&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="k">commit</span><span class="p">()</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Total number of rows deleted :&quot;</span><span class="p">,</span><span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="n">rowcount</span><span class="p">)</span>
<span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="k">execute</span><span class="p">(</span><span class="ss">&quot;select * from test;&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">rows</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="n">fetchall</span><span class="p">()</span>
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="k">row</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="k">rows</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;id = &quot;</span><span class="p">,</span><span class="w"> </span><span class="k">row</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;name = &quot;</span><span class="p">,</span><span class="w"> </span><span class="k">row</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="w"> </span><span class="ss">&quot;\n&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">except</span><span class="w"> </span><span class="n">pg</span><span class="p">.</span><span class="n">InternalError</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">e</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
<span class="w"> </span><span class="k">else</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;After Delete,Operation done successfully&quot;</span><span class="p">)</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="n">def</span><span class="w"> </span><span class="n">select_data</span><span class="p">(</span><span class="k">connection</span><span class="p">):</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Begin to select data&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="n">try</span><span class="p">:</span>
<span class="w"> </span><span class="k">cursor</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">connection</span><span class="p">.</span><span class="k">cursor</span><span class="p">()</span>
<span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="k">execute</span><span class="p">(</span><span class="ss">&quot;select * from test;&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">rows</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="n">fetchall</span><span class="p">()</span>
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="k">row</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="k">rows</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;id = &quot;</span><span class="p">,</span><span class="w"> </span><span class="k">row</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;name = &quot;</span><span class="p">,</span><span class="w"> </span><span class="k">row</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="w"> </span><span class="ss">&quot;\n&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">except</span><span class="w"> </span><span class="n">pg</span><span class="p">.</span><span class="n">InternalError</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">e</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;select failed&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">else</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Operation done successfully&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">cursor</span><span class="p">.</span><span class="k">close</span><span class="p">()</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="k">if</span><span class="w"> </span><span class="n">__name__</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="s1">'__main__'</span><span class="p">:</span>
<span class="w"> </span><span class="n">try</span><span class="p">:</span>
<span class="w"> </span><span class="n">conn</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">pgdb</span><span class="p">.</span><span class="k">connect</span><span class="p">(</span><span class="k">host</span><span class="o">=</span><span class="s1">'10.154.70.231'</span><span class="p">,</span>
<span class="w"> </span><span class="n">port</span><span class="o">=</span><span class="s1">'8000'</span><span class="p">,</span>
<span class="w"> </span><span class="k">database</span><span class="o">=</span><span class="s1">'gaussdb'</span><span class="p">,</span><span class="w"> </span><span class="o">#</span><span class="w"> </span><span class="k">Database</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="n">be</span><span class="w"> </span><span class="n">connected</span>
<span class="w"> </span><span class="k">user</span><span class="o">=</span><span class="s1">'dbadmin'</span><span class="p">,</span>
<span class="w"> </span><span class="n">password</span><span class="o">=</span><span class="s1">'password'</span><span class="p">)</span><span class="w"> </span><span class="o">#</span><span class="w"> </span><span class="k">Database</span><span class="w"> </span><span class="k">user</span><span class="w"> </span><span class="n">password</span>
<span class="w"> </span><span class="k">except</span><span class="w"> </span><span class="n">pg</span><span class="p">.</span><span class="n">InternalError</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">ex</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="n">ex</span><span class="p">)</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Connect database failed&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="k">else</span><span class="p">:</span>
<span class="w"> </span><span class="n">print</span><span class="p">(</span><span class="ss">&quot;Opened database successfully&quot;</span><span class="p">)</span>
<span class="w"> </span><span class="n">create_table</span><span class="p">(</span><span class="n">conn</span><span class="p">)</span>
<span class="w"> </span><span class="n">insert_data</span><span class="p">(</span><span class="n">conn</span><span class="p">)</span>
<span class="w"> </span><span class="n">select_data</span><span class="p">(</span><span class="n">conn</span><span class="p">)</span>
<span class="w"> </span><span class="n">update_data</span><span class="p">(</span><span class="n">conn</span><span class="p">)</span>
<span class="w"> </span><span class="n">delete_data</span><span class="p">(</span><span class="n">conn</span><span class="p">)</span>
<span class="w"> </span><span class="n">conn</span><span class="p">.</span><span class="k">close</span><span class="p">()</span>
</pre></div></td></tr></table></div>
</div>
</p></li><li id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_li174622177566"><span>Change the public network address, cluster port number, database name, database username, and database password in the <strong id="EN-US_TOPIC_0000001707254549__b302894275">python_dws.py</strong> file based on the actual cluster information.</span><p><p id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_p1846210177564">The PyGreSQL API does not provide the connection retry capability. You need to implement the retry processing in the service code.</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_screen4462161713564"><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="w"> </span><span class="n">conn</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">pgdb</span><span class="p">.</span><span class="k">connect</span><span class="p">(</span><span class="k">host</span><span class="o">=</span><span class="s1">'10.154.70.231'</span><span class="p">,</span>
<span class="w"> </span><span class="n">port</span><span class="o">=</span><span class="s1">'8000'</span><span class="p">,</span>
<span class="w"> </span><span class="k">database</span><span class="o">=</span><span class="s1">'gaussdb'</span><span class="p">,</span><span class="w"> </span><span class="o">#</span><span class="w"> </span><span class="k">Database</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="n">be</span><span class="w"> </span><span class="n">connected</span>
<span class="w"> </span><span class="k">user</span><span class="o">=</span><span class="s1">'dbadmin'</span><span class="p">,</span>
<span class="w"> </span><span class="n">password</span><span class="o">=</span><span class="s1">'password'</span><span class="p">)</span><span class="w"> </span><span class="o">#</span><span class="w"> </span><span class="k">Database</span><span class="w"> </span><span class="k">user</span><span class="w"> </span><span class="n">password</span>
</pre></div></td></tr></table></div>
</div>
</p></li><li id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_li14462917175615"><span>Run the following command to connect to the cluster using the third-party function library PyGreSQL:</span><p><div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001707254549__en-us_topic_0000001372679778_screen94623172567"><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">python</span><span class="w"> </span><span class="n">python_dws</span><span class="p">.</span><span class="n">py</span>
</pre></div></td></tr></table></div>
</div>
</p></li></ol>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="dws_01_0131.html">Cluster Connection</a></div>
</div>
</div>