ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →CData
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
PostgreSQL には多くの対応クライアントがあります。標準のドライバーからBI、アナリティクスツールまで、PostgreSQL はデータ接続の人気のインターフェースです。JDBC ドライバーを使用することで、簡単に任意の標準クライアントから接続できるPostgreSQL エントリポイントを作成できます。
AlloyDB にPostgreSQL データベースとしてアクセスするには、CData JDBC Driver for AlloyDB とJDBC foreign data wrapper (FDW) を使用します。この記事ではFDW をコンパイルしてインストールし、PostgreSQL サーバーからAlloyDB にクエリを実行します。
JDBC データソースとしてAlloyDB に接続するには、以下が必要です。
Driver クラス
cdata.jdbc.alloydb.AlloyDBDriver
AlloyDB に接続するには、次の接続プロパティが必要です。
標準認証で接続する場合は、これ以上のアクションは必要ありません。
CData 製品がサポートしている他の認証方法では、AlloyDB サーバー上のpg_hba.conf ファイルで有効化する必要があります。
AlloyDB サーバーでの認証の設定については、こちらを参照してください。
MD5
pg_hba.conf ファイルのauth-method をmd5 に設定すると、MD5 パスワード検証を使用して認証できます。
SASL
CData 製品は、SASL(特にSCRAM-SHA-256)でパスワードを検証することで認証できます。
この認証方法を使用するには、pg_hba.conf ファイルのauth-method をscram-sha-256 に設定します。
Kerberos 認証は、CData 製品が接続を試行している際にAlloyDB サーバーで開始されます。この認証方法を有効化するには、AlloyDB サーバーでKerberos を設定します。AlloyDB サーバーでのKerberos 認証の設定を完了したら、CData 製品からKerberos 認証を行う方法については、ヘルプドキュメントの「Kerberos の使用」セクションを参照してください。
JDBC URL の構成については、AlloyDB JDBC Driver に組み込まれている接続文字列デザイナを使用できます。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.alloydb.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
以下は一般的なJDBC URL です。
jdbc:alloydb:User=alloydb;Password=admin;Database=alloydb;Server=127.0.0.1;Port=5432
FDW は、PostgreSQL を再コンパイルせずに、PostgreSQL の拡張機能としてインストールできます。例としてjdbc2_fdw 拡張子を使用します。
ln -s /usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server/libjvm.so /usr/lib/libjvm.so
make install USE_PGXS=1
拡張機能をインストールした後、以下のステップに従ってAlloyDB へのクエリの実行を開始します。
CREATE EXTENSION jdbc2_fdw;
CREATE SERVER AlloyDB
FOREIGN DATA WRAPPER jdbc2_fdw OPTIONS (
drivername 'cdata.jdbc.alloydb.AlloyDBDriver',
url 'jdbc:alloydb:User=alloydb;Password=admin;Database=alloydb;Server=127.0.0.1;Port=5432',
querytimeout '15',
jarfile '/home/MyUser/CData/CData\ JDBC\ Driver\ for\ Salesforce MyDriverEdition/lib/cdata.jdbc.alloydb.jar');
CREATE USER MAPPING for postgres SERVER AlloyDB OPTIONS (
username 'admin',
password 'test');
postgres=# CREATE FOREIGN TABLE orders (
orders_id text,
orders_ShipName text,
orders_ShipCity numeric)
SERVER AlloyDB OPTIONS (
table_name 'orders');
postgres=# SELECT * FROM orders;
このようにCData JDBC Driver for AlloyDB を使って簡単にAlloyDB データを取得して検索対象にすることができました。ぜひ、30日の無償評価版 をお試しください。