Skip to content

PostgreSQL経由でEMQX Tablesに接続する

EMQX TablesはPostgreSQL v3ワイヤープロトコルによるアクセスをサポートしています。つまり、ほとんどの標準的なPostgreSQL互換ツールやドライバーがプロトコルレベルで正常に接続可能です。

注意: 接続はPostgreSQLワイヤープロトコルを利用していますが、EMQX TablesはPostgreSQLの完全なSQL方言をサポートしていません。標準的なSQL機能やステートメントの一部は利用できない場合があります。

接続はTLS暗号化によって保護されています。

接続パラメータ

以下の情報を使って接続してください。ホスト名、データベース名、ポートはEMQX TablesのDeployment Overviewページで確認できます。ユーザー名とパスワードはUser Managementで作成・管理してください。

  • Host: {YOUR_EMQX_TABLES_PUBLIC_HOST}
  • Port: 4003
  • Database: {YOUR_EMQX_TABLES_DB_NAME}
  • Username: {YOUR_EMQX_TABLES_USERNAME}
  • Password: {YOUR_EMQX_TABLES_PASSWORD}

PostgreSQL CLI(psql

標準のpsqlコマンドラインツールを使ってEMQX Tablesに接続できます。

bash
psql -h {HOST} -p 4003 -U {USER} -d {DB_NAME} -W

接続文字列

psycopgrust-postgresなどの互換クライアントライブラリで以下の形式を使用します。

text
host={HOST} port=4003 dbname={DB_NAME} user={USER} password=~~{PASSWORD}~~

URL形式

PostgreSQL互換のJDBCやPythonクライアントで以下の形式を使用してください。

JDBC(Java):

text
jdbc:postgresql://{HOST}:4003/{DB_NAME}?user={USER}&password=~~{PASSWORD}~~&ssl=true

Python / その他:

text
postgresql://{USER}:~~{PASSWORD}~~@{HOST}:4003/{DB_NAME}

Postgres Foreign Data Wrapper(FDW)

postgres_fdwを使ってEMQX Tablesを別のPostgreSQLインスタンスに統合できます。{HOST}{DB_NAME}{USER}{PASSWORD}は実際のEMQX Tables接続情報に置き換えてください。

sql
CREATE SERVER emqx_tables
FOREIGN DATA WRAPPER postgres_fdw
OPTIONS (host '{HOST}', dbname '{DB_NAME}', port '4003');

CREATE USER MAPPING FOR postgres
SERVER emqx_tables
OPTIONS (user '{USER}', password '~~{PASSWORD}~~');