このトピックでは、PolarDB for PostgreSQL (Oracle 互換) 1.0 コネクタの使用方法について説明します。
PolarDB for PostgreSQL (Oracle 互換) 1.0 コネクタは、将来のリリースで非推奨になる予定です。このコネクタのオプションはコンソールから削除され、メンテナンスや更新は行われなくなります。詳細については、「PolarDB for PostgreSQL (Oracle 互換) 1.0 コネクタのサポート終了 (EOS)」をご参照ください。サービスの中断を防ぐために、できるだけ早くワークロードを移行することを推奨します。
背景情報
PolarDB for PostgreSQL (Oracle 互換) は、Alibaba Cloud が開発した次世代のクラウドネイティブデータベースです。ストレージとコンピューティングの分離アーキテクチャに基づいて構築されており、弾力的で高性能、大規模にスケーラブル、安全で信頼性の高いデータベースサービスを提供し、Oracle との高い互換性を備えています。
次の表に、PolarDB for PostgreSQL (Oracle 互換) 1.0 コネクタの機能を示します。
カテゴリ | 説明 |
サポートされているタイプ | シンクテーブル |
実行モード | ストリーミングおよびバッチ |
データフォーマット | N/A |
コネクタメトリック |
説明 これらのメトリックの詳細については、「モニタリングメトリック」をご参照ください。 |
API タイプ | SQL |
更新および削除のサポート | サポート済み |
前提条件
PolarDB for PostgreSQL (Oracle 互換) 1.0 のクラスターとテーブルを作成します。詳細については、「PolarDB for PostgreSQL (Oracle 互換) クラスターの作成」および「テーブルの作成」をご参照ください。
クラスターのホワイトリストを設定します。詳細については、「クラスターのホワイトリストの設定」をご参照ください。
制限事項
PolarDB for PostgreSQL (Oracle 互換) 1.0 コネクタは、PolarDB 1.0 のみをサポートします。PolarDB 2.0 はサポートしていません。PolarDB 2.0 の場合は、JDBC コネクタの使用を推奨します。
このコネクタは、Ververica Runtime (VVR) 8.0.5 以降でのみサポートされます。
構文
CREATE TABLE polardbo_table (
id INT,
len INT,
content VARCHAR,
PRIMARY KEY(id)
) WITH (
'connector'='polardbo',
'url'='jdbc:postgresql://<Address>:<PortId>/<DatabaseName>',
'tableName'='<yourDatabaseTableName>',
'userName'='<yourDatabaseUserName>',
'password'='<yourDatabasePassword>'
);パラメーター
パラメーター | 説明 | 型 | 必須 | デフォルト | 備考 |
connector | コネクタのタイプ。 | String | はい | N/A |
|
url | データベースの JDBC URL。 | String | はい | N/A | フォーマット: |
tableName | データベーステーブルの名前。 | String | はい | N/A | N/A |
userName | データベースに接続するためのユーザー名。 | String | はい | N/A | N/A |
password | データベースに接続するためのパスワード。 | String | はい | N/A | セキュリティを強化するために、認証情報をプレーンテキストでハードコーディングする代わりに、プロジェクト変数を使用します。詳細については、「変数管理」をご参照ください。 |
maxRetryTimes | 失敗した書き込み操作の最大リトライ回数。 | Integer | いいえ | 3 | N/A |
targetSchema | スキーマの名前。 | String | いいえ | public | N/A |
caseSensitive | テーブル名とフィールド名で大文字と小文字を区別するかどうかを指定します。 | String | いいえ | false | 有効値:
|
connectionMaxActive | 接続プール内のアクティブな接続の最大数。 | Integer | いいえ | 5 | システムは、データベースサービスへのアイドル接続を自動的に解放します。 重要 このパラメーターを過度に大きな値に設定すると、接続によってサーバーに過負荷がかかる可能性があります。 |
retryWaitTime | リトライの間隔。 | Integer | いいえ | 100 | 単位:ミリ秒。 |
batchSize | 1 回のバッチで書き込むレコード数。 | Integer | いいえ | 500 | N/A |
flushIntervalMs | フラッシュ間隔。この間隔内にキャッシュされたレコード数が | Integer | いいえ | N/A | 単位:ミリ秒。 |
writeMode | 書き込みモード。 | String | いいえ | insert | 有効値:
|
conflictMode |
| String | いいえ | strict | 有効値:
|
データ型マッピング
次の表は、コネクタが結果テーブルに使用される場合の、Flink データ型と PolarDB for PostgreSQL (Oracle 互換) 1.0 データ型のマッピングを示しています。
PolarDB 型 | Flink 型 |
BOOLEAN | BOOLEAN |
INT | INT |
NUMBER | BIGINT |
NUMBER | DOUBLE |
VARCHAR | VARCHAR |
TIMESTAMP | TIMESTAMP |
VARCHAR | DATE |
例
結果テーブル
CREATE TEMPORARY TABLE datagen_source ( `name` VARCHAR, `age` INT ) COMMENT 'datagen ソーステーブル' WITH ( 'connector' = 'datagen' ); CREATE TABLE polardbo_sink ( name VARCHAR, age INT ) WITH ( 'connector'='polardbo', 'url'='jdbc:postgresql://<Address>:<PortId>/<DatabaseName>', 'tableName'='<yourDatabaseTableName>', 'userName'='<yourDatabaseUserName>', 'password'='<yourDatabasePassword>' ); INSERT INTO polardbo_sink SELECT * FROM datagen_source;