クラウドデータベース AnalyticDB for PostgreSQL は PostgreSQL 8.2 のメッセージプロトコルと完全な互換性があり、 libpq、JDBC、ODBC、psycopg2、pgadmin III などの PostgreSQL 8.2 のメッセージプロトコルに対応しているツールに直接アクセスできます。

Greenplum は JDBC、ODBC、libpq を含むインストールパッケージを提供しており、それを利用すると簡単にインストールできます。 詳細は、Greenplum の公式文書をご参照ください。

GUI ツール

AnalyticDB for PostgreSQL のユーザーは、 SQL WorkbenchNavicat PremiumNavicat For PostgreSQLpgAdmin III (1.6.3) といった Greenplum 対応のグラフィカルなクライアントツールをそのまま利用できます。

以下では、pgAdmin III を例にグラフィカルクライアントツールの使用方法を説明します。

pgAdmin III

pgAdmin III は PostgreSQL の GUI クライアントで、HybridDB for PostgreSQL へ直接接続できます。 HybridDB for PostgreSQL. 詳細については、『pgAdmin 公式サイト 』をご参照ください。

pgAdmin III 1.6.3 は『PostgreSQL 公式サイト』からダウンロードできます。 pgAdmin III 1.6.3 は Windows、MacOS、Linuxなどさまざまプラットフォームをサポートしています。

AnalyticDB for PostgreSQL は PostgreSQL 8.2 と互換性があるため、pgAdmin もそれに対応するバージョンのものを使用する必要があります。 pgAdmin III 1.6.3 またはそれ以前のバージョンのものをご使用ください。

      
  1. <p class="p" id="p-xio-g4d-rw1"><strong class="ph b" id="b-6z4-0kl-xlh">手順</strong></p>
  2. <ol class="ol" id="ol-p1t-cwq-gfb">
  3. <li class="li" id="li-zeo-24u-put">
  4. <p class="p" id="p-awl-eba-o9p">pgAdmin III 1.6.3 またはそれ以前のバージョンをダウンロードしてインストールします。</p>
  5. </li>
  6. <li class="li" id="li-36m-jfl-zrk">
  7. <p class="p" id="p-nje-94k-9vr">[ファイル]、[サーバーの追加] を選択し、 <span class="ph menucascade" id="menucascade-gds-js6-y4u"><span class="ph uicontrol" id="uicontrol-lix-ew5-qzp">File</span><abbr> &gt; </abbr><span class="ph uicontrol" id="uicontrol-4kr-xhx-wfe">Add Server</span></span><span class="keyword wintitle" id="wintitle-who-5kw-51e">[新しいサーバーの登録]</span> ページを開きます。
  8. </p>
  9. </li>
  10. <li class="li" id="li-5tz-kvm-t85">
  11. <p class="p" id="p-1dp-iiw-2oi">次の図のとおりに <span class="ph uicontrol" id="uicontrol-iij-d48-uch">[プロパティ]</span> を入力します。
  12. </p>
  13. <div class="p" id="p-153-hkn-14v"><br><img class="image" id="image-q1t-cwq-gfb" src="http://help-static-aliyun-doc.aliyuncs.com/assets/img/16845/156205482312878_ja-JP.png"><br></div>
  14. </li>
  15. <li class="li" id="li-1g0-10m-30x">
  16. <p class="p" id="p-03x-clx-5vv"><span class="ph uicontrol" id="uicontrol-s8e-ksk-urb">[OK]</span> をクリックして AnalyticDB for PostgreSQL データベースに接続します。
  17. </p>
  18. </li>
  19. </ol>
  20. </section>
  21. <section class="section" id="section-xvx-kct-1yh">
  22. <h2 class="title sectiontitle" id="title-jx6-lxv-686">コマンドラインツール</h2>
  23. <p class="p" id="p-2is-fuf-ey8">下記のようなコマンドラインツールを使用して AnalyticDB for PostgreSQL インスタンスのデータベースに接続することもできます。</p>
  24. <p class="p" id="p-t0q-hy4-jx0"><strong class="ph b" id="b-ah5-994-xn3">psql</strong></p>
  25. <p class="p" id="p-vjs-pwd-d2v">psql は、Red Hat Enterprise Linux (RHEL) 6、RHEL 7、CentOS 6、CentOS 7 の AnalyticDB for
  26. PostgreSQL 向けの一般的なコマンドラインクライアントツールです。 Alibaba Cloud は、解凍後すぐに使えるソフトウェアパッケージの圧縮ファイルを提供しています。
  27. </p>
  28. <ul class="ul" id="ul-r1t-cwq-gfb">
  29. <li class="li" id="li-0z0-ndf-bqr">
  30. <p class="p" id="p-2op-i51-fjo">RHEL 6 または CentOS 6 プラットフォーム用は、<a title="" href="http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/43729/cn_zh/1483450178261/apsaradb_for_gp_client_package.redhat.el6.x86_64.tar.gz">ダウンロード</a>をクリックして下さい。
  31. </p>
  32. </li>
  33. <li class="li" id="li-r7t-mw6-3aj">
  34. <p class="p" id="p-jui-b8t-xgs">RHEL 7 または CentOS 7 プラットフォーム用は、<a title="" href="http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/43729/cn_zh/1483450208287/apsaradb_for_gp_client_package.redhat.el7.x86_64.tar">ダウンロード</a>をクリックして下さい。
  35. </p>
  36. </li>
  37. </ul>
  38. <p class="p" id="p-erc-xz7-73u">他の Linux プラットフォームについては、ソースコードをダウンロードし、コンパイルとインストールを行って下さい。 コンパイル方法は次のとおりです。</p>
  39. <ol class="ol" id="ol-snj-myq-gfb">
  40. <li class="li" id="li-tin-mm3-mv0">ソースコードを入手するには、次の 2 通りの方法があります。
  41. <ul class="ul" id="ul-s1t-cwq-gfb">
  42. <li class="li" id="li-fm7-ghp-94z">
  43. <p class="p" id="p-wlh-2ws-ijs">git ディレクトリを入手する (git がインストールされていることをご確認ください)。 git tool).</p>
  44. <pre class="pre codeblock" id="codeblock-uyg-gku-ld2"><code>git clone https://github.com/greenplum-db/gpdb.git

cd gpdbgit checkout 5d870156

      
  1. <li class="li" id="li-k1d-3iz-7l7">
  2. <p class="p" id="p-min-zct-efe">コードを直接ダウンロードする</p>
  3. <pre class="pre codeblock" id="codeblock-tc8-rp4-b5b"><code>wget https://github.com/greenplum-db/gpdb/archive/5d87015609abd330c68a5402c1267fc86cbc9e1f.zip

unzip 5d87015609abd330c68a5402c1267fc86cbc9e1f.zipcd gpdb-5d87015609abd330c68a5402c1267fc86cbc9e1f

      
  1. </ul>
  2. </li>
  3. <li class="li" id="li-vap-zq3-xsj">コードのコンパイルやソフトウェアのインストールには、GCC などのコンパイラーが必要です software.
  4. <pre class="pre codeblock" id="codeblock-hi9-ac3-w0x"><code>./configure

make -j32make install

      
  1. </ol>
  2. <p class="p" id="p-6as-166-hdm">インストール完了後、psql のパスは次のようになります。</p>
  3. <pre class="pre codeblock" id="codeblock-ux3-lzi-9qc"><code>psql: `/usr/local/pgsql/bin/psql`</code></pre>
  4. <p class="p" id="p-wdn-h7x-og9">上記ディレクトリに移動して psql を実行すると、AnalyticDB for PostgreSQL インスタンスのデータベースに接続できます。 手順は次のとおりです。</p>
  5. <ol class="ol" id="ol-x1t-cwq-gfb">
  6. <li class="li" id="li-x1m-kwq-7ub">
  7. <p class="p" id="p-yeu-n1j-vfa">以下のいずれかの方法でデータベースに接続します。</p>
  8. <ul class="ul" id="ul-y1t-cwq-gfb">
  9. <li class="li" id="li-ks2-981-cxo">
  10. <p class="p" id="p-m9h-34l-5hi">接続文字列</p>
  11. <pre class="pre codeblock" id="codeblock-87h-xja-h16"><code>psql "host=yourgpdbaddress.gpdb.rds.aliyuncs.com port=3432 dbname=postgres user=gpdbaccount password=gpdbpassword"</code></pre>
  12. </li>
  13. <li class="li" id="li-ovx-tmm-a3a">
  14. <p class="p" id="p-5e3-7qk-b8g">パラメータの指定</p>
  15. <pre class="pre codeblock" id="codeblock-ums-csb-hhf"><code>psql -h yourgpdbaddress.gpdb.rds.aliyuncs.com -p 3568 -d postgres -U gpdbaccount</code></pre>
  16. <p class="p" id="p-f4c-bd5-zg8">パラメータの説明</p>
  17. <ul class="ul" id="ul-mua-mom-cxj">
  18. <li class="li" id="li-c4n-fow-9s3">-h: ホストアドレスを指定します。</li>
  19. <li class="li" id="li-4tz-fvh-j2j">-p: ポート番号を指定します。</li>
  20. <li class="li" id="li-tny-dft-eln">-d: データベースを指定します (デフォルトのデータベースは postgres です)。</li>
  21. <li class="li" id="li-8t9-ctu-7b7">
  22. <p class="p" id="p-b3y-e3u-z5u">-U: 接続ユーザーを指定します。</p>
  23. </li>
  24. </ul>
  25. <p class="p" id="p-quw-dci-3v7">その他のパラメータについては、 <code class="ph codeph" id="codeph-g1g-qxc-x3c">psql-- help</code> を実行すると参照できます。 また、 psql プロンプトで <code class="ph codeph" id="codeph-rw9-msi-giq">\?</code> を実行すると、サポートされている psql のコマンドを表示できます。
  26. </p>
  27. </li>
  28. </ul>
  29. </li>
  30. <li class="li" id="li-rb1-q45-j6y">
  31. <p class="p" id="p-bnr-wnn-loi">パスワードを入力して psql シェルインターフェイスに入ります。 psql シェル は次のように表示されます。 </p>
  32. <pre class="pre codeblock" id="codeblock-cs7-ejg-ly6"><code>postgres=&gt;</code></pre>
  33. </li>
  34. </ol>
  35. <p class="p" id="p-add-pgl-f8e"><strong class="ph b" id="b-zer-by7-1ky">リファレンス</strong></p>
  36. <ul class="ul" id="ul-cbt-cwq-gfb">
  37. <li class="li" id="li-x5z-y5s-euf">Greenplum psql の詳細な使用方法については、<a title="" href="http://gpdb.docs.pivotal.io/4340/client_tool_guides/client/unix/psql.html">psql</a> をご参照ください。
  38. </li>
  39. <li class="li" id="li-i3a-sgt-z9e">PostgreSQL の psql コマンドも使用できますが、細かい使い方が異なることにご注意ください。 詳細については、<a title="" href="https://www.postgresql.org/docs/8.3/static/app-psql.html">『PostgreSQL 8.3.23 Documentation — psql』</a>をご参照ください。
  40. </li>
  41. </ul>
  42. <p class="p" id="p-7tf-mlm-4wa"><strong class="ph b" id="b-tzf-k67-6h9">JDBC</strong></p>
  43. <p class="p" id="p-shg-v0v-87t">JDBC を使用して AnalyticDB for PostgreSQL インスタンスのデータベースに接続することができます。 ツールの入手方法は 2 通りあります。</p>
  44. <ul class="ul" id="ul-dbt-cwq-gfb">
  45. <li class="li" id="li-6j9-hdu-aaw">
  46. <p class="p" id="p-hx0-6br-58g"><a title="" href="https://jdbc.postgresql.org/">『PostgreSQL JDBC Driver』</a>をクリックして PostgreSQL 公式ウェブサイトから JDBC をダウンロードします。 使用前に、ダウンロードした JDBC をクラス変数 <span class="keyword parmname" id="parmname-1y3-q1u-7w9">CLASSPATH</span> に追加します。
  47. </p>
  48. </li>
  49. <li class="li" id="li-hqx-1mc-lrj">
  50. <p class="p" id="p-r7d-284-8n5">Greenplum 公式サイトのツールパッケージを使用します。 詳細については、<a title="" href="http://gpdb.docs.pivotal.io/4380/client_tool_guides/drivers/unix/unix_connect.html">『Greenplum Database 4.3 Connectivity Tools for UNIX』</a>をご参照ください。
  51. </p>
  52. </li>
  53. </ul>
  54. <p class="p" id="p-wr6-006-jym">以下にコード例を参考として示します。 適宜変更の上、ご使用ください。</p>
  55. <p class="p" id="p-gi2-f3w-hnw"><strong class="ph b" id="b-msz-hs9-mvo">コード例</strong></p>
  56. <pre class="pre codeblock" id="codeblock-owx-7yl-39d"><code>import java.sql.Connection;

import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class gp_conn { public static void main(String[] args) { try { Class.forName(“org.postgresql.Driver”); Connection db = DriverManager.getConnection(“jdbc:postgresql://mygpdbpub.gpdb.rds.aliyuncs.com:3432/postgres”,”mygpdb”,”mygpdb”); Statement st = db.createStatement(); ResultSet rs = st.executeQuery(“select * from gp_segment_configuration;”); while (rs.next()) { System.out.print(rs.getString(1)); System.out.print(“ | “); System.out.print(rs.getString(2)); System.out.print(“ | “); System.out.print(rs.getString(3)); System.out.print(“ | “); System.out.print(rs.getString(4)); System.out.print(“ | “); System.out.print(rs.getString(5)); System.out.print(“ | “); System.out.print(rs.getString(6)); System.out.print(“ | “); System.out.print(rs.getString(7)); System.out.print(“ | “); System.out.print(rs.getString(8)); System.out.print(“ | “); System.out.print(rs.getString(9)); System.out.print(“ | “); System.out.print(rs.getString(10)); System.out.print(“ | “); System.out.println(rs.getString(11)); } rs.close(); st.close(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } }}

詳細は、『PostgreSQL JDBC Interface』をご参照ください。

      
  1. <p class="p" id="p-nb2-q3e-mqg"><strong class="ph b" id="b-8ov-igx-d5u">Python</strong></p>
  2. <p class="p" id="p-pnj-231-04z">Python を使って AnalyticDB for PostgreSQL インスタンスのデータベースに接続することもできます。 Python は psycopg2
  3. ライブラリを使って Greenplum とPostgreSQL に接続します。 ツールの使用手順は次のとおりです。
  4. </p>
  5. <ol class="ol" id="ol-fbt-cwq-gfb">
  6. <li class="li" id="li-mv6-ejt-pui">
  7. <p class="p" id="p-z96-txg-2y9">psycopg2 をインストールします。 CentOS では、3 種類の方法があります。</p>
  8. <ul class="ul" id="ul-gbt-cwq-gfb">
  9. <li class="li" id="li-v0g-r7z-jbi">
  10. <p class="p" id="p-u64-r6y-ong"><code class="ph codeph" id="codeph-9o2-lnb-pdy">yum -y install python-psycopg2</code> を実行します。
  11. </p>
  12. </li>
  13. <li class="li" id="li-hlc-4b0-m9c">
  14. <p class="p" id="p-xmm-38o-kr1"><code class="ph codeph" id="codeph-be6-mic-puw">pip install psycopg2</code> を実行します。
  15. </p>
  16. </li>
  17. <li class="li" id="li-obo-qe9-nkd">
  18. <p class="p" id="p-ln4-urs-9hu">ソースコードからインストールします。</p>
  19. <pre class="pre codeblock" id="codeblock-op8-rnt-t4d"><code> yum install -y postgresql-devel*

wget http://initd.org/psycopg/tarballs/PSYCOPG-2-6/psycopg2-2.6.tar.gz tar xf psycopg2-2.6.tar.gz cd psycopg2-2.6 python setup.py build sudo python setup.py install

      
  1. </ul>
  2. </li>
  3. <li class="li" id="li-r2n-490-9ex">
  4. <p class="p" id="p-7w5-o94-ju3">インストール完了後、環境変数 <span class="keyword parmname" id="parmname-wbb-nbi-z6b">PYTHONPATH</span> を設定してから使用します。 例 :
  5. </p>
  6. <pre class="pre codeblock" id="codeblock-lvm-asx-5ry"><code> import psycopg2

sql = ‘select * from gp_segment_configuration;’ conn = psycopg2.connect(database=’gpdb’, user=’mygpdb’, password=’mygpdb’, host=’mygpdbpub.gpdb.rds.aliyuncs.com’, port=3432) conn.autocommit = True cursor = conn.cursor() cursor.execute(sql) rows = cursor.fetchall() for row in rows: print row conn.commit() conn.close()

次のような結果が返されます。

      
  1. (1, -1, p’, p’, s’, u’, 3022, 192.168.2.158’, 192.168.2.158’, None, None)(6, -1, m’, m’, s’, u’, 3019, 192.168.2.47’, 192.168.2.47’, None, None)(2, 0, p’, p’, s’, u’, 3025, 192.168.2.148’, 192.168.2.148’, 3525, None)(4, 0, m’, m’, s’, u’, 3024, 192.168.2.158’, 192.168.2.158’, 3524, None)(3, 1, p’, p’, s’, u’, 3023, 192.168.2.158’, 192.168.2.158’, 3523, None)(5, 1, m’, m’, s’, u’, 3026, 192.168.2.148’, 192.168.2.148’, 3526, None)

      
  1. </ol>
  2. <p class="p" id="p-171-rxj-4ya"><strong class="ph b" id="b-s37-5ey-k4w">libpq</strong></p>
  3. <p class="p" id="p-l44-xlc-2v0">libpq は PostgreSQL データベースの C 言語インターフェイスです。 C 言語のプログラムから libpq を使ってPostgreSQL データベースにアクセスし、操作することができます。Greenplum
  4. or または PostgreSQL をインストールすると、<em class="ph i" id="i-a8u-e1i-ydx">lib</em> ディレクトリに静的ライブラリと動的ライブラリが格納されています。
  5. </p>
  6. <ul class="ul" id="ul-kbt-cwq-gfb">
  7. <li class="li" id="li-nef-gkl-12d">関連する事例については、<a title="" href="http://www.postgresql.org/docs/8.3/static/libpq-example.html">『libpq Example Programs』</a>をご参照ください。
  8. </li>
  9. <li class="li" id="li-7jq-5s8-q3u">libpq の詳細については、<a title="" href="http://www.postgresql.org/docs/9.4/static/libpq.html">『PostgreSQL 9.4 Documentation - Chapter 31. libpq - C Library』</a>をご参照ください。
  10. </li>
  11. </ul>
  12. <p class="p" id="p-xb5-330-for"><strong class="ph b" id="b-lfe-nnd-f3v">ODBC</strong></p>
  13. <p class="p" id="p-wuz-mzu-sti">PostgreSQL ODBC は、LGPL (GNU Lesser General Public License) プロトコルに基づくオープンソース版です。 <a title="" href="https://odbc.postgresql.org/">『PostgreSQL 公式ウェブサイト』</a> からダウンロードできます。
  14. </p>
  15. <p class="p" id="p-2rm-47r-8o8"><strong class="ph b" id="b-ppc-rvg-m7e">手順</strong></p>
  16. <ol class="ol" id="ol-lbt-cwq-gfb">
  17. <li class="li" id="li-n05-mka-1pz">
  18. <p class="p" id="p-06d-1jf-o4d">ドライバをインストールします。</p>
  19. <pre class="pre codeblock" id="codeblock-ibf-f01-56a"><code>yum install -y unixODBC.x86_64

yum install -y postgresql-odbc.x86_64

      
  1. <li class="li" id="li-m33-s5k-l6u">
  2. <p class="p" id="p-36f-ccu-k18">ドライバの設定を確認します。</p>
  3. <pre class="pre codeblock" id="codeblock-ikt-ct9-vpk"><code>cat /etc/odbcinst.ini

Driver from the postgresql-odbc package

Setup from the unixODBC package

[PostgreSQL]Description = ODBC for PostgreSQLDriver = /usr/lib/psqlodbcw.soSetup = /usr/lib/libodbcpsqlS.soDriver64 = /usr/lib64/psqlodbcw.soSetup64 = /usr/lib64/libodbcpsqlS.soFileUsage = 1

Driver from the mysql-connector-odbc package

Setup from the unixODBC package

[MySQL]Description = ODBC for MySQLDriver = /usr/lib/libmyodbc5.soSetup = /usr/lib/libodbcmyS.soDriver64 = /usr/lib64/libmyodbc5.soSetup64 = /usr/lib64/libodbcmyS.soFileUsage = 1

      
  1. <li class="li" id="li-wuo-9fk-xcy">
  2. <p class="p" id="p-bn8-71n-ei0">次のコードのように DSN を設定します。 コード中の <code class="ph codeph" id="codeph-8nj-vnj-uwv">****</code> の部分を、実際の接続情報に変更してください。
  3. </p>
  4. <pre class="pre codeblock" id="codeblock-9st-tpp-v8r"><code>[mygpdb]

Description = Test to gpDriver = PostgreSQLDatabase = Servername = .gpdb.rds.aliyuncs.comUserName = Password = Port = **ReadOnly = 0

      
  1. <li class="li" id="li-2l1-79y-cmr">
  2. <p class="p" id="p-y4d-ykz-el2">接続のテスト</p>
  3. <pre class="pre codeblock" id="codeblock-brs-t82-c1l"><code>echo "select count(*) from pg_class" | isql mygpdb

+———————————————————-+| Connected! || || sql-statement || help [tablename] || quit || |+———————————————————-+SQL> select count(*) from pg_class+——————————-+| count |+——————————-+| 388 |+——————————-+SQLRowCount returns 11 rows fetched

      
  1. <li class="li" id="li-4sf-hvl-hnt">
  2. <p class="p" id="p-vbe-bu0-jwd">ODBC がインスタンスに接続されたら、アプリケーションを ODBC に接続します。 詳細は、<a title="" href="https://odbc.postgresql.org/">『PostgreSQL ODBC driver』</a><a title="" href="https://odbc.postgresql.org/howto-csharp.html">『psqlODBC HOWTO - C#』</a>をご参照ください。
  3. </p>
  4. </li>
  5. </ol>
  6. </section>
  7. <section class="section" id="section-2h2-bly-yzj">
  8. <h2 class="title sectiontitle" id="title-f0k-7ln-m3e">Windows およびその他のプラットフォーム</h2>
  9. <p class="p" id="p-1hf-juo-zvn"><a title="" href="https://network.pivotal.io/products/pivotal-gpdb#/releases/2059/file-groups/408">『Pivotal Greenplum Client』</a>から、Windows やその他のプラットフォーム用のクライアントツールをダウンロードできます。
  10. </p>
  11. </section>
  12. <section class="section" id="section-7ej-kel-h8g">
  13. <h2 class="title sectiontitle" id="title-1xa-70q-na9">リファレンス</h2>
  14. <ul class="ul" id="ul-qbt-cwq-gfb">
  15. <li class="li" id="li-6z1-gw9-va3"><a title="" href="http://gpdb.docs.pivotal.io/4380/common/welcome.html">Pivotal Greenplum 公式文書</a></li>
  16. <li class="li" id="li-4ik-irv-jmi"><a title="" href="https://odbc.postgresql.org/">PostgreSQL psql ODBC</a></li>
  17. <li class="li" id="li-5e4-5i1-yh8"><a title="" href="https://odbc.postgresql.org/docs/unix-compilation.html">PostgreSQL ODBC のコンパイル</a></li>
  18. <li class="li" id="li-jx1-wxu-43k"><a title="" href="https://www.progress.com/odbc/pivotal-greenplum">Greenplum ODBC のダウンロード</a></li>
  19. <li class="li" id="li-ihr-dx5-1zu"><a title="" href="https://www.progress.com/jdbc/pivotal-greenplum">Greenplum JDBC のダウンロード</a></li>
  20. </ul>
  21. </section>
  22. </div>
  23. </article>
  24. </main>